- Jan 11, 2010
-
-
Evan Cheng authored
llvm-svn: 93185
-
Evan Cheng authored
llvm-svn: 93182
-
Benjamin Kramer authored
- getToken is modeled after StringRef::split but it can split on multiple separator chars and skips leading seperators. - SplitString is a StringRef::split variant for more than 2 elements with the same behaviour as getToken. llvm-svn: 93161
-
Dan Gohman authored
has an immediate with at least 32 bits of leading zeros, to avoid needing to materialize that immediate in a register first. FileCheckize, tidy, and extend a testcase to cover this case. This fixes rdar://7527390. llvm-svn: 93160
-
Dan Gohman authored
new AsmPrinter. This is perhaps less elegant than describing them in terms of MOV32r0 and subreg operations, but it allows the current register to rematerialize them. llvm-svn: 93158
-
Dan Gohman authored
single user. The _su forms are intended for non-top-level nodes. llvm-svn: 93155
-
Dan Gohman authored
llvm-svn: 93154
-
Evan Cheng authored
Select an OR with immediate as an ADD if the input bits are known zero. This allow the instruction to be 3address-fied if needed. llvm-svn: 93152
-
David Greene authored
Implement a feature (-vector-unaligned-mem) to allow targets to ignore alignment requirements for SIMD memory operands. This is useful on architectures like the AMD 10h that do not trap on unaligned references if a status bit is twiddled at startup time. llvm-svn: 93151
-
- Jan 09, 2010
-
-
Chris Lattner authored
"In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." Patch by James Y Knight! llvm-svn: 93079
-
http://llvm.org/PR5729Jeffrey Yasskin authored
R11, and then asserting that the target was in R9. Since R9 isn't reserved for the target anymore, and is used as an argument, this patch changes the assertion. llvm-svn: 93065
-
Evan Cheng authored
Fix a critical bug in 64-bit atomic operation lowering for 32-bit. The results of the cmpxchg8b instructions are being thrown away when it branches back to the top of the checking loop. This means the loop always compares against the old value and this can result in a dead lock. llvm-svn: 93028
-
- Jan 08, 2010
-
-
Evan Cheng authored
llvm-svn: 93020
-
Johnny Chen authored
T2I_bin_ii12rs definition. llvm-svn: 93006
-
Eric Christopher authored
putting relocations into the constant pool - this isn't needed for correctness and in the rare occasion it happens would pull us out of fast isel for the block. If fast-isel application startup time ever becomes an issue we can add better support for these addresses instead of bailing. llvm-svn: 92995
-
Evan Cheng authored
1. CMPXCHG8B and CMPXCHG16B did not specify implicit physical register defs and uses. 2. LCMPXCHG8B is loading 64 bit memory, not 32 bit. llvm-svn: 92985
-
Eric Christopher authored
llvm-svn: 92972
-
- Jan 07, 2010
-
-
Eric Christopher authored
add it to the constant pool for fast-isel. We already don't add it for the normal case. llvm-svn: 92934
-
Eric Christopher authored
not-readonly segment on darwin. llvm-svn: 92933
-
Chris Lattner authored
llvm-svn: 92921
-
Evan Cheng authored
Fix a minor regression from my dag combiner changes. One more place which needs to look pass truncates. llvm-svn: 92885
-
Jim Grosbach authored
llvm-svn: 92876
-
Jakob Stoklund Olesen authored
Some instructions refer to unique labels, and so cannot be trivially cloned with CloneMachineInstr. llvm-svn: 92873
-
Jim Grosbach authored
for stack references. llvm-svn: 92871
-
- Jan 06, 2010
-
-
Evan Cheng authored
(OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. llvm-svn: 92849
-
Duncan Sands authored
phi nodes when deciding which pointers point to local memory. I actually checked long ago how useful this is, and it isn't very: it hardly ever fires in the testsuite, but since Chris wants it here it is! llvm-svn: 92836
-
Duncan Sands authored
memcpy, memset and other intrinsics that only access their arguments to be readnone if the intrinsic's arguments all point to local memory. This improves the testcase in the README to readonly, but it could in theory be made readnone, however this would involve more sophisticated analysis that looks through the memcpy. llvm-svn: 92829
-
Dale Johannesen authored
bootstrap. llvm-svn: 92818
-
Dale Johannesen authored
synonyms for PPC. llvm-svn: 92817
-
- Jan 05, 2010
-
-
Johnny Chen authored
llvm-svn: 92796
-
Johnny Chen authored
instructions. Thumb does not have the restriction that t2 = t+1. llvm-svn: 92785
-
Jakob Stoklund Olesen authored
It is enough to give the super registers CR0, CR1, ..., and specifying the sub-registers as well causes confusion in the liveness computations. llvm-svn: 92778
-
Benjamin Kramer authored
llvm-svn: 92771
-
Benjamin Kramer authored
llvm-svn: 92760
-
Evan Cheng authored
llvm-svn: 92694
-
David Greene authored
llvm-svn: 92655
-
David Greene authored
llvm-svn: 92654
-
David Greene authored
llvm-svn: 92653
-
David Greene authored
llvm-svn: 92651
-
David Greene authored
llvm-svn: 92648
-