- Dec 18, 2009
-
-
Dan Gohman authored
llvm-svn: 91645
-
- Dec 15, 2009
-
-
Chris Lattner authored
isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91421
-
- Dec 13, 2009
-
-
Chandler Carruth authored
about the potential use of these uninitialized members under certain conditions. llvm-svn: 91239
-
- Dec 08, 2009
-
-
Nick Lewycky authored
llvm-svn: 90836
-
- Dec 04, 2009
-
-
Chris Lattner authored
a compile time perf optimization to avoid a load. llvm-svn: 90507
-
- Dec 03, 2009
-
-
Chris Lattner authored
Patch by Howard Hinnant! llvm-svn: 90365
-
- Dec 02, 2009
-
-
Jim Grosbach authored
llvm-svn: 90324
-
- Nov 23, 2009
-
-
Nick Lewycky authored
llvm-svn: 89645
-
- Nov 20, 2009
-
-
Dan Gohman authored
it may be used in contexts where preheader insertion may have failed due to an indirectbr. Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in the case that it would require splitting an indirectbr edge. These fix PR5502. llvm-svn: 89484
-
- Nov 19, 2009
-
-
Jim Grosbach authored
Eliminate duplicate phi nodes in loops. Loop rotation, for example, can introduce these, and it's beneficial to later passes to clean them up. llvm-svn: 89298
-
Jim Grosbach authored
llvm-svn: 89297
-
- Nov 12, 2009
-
-
Daniel Dunbar authored
llvm-svn: 86933
-
- Nov 11, 2009
-
-
Duncan Sands authored
llvm.invariant.start to be used without necessarily being paired with a call to llvm.invariant.end. If you run the entire optimization pipeline then such calls are in fact deleted (adce does it), but that's actually a good thing since we probably do want them to be zapped late in the game. There should really be an integration test that checks that the llvm.invariant.start call lasts long enough that all passes that do interesting things with it get to do their stuff before it is deleted. But since no passes do anything interesting with it yet this will have to wait for later. llvm-svn: 86840
-
Devang Patel authored
llvm-svn: 86748
-
- Nov 10, 2009
-
-
Chris Lattner authored
into libanalysis and transformutils. llvm-svn: 86735
-
Chris Lattner authored
llvm-svn: 86666
-
Chris Lattner authored
individual operands instead of taking a temporary array llvm-svn: 86619
-
- Nov 09, 2009
-
-
Dan Gohman authored
llvm-svn: 86575
-
Dan Gohman authored
the loop. This is needed because with indirectbr it may not be possible for LoopSimplify to guarantee that all loop exit predecessors are inside the loop. This fixes PR5437. LCCSA no longer actually requires LoopSimplify form, but for now it must still have the dependency because the PassManager doesn't know how to schedule LoopSimplify otherwise. llvm-svn: 86569
-
- Nov 06, 2009
-
-
Chris Lattner authored
from various APIs, addressing PR5325. llvm-svn: 86231
-
- Nov 05, 2009
-
-
Dan Gohman authored
on loops having dedicated exits, which LoopSimplify can no longer always guarantee. llvm-svn: 86181
-
Dan Gohman authored
unsplittable critical edges, which means the introduction of loops which cannot be transformed to LoopSimplify form. Fix LoopSimplify to avoid transforming such loops into invalid code. llvm-svn: 86176
-
Dan Gohman authored
llvm-svn: 86164
-
Dan Gohman authored
llvm-svn: 86160
-
Dan Gohman authored
makes several optimization passes abort in cases where they're currently silently miscompiling code. Remove the indirectbr assertion from SplitEdge. Indirectbr is only a problem for critical edges, and SplitEdge defers to SplitCriticalEdge to handle those, and SplitCriticalEdge has its own assertion for indirectbr. llvm-svn: 86147
-
- Nov 03, 2009
-
-
Chris Lattner authored
llvm-svn: 85863
-
Ted Kremenek authored
llvm-svn: 85859
-
- Nov 02, 2009
-
-
Chris Lattner authored
llvm-svn: 85786
-
- Nov 01, 2009
-
-
Chris Lattner authored
llvm-svn: 85725
-
Chris Lattner authored
when BB2 has its address taken. Since it ends up doing BB2->rauw(BB1), this can cause the address of the entry block to be taken. Since it is generally undesirable to nuke blocks whose address is taken, even when we can, just unconditionally stop this xform. llvm-svn: 85708
-
Chris Lattner authored
llvm-svn: 85704
-
Chris Lattner authored
indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it for simplicity. llvm-svn: 85699
-
- Oct 31, 2009
-
-
Chris Lattner authored
Fix CodeGenPrepare to not try to split edges from indirectbr. llvm-svn: 85690
-
Chris Lattner authored
it abort on IndirectBrInst as describe in the comment. llvm-svn: 85688
-
Chris Lattner authored
llvm-svn: 85680
-
Dan Gohman authored
auto-update the DominatorTree because it doesn't keep the DominatorTree current while it works. llvm-svn: 85670
-
Dan Gohman authored
llvm-svn: 85668
-
Dan Gohman authored
MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive, and makes it unnecessary for LoopUnroll to have its own copy of this code. llvm-svn: 85667
-
Dan Gohman authored
llvm-svn: 85662
-
Dan Gohman authored
llvm-svn: 85660
-