- Oct 27, 2009
-
-
Chris Lattner authored
thread safe either. llvm-svn: 85253
-
Chris Lattner authored
llvm-svn: 85252
-
Rafael Espindola authored
llvm-svn: 85235
-
Chris Lattner authored
with multiple return values it inserts a PHI to merge them all together. However, if the return values are all the same, it ends up with a pointless PHI and this pointless PHI happens to really block SRoA from happening in at least a silly C++ example written by Doug, but probably others. This fixes rdar://7339069. llvm-svn: 85206
-
Mike Stump authored
llvm-svn: 85197
-
Jeffrey Yasskin authored
llvm-svn: 85192
-
Eric Christopher authored
do anything than return "I don't know" at the moment. llvm-svn: 85189
-
Evan Cheng authored
llvm-svn: 85186
-
Dan Gohman authored
llvm-svn: 85185
-
Evan Cheng authored
Change Thumb1 and Thumb2 instructions to separate opcode from operands with a tab instead of a space. llvm-svn: 85184
-
Jeffrey Yasskin authored
being destroyed. This allows users to run global optimizations like globaldce even after some functions have been jitted. This patch also removes the Function* parameter to JITEventListener::NotifyFreeingMachineCode() since it can cause that to be called when the Function is partially destroyed. This change will be even more helpful later when I think we'll want to allow machine code to actually outlive its Function. llvm-svn: 85182
-
Victor Hernandez authored
llvm-svn: 85181
-
Owen Anderson authored
llvm-svn: 85179
-
Evan Cheng authored
llvm-svn: 85178
-
Victor Hernandez authored
Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. llvm-svn: 85176
-
- Oct 26, 2009
-
-
Bob Wilson authored
bits. Johnny, please review -- I do not have a good track record of getting these right. llvm-svn: 85173
-
Bob Wilson authored
Patch by Johnny Chen. llvm-svn: 85169
-
Bob Wilson authored
bits. Patch by Johnny Chen. llvm-svn: 85167
-
David Goodwin authored
Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken. llvm-svn: 85166
-
Dan Gohman authored
the loop exiting block dominates the latch block; if ScalarEvolution can prove that the trip-count is finite, that's sufficient. llvm-svn: 85165
-
Dan Gohman authored
can safely use the NSW bit on the Add. llvm-svn: 85164
-
Ted Kremenek authored
llvm-svn: 85161
-
Dan Gohman authored
aggressive on PHI instructions. llvm-svn: 85158
-
David Goodwin authored
llvm-svn: 85146
-
David Goodwin authored
Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all. llvm-svn: 85145
-
Dan Gohman authored
GEPs (more than one non-zero index) into simple GEPs (at most one non-zero index). In some simple experiments using this it's not uncommon to see 3% overall code size wins, because it exposes redundancies that can be eliminated, however it's tricky to use because instcombine aggressively undoes the work that this pass does. llvm-svn: 85144
-
Anton Korobeynikov authored
llvm-svn: 85138
-
Dan Gohman authored
machineinstr whether the aliased register is dead, rather than the original register is dead. This allows it to get the correct answer when examining an instruction like this: CALLpcrel32 <ga:foo>, %AL<imp-def>, %EAX<imp-def,dead> where EAX is dead but a subregister of it is still live. This fixes PR5294. llvm-svn: 85135
-
Sanjiv Gupta authored
llvm-svn: 85134
-
Devang Patel authored
llvm-svn: 85130
-
David Goodwin authored
llvm-svn: 85127
-
Devang Patel authored
Patch by Talin! llvm-svn: 85126
-
Dan Gohman authored
llvm-svn: 85120
-
Chris Lattner authored
All of the 'demorgan' related xforms need to use dyn_castNotVal, not m_Not. llvm-svn: 85119
-
Dan Gohman authored
strides for now, because it doesn't handle them correctly. This fixes a miscompile of SingleSource/Benchmarks/Misc-C++/ray. This problem was usually hidden because indvars transforms such induction variables into negations of canonical induction variables. llvm-svn: 85118
-
Evan Cheng authored
bootstrapping. It's not safe to leave identity subreg_to_reg and insert_subreg around. - Relax register scavenging to allow use of partially "not-live" registers. It's common for targets to operate on registers where the top bits are undef. e.g. s0 = d0 = insert_subreg d0<undef>, s0, 1 ... = d0 When the insert_subreg is eliminated by the coalescer, the scavenger used to complain. The previous fix was to keep to insert_subreg around. But that's brittle and it's overly conservative when we want to use the scavenger to allocate registers. It's actually legal and desirable for other instructions to use the "undef" part of d0. e.g. s0 = d0 = insert_subreg d0<undef>, s0, 1 ... s1 = = s1 = d0 We probably need add a "partial-undef" marker on machine operand so the machine verifier would not complain. llvm-svn: 85091
-
Evan Cheng authored
llvm-svn: 85090
-
Chandler Carruth authored
direct inclusion edge from System to Support. llvm-svn: 85086
-
Chris Lattner authored
not (or (icmp, icmp)) -> and(icmp, icmp) llvm-svn: 85085
-
Chris Lattner authored
or global after a function with conflicting names. Update some testcases that were accidentally depending on this behavior. llvm-svn: 85081
-