- Oct 19, 2010
-
-
Owen Anderson authored
they do not also require them. This allows us to reduce inter-pass linkage dependencies. llvm-svn: 116854
-
Owen Anderson authored
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
-
- Oct 13, 2010
-
-
Rafael Espindola authored
llvm-svn: 116387
-
- Oct 12, 2010
-
-
Owen Anderson authored
perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Sep 01, 2010
-
-
Dan Gohman authored
infinite loops or exits will eventually exit. This fixes PR5373. llvm-svn: 112745
-
- Aug 29, 2010
-
-
Chris Lattner authored
claims that it preserves domfrontier if it doesn't really. llvm-svn: 112445
-
- 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 22, 2010
-
-
Owen Anderson authored
llvm-svn: 109045
-
- Jun 24, 2010
-
-
Devang Patel authored
The ValueMapper used by various cloning utility maps MDNodes also. llvm-svn: 106706
-
- Jun 09, 2010
-
-
Kenneth Uildriks authored
Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it can be reused from PartialSpecializationCost llvm-svn: 105725
-
- Apr 20, 2010
-
-
Chris Lattner authored
loop unswitch, and use inst simplify instead. It is more powerful and less duplication. llvm-svn: 101874
-
Chris Lattner authored
condition we're unswitching on. In this case, don't try to simplify the second copy of the loop which may be dead or not, but is probably a constant now. This fixes PR6879 llvm-svn: 101870
-
- Apr 05, 2010
-
-
Chris Lattner authored
llvm-svn: 100468
-
Evan Cheng authored
llvm-svn: 100467
-
- Apr 03, 2010
-
-
Evan Cheng authored
llvm-svn: 100262
-
- 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
-
- Feb 16, 2010
-
-
Duncan Sands authored
and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
-
- Feb 15, 2010
-
-
Duncan Sands authored
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
-
- Feb 02, 2010
-
-
Chris Lattner authored
llvm-svn: 95055
-
- Jan 05, 2010
-
-
Benjamin Kramer authored
llvm-svn: 92760
-
David Greene authored
llvm-svn: 92608
-
- Dec 18, 2009
-
-
Dan Gohman authored
contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. llvm-svn: 91654
-
- Dec 09, 2009
-
-
Dan Gohman authored
llvm-svn: 90990
-
- Nov 25, 2009
-
-
Edward O'Callaghan authored
llvm-svn: 89844
-
- Nov 24, 2009
-
-
Edward O'Callaghan authored
llvm-svn: 89758
-
- Nov 06, 2009
-
-
Chris Lattner authored
from various APIs, addressing PR5325. llvm-svn: 86231
-
- Nov 05, 2009
-
-
Dan Gohman authored
LoopSimplify form may not be available. llvm-svn: 86175
-
- Nov 01, 2009
-
-
Chris Lattner authored
This prevents unswitching from duplicating indbr's. llvm-svn: 85705
-
- Oct 20, 2009
-
-
Dan Gohman authored
the estimated code size and the number of blocks when deciding whether to do a non-trivial unswitch. This protects it from some very undesirable worst-case behavior on large numbers of loop-unswitchable conditions, such as in the testcase in PR5259. llvm-svn: 84661
-
- Oct 14, 2009
-
-
Devang Patel authored
llvm-svn: 84118
-
Devang Patel authored
llvm-svn: 84049
-
- Oct 13, 2009
-
-
Devang Patel authored
Do not check use_empty() before replaceAllUsesWith(). This gives ValueHandles a chance to get properly updated. llvm-svn: 84033
-
Dan Gohman authored
manually counting instructions. llvm-svn: 84016
-
Dan Gohman authored
BasicBlocks, so that it doesn't blindly procede in the presence of large individual BasicBlocks. This addresses a class of code-size expansion problems. llvm-svn: 83992
-
- Sep 09, 2009
-
-
Mike Stump authored
llvm-svn: 81361
-
Dan Gohman authored
llvm-svn: 81354
-
- 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
-