- Oct 31, 2009
-
-
Dan Gohman authored
llvm-svn: 85662
-
Dan Gohman authored
llvm-svn: 85661
-
Dan Gohman authored
llvm-svn: 85660
-
Dan Gohman authored
LoopUnrollPass.cpp, for consistency with other passes which are similarly split. llvm-svn: 85659
-
Dan Gohman authored
to unfold loop-invariant loads. llvm-svn: 85657
-
Dan Gohman authored
llvm-svn: 85655
-
Evan Cheng authored
llvm-svn: 85641
-
Dan Gohman authored
llvm-svn: 85635
-
Dan Gohman authored
PHI operands by the predecessor order, sort them by the order used by the first PHI in the block. This is still suffucient to expose duplicates. llvm-svn: 85634
-
- Oct 30, 2009
-
-
Dan Gohman authored
This reduces codesize on a variety of codes by 1-2% on x86-64. It also helps clean up after SSAUpdater. llvm-svn: 85626
-
Dan Gohman authored
This helps expose duplicate PHIs, which will make it easier for them to be eliminated. llvm-svn: 85623
-
Evan Cheng authored
llvm-svn: 85609
-
- Oct 29, 2009
-
-
Nick Lewycky authored
llvm-svn: 85498
-
Chris Lattner authored
static constructors with indirect gotos :) llvm-svn: 85495
-
Chris Lattner authored
crash on any clang tests. llvm-svn: 85465
-
Chris Lattner authored
llvm-svn: 85458
-
Chris Lattner authored
llvm-svn: 85457
-
- Oct 28, 2009
-
-
Victor Hernandez authored
ArraySize * ElementSize ElementSize * ArraySize ArraySize << log2(ElementSize) ElementSize << log2(ArraySize) Refactor isArrayMallocHelper and delete isSafeToGetMallocArraySize, so that there is only 1 copy of the malloc array determining logic. Update users of getMallocArraySize() to not bother calling isArrayMalloc() as well. llvm-svn: 85421
-
Devang Patel authored
llvm-svn: 85402
-
Edward O'Callaghan authored
llvm-svn: 85390
-
Benjamin Kramer authored
llvm-svn: 85389
-
Owen Anderson authored
purposes for GVN/DSE. llvm-svn: 85383
-
Nick Lewycky authored
Checks on Demand algorithm which looks at arbitrary branches instead of loop iterations. This is GSoC work by Andre Tavares with only editorial changes applied! llvm-svn: 85382
-
Chris Lattner authored
In the new world order, BlockAddress can have a BasicBlock operand. This doesn't permute much, because if you have a ConstantExpr (or anything more specific than Constant) we still know the operand has to be a Constant. llvm-svn: 85375
-
- Oct 27, 2009
-
-
Devang Patel authored
llvm-svn: 85327
-
Victor Hernandez authored
llvm-svn: 85286
-
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
-
Eric Christopher authored
do anything than return "I don't know" at the moment. llvm-svn: 85189
-
Dan Gohman authored
llvm-svn: 85185
-
Victor Hernandez authored
llvm-svn: 85181
-
Owen Anderson authored
llvm-svn: 85179
-
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
-
-
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
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
-
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
-