- Sep 01, 2010
-
-
Duncan Sands authored
then the SSAUpdator may access freed memory. Instead, simply pass in the type and name explicitly, which is all that was used anyway. llvm-svn: 112699
-
- Aug 23, 2010
-
-
Owen Anderson authored
Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API. llvm-svn: 111815
-
- Aug 06, 2010
-
-
Owen Anderson authored
llvm-svn: 110460
-
Owen Anderson authored
llvm-svn: 110410
-
Owen Anderson authored
ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
-
- Jul 26, 2010
-
-
Dan Gohman authored
dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier pass in StandardPasses.h to ensure that it gets scheduled at the right time. Declare that loop unrolling preserves ScalarEvolution, and shuffle some getAnalysisUsages. This eliminates one LoopSimplify and one LCCSA run in the standard compile opts sequence. llvm-svn: 109413
-
- Jul 16, 2010
-
-
Dan Gohman authored
a redundant loopsimplify run from the default -O2 sequence. llvm-svn: 108539
-
- Jul 09, 2010
-
-
Gabor Greif authored
llvm-svn: 107968
-
- Mar 10, 2010
-
-
Dan Gohman authored
compute a set of reachable blocks for itself each time it is called, which is fairly frequently. llvm-svn: 98179
-
- 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 05, 2009
-
-
Dan Gohman authored
llvm-svn: 86160
-
- Oct 11, 2009
-
-
Chris Lattner authored
the IR, and to implement the FIXME'd optimization. llvm-svn: 83748
-
Chris Lattner authored
inserted only once, just use vector. Don't compute ExitBlocks unless we need it, change std::sort to array_pod_sort. llvm-svn: 83747
-
- Oct 10, 2009
-
-
Chris Lattner authored
llvm-svn: 83701
-
- Sep 28, 2009
-
-
Dan Gohman authored
llvm-svn: 82991
-
- Sep 08, 2009
-
-
Dan Gohman authored
that get created during loop unswitching, and fix SplitBlockPredecessors' LCSSA updating code to create new PHIs instead of trying to just move existing ones. Also, optimize Loop::verifyLoop, since it gets called a lot. Use searches on a sorted list of blocks instead of calling the "contains" function, as is done in other places in the Loop class, since "contains" does a linear search. Also, don't call verifyLoop from LoopSimplify or LCSSA, as the PassManager is already calling verifyLoop as part of LoopInfo's verifyAnalysis. llvm-svn: 81221
-
- Sep 06, 2009
-
-
Evan Cheng authored
llvm-svn: 81101
-
- Sep 03, 2009
-
-
Dan Gohman authored
that these passes are properly preserved. Fix several transformation passes that claimed to preserve LoopSimplify form but weren't. llvm-svn: 80926
-
- Jul 31, 2009
-
-
Owen Anderson authored
llvm-svn: 77635
-
- Jul 22, 2009
-
-
Owen Anderson authored
llvm-svn: 76702
-
- Jul 06, 2009
-
-
Owen Anderson authored
llvm-svn: 74807
-
- Jun 26, 2009
-
-
Dan Gohman authored
an invoke instruction, since the value isn't really live across that edge. llvm-svn: 74242
-
- Apr 22, 2009
-
-
Owen Anderson authored
Real fix for PR3549, by using caching for predecessor counts in addition to the predecessors themselves. This halves the time to optimize the testcase, beyond what my previous patch did. llvm-svn: 69792
-
Owen Anderson authored
Use PredIteratorCache in LCSSA, which gives a 37% overall speedup on the testcase from PR3549. More improvements to come. llvm-svn: 69788
-
- Jan 23, 2009
-
-
Gabor Greif authored
There is now a direct way from value-use-iterator to incoming block in PHINode's API. This way we avoid the iterator->index->iterator trip, and especially the costly getOperandNo() invocation. Additionally there is now an assertion that the iterator really refers to one of the PHI's Uses. llvm-svn: 62869
-
- Oct 23, 2008
-
-
Daniel Dunbar authored
LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Jul 23, 2008
-
-
Dan Gohman authored
Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. llvm-svn: 53941
-
- Jun 03, 2008
-
-
Dan Gohman authored
llvm-svn: 51890
-
- May 30, 2008
-
-
Owen Anderson authored
Since LCSSA switched over to DenseMap, we have to be more careful to avoid iterator invalidation. Fixes PR2385. llvm-svn: 51777
-
- May 26, 2008
-
-
Owen Anderson authored
llvm-svn: 51565
-
- May 23, 2008
-
-
Dan Gohman authored
use it instead of duplicating its functionality. llvm-svn: 51499
-
- May 15, 2008
-
-
Gabor Greif authored
Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better. llvm-svn: 51143
-
- May 13, 2008
-
-
Dan Gohman authored
address of the PassInfo directly instead of calling getPassInfo. This eliminates a bunch of dynamic initializations of static data. Also, fold RegisterPassBase into PassInfo, make a bunch of its data members const, and rearrange some code to initialize data members in constructors instead of using setter member functions. llvm-svn: 51022
-
Dan Gohman authored
several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
-
- May 03, 2008
-
-
Devang Patel authored
llvm-svn: 50604
-
- Apr 06, 2008
-
-
Gabor Greif authored
Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
-
- Feb 20, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 47375
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-