| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 48577
|
|
|
|
| |
llvm-svn: 48222
|
|
|
|
| |
llvm-svn: 48167
|
|
|
|
| |
llvm-svn: 48126
|
|
|
|
|
|
| |
pattern their used in. This will be used to allow insert/extract subreg patterns in .td files!
llvm-svn: 48125
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
were being pruned in patterns where a variable was used more than once, e.g.:
(or (and R32C:$rA, R32C:$rC), (and R32C:$rB, (not R32C:$rC)))
In this example, $rC is used more than once and is actually significant to
instruction selection pattern matching when commuted variants are produced.
This patch scans the pattern's clauses and collects the variables, creating
a set of variables that are used more than once. TreePatternNode::isIsomorphicTo()
also understands that multiply-used variables are significant.
llvm-svn: 47950
|
|
|
|
| |
llvm-svn: 47595
|
|
|
|
|
|
| |
annoying warnings.
llvm-svn: 47367
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tblgen will complain if a sign-extended constant does not fit into a
data type smaller than i32, e.g., i16. This causes a problem when certain
hex constants are used, such as 0xff for byte masks or immediate xor
values.
tblgen will try the sign-extended value first and, if the sign extended
value would overflow, it tries to see if the unsigned value will fit.
Consequently, a software developer can now safely incant:
(XORHIr16 R16C:$rA, 0xffff)
which is somewhat clearer and more informative than incanting:
(XORHIr16 R16C:$rA, (i16 -1))
even if the two are bitwise equivalent.
Tblgen also outputs the 64-bit unsigned constant in the generated ISel code
when getTargetConstant() is invoked.
llvm-svn: 47188
|
|
|
|
| |
llvm-svn: 46901
|
|
|
|
|
|
| |
that vstudio build works
llvm-svn: 46013
|
|
|
|
| |
llvm-svn: 45822
|
|
|
|
|
|
| |
Also, instructions with any nodes that are SDNPMayLoad also read memory.
llvm-svn: 45817
|
|
|
|
|
|
|
|
|
|
|
| |
instead of "ISD::STORE". This allows us to mark target-specific dag
nodes as storing (such as ppc byteswap stores). This allows us to remove
more explicit isStore flags from the .td files.
Finally, add a warning for when a .td file contains an explicit
isStore and tblgen is able to infer it.
llvm-svn: 45654
|
|
|
|
|
|
| |
intrinsic that writes to memory.
llvm-svn: 45650
|
|
|
|
| |
llvm-svn: 45646
|
|
|
|
| |
llvm-svn: 45641
|
|
|
|
| |
llvm-svn: 45639
|
|
|
|
|
|
|
| |
The only difference in output is that we now print them in alphabetical
order instead of reverse alphabetical order.
llvm-svn: 45635
|
|
|
|
| |
llvm-svn: 45634
|
|
Split the pattern parsing code out from the dag isel emitter into it's own file.
No functionality change.
llvm-svn: 45632
|