- Oct 03, 2008
-
-
Dan Gohman authored
can be used when deciding if a block can transfer control to another via a fall-through instead of a branch. llvm-svn: 56968
-
- Oct 02, 2008
-
-
Andrew Lenharth authored
llvm-svn: 56965
-
Owen Anderson authored
Use a multimap rather than a map for holding the list of copies to insert, so we don't lose copies when two of them have the same source. I don't know what I was thinking when I wrote this originally. Note: There's probably a more efficient way to do this, but I need to think about it some more, and about what determinism guarantees need to be present. llvm-svn: 56964
-
Dale Johannesen authored
llvm-svn: 56963
-
Devang Patel authored
llvm-svn: 56960
-
Evan Cheng authored
Contributed by Lang Hames. llvm-svn: 56959
-
Oscar Fuentes authored
llvm-svn: 56957
-
Dan Gohman authored
volatile memory references are safe to move. llvm-svn: 56948
-
Dan Gohman authored
local register allocator's physreg liveness doesn't recognize subregs, so it doesn't know that defs of %ecx that are immediately followed by uses of %cl aren't dead. This comes up due to the way fast-isel emits shift instructions. This is a temporary workaround. Arguably, local regalloc should handle subreg references correctly. On the other hand, perhaps fast-isel should use INSERT_SUBREG instead of just assigning to the most convenient super-register of %cl when lowering shifts. This fixes MultiSource/Benchmarks/MallocBench/espresso, MultiSource/Applications/hexxagon, and others, under -fast. llvm-svn: 56947
-
Bill Wendling authored
a constant vector ("{0x123, 0x456}" syntax). The fix is to simplify the _mm_srli_si128 macro, and move the "* 8" from the macro into the compiler back-end. I can't change the existing __builtins because so many people are using them :-(." Patch by Stuart Hastings! llvm-svn: 56944
-
Daniel Dunbar authored
& version as strings. - Win32 code is untested. llvm-svn: 56942
-
Devang Patel authored
llvm-svn: 56939
-
Devang Patel authored
llvm-svn: 56937
-
- Oct 01, 2008
-
-
Dan Gohman authored
llvm-svn: 56930
-
Chris Lattner authored
patch provided by Tomas Lindquist Olsen! llvm-svn: 56929
-
Dan Gohman authored
llvm-svn: 56927
-
Dan Gohman authored
This allows the 64-bit forms to use+def RSP instead of ESP. This doesn't fix any real bugs today, but it is more precise and it makes the debug dumps on x86-64 look more consistent. Also, add some comments describing the CALL instructions' physreg operand uses and defs. llvm-svn: 56925
-
Jim Grosbach authored
llvm-svn: 56924
-
Duncan Sands authored
pointer bitcasts and GEP's", and centralize the logic in Value::getUnderlyingObject. The difference with stripPointerCasts is that stripPointerCasts only strips GEPs if all indices are zero, while getUnderlyingObject strips GEPs no matter what the indices are. llvm-svn: 56922
-
Dan Gohman authored
immediately. llvm-svn: 56921
-
Dan Gohman authored
llvm-svn: 56920
-
Dan Gohman authored
llvm-svn: 56919
-
Nuno Lopes authored
llvm-svn: 56917
-
Dan Gohman authored
llvm-svn: 56911
-
Dan Gohman authored
instruction, not after. This fixes some uses of free'd memory. llvm-svn: 56908
-
Bill Wendling authored
llvm-svn: 56900
-
Owen Anderson authored
llvm-svn: 56893
-
Owen Anderson authored
Fix a simple error in renumbering kill markaers, that took an inordinant amount of time to track down. llvm-svn: 56889
-
Bill Wendling authored
llvm-svn: 56888
-
Nuno Lopes authored
llvm-svn: 56887
-
- Sep 30, 2008
-
-
Bill Wendling authored
- Testcase for r56885. llvm-svn: 56886
-
Bill Wendling authored
`-fno-builtin' flag. Currently, it's used to replace "memset" with "_bzero" instead of "__bzero" on Darwin10+. This arguably violates the meaning of this flag, but is currently sufficient. The meaning of this flag should become more specific over time. llvm-svn: 56885
-
Dan Gohman authored
they'll be a little more visible. Also, update and reword them a bit. llvm-svn: 56877
-
Nuno Lopes authored
llvm-svn: 56868
-
Dan Gohman authored
Completely eliminate the TopOrder std::vector. Instead, sort the AllNodes list in place. This also eliminates the need to call AllNodes.size(), a linear-time operation, before performing the sort. Also, eliminate the Sources temporary std::vector, since it essentially duplicates the sorted result as it is being built. This also changes the direction of the topological sort from bottom-up to top-down. The AllNodes list starts out in roughly top-down order, so this reduces the amount of reordering needed. Top-down is also more convenient for Legalize, and ISel needed only minor adjustments. llvm-svn: 56867
-
Evan Cheng authored
Add runStaticConstructorsDestructors which runs ctors / dtors of a single module. Patch by David Chisnall. llvm-svn: 56849
-
Evan Cheng authored
llvm-svn: 56848
-
Duncan Sands authored
"If a re-materializable instruction has a register operand, the spiller will change the register operand's spill weight to HUGE_VAL to avoid it being spilled. However, if the operand is already in the queue ready to be spilled, avoid re-materializing it". llvm-svn: 56837
-
Evan Cheng authored
If a re-materializable instruction has a register operand, the spiller will change the register operand's spill weight to HUGE_VAL to avoid it being spilled. However, if the operand is already in the queue ready to be spilled, avoid re-materializing it. llvm-svn: 56835
-
Nick Lewycky authored
llvm-svn: 56834
-