- Oct 20, 2010
-
-
Dan Gohman authored
uint64_t, plus fixes for places I missed before. llvm-svn: 116875
-
- 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 18, 2010
-
-
Dan Gohman authored
llvm-svn: 116743
-
- 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 14, 2010
-
-
Chris Lattner authored
deleted. Fix this by doing the copyValue's before we delete stuff! The testcase only repros the problem on my system with valgrind. llvm-svn: 113820
-
- Sep 06, 2010
-
-
Chris Lattner authored
llvm-svn: 113146
-
Chris Lattner authored
Loop::hasLoopInvariantOperands method. Remove a useless and confusing Loop::isLoopInvariant(Instruction) method, which didn't do what you thought it did. No functionality change. llvm-svn: 113133
-
- Sep 04, 2010
-
-
Chris Lattner authored
location is being re-stored to the memory location. We would get a dangling pointer from the SSAUpdate data structure and miss a use. This fixes PR8068 llvm-svn: 113042
-
- Sep 03, 2010
-
-
Chris Lattner authored
llvm-svn: 112878
-
- Sep 02, 2010
-
-
Duncan Sands authored
I'm sure it is harmless. Original commit message: If PrototypeValue is erased in the middle of using the SSAUpdator 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: 112810
-
- Sep 01, 2010
-
-
Eric Christopher authored
self host errors on clang-x86-64. llvm-svn: 112719
-
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
-
Chris Lattner authored
instead of hoisting them, just fold them away. This occurs in the testcase for PR8041, for example. llvm-svn: 112669
-
- Aug 29, 2010
-
-
Chris Lattner authored
instead of PromoteMemToReg. This allows it to stop using DF and DT, eliminating a computation of DT and DF from clang -O3. Clang is now down to 2 runs of DomFrontier. llvm-svn: 112457
-
Chris Lattner authored
assertingvh so we get a violent explosion if the pointer dangles. 2) Fix AliasSetTracker::deleteValue to remove call sites with by-pointer comparisons instead of by-alias queries. Using findAliasSetForCallSite can cause alias sets to get merged when they shouldn't, and can also miss alias sets when the call is readonly. #2 fixes PR6889, which only repros with a .c file :( llvm-svn: 112452
-
Chris Lattner authored
out of loops, just delete them. llvm-svn: 112451
-
Chris Lattner authored
symtab manipulation, so its faster (in addition to being more elegant) llvm-svn: 112450
-
Chris Lattner authored
llvm-svn: 112449
-
Chris Lattner authored
of AST to remove the hoisted instruction from the AST, since it is no longer in the loop. llvm-svn: 112448
-
Chris Lattner authored
LICM correctly. When sinking an instruction, it should not add entries for the sunk instruction to the AST, it should remove the entry for the sunk instruction. The blocks being sunk to are not in the loop, so their instructions shouldn't be in the AST (yet)! llvm-svn: 112447
-
Chris Lattner authored
keeping them around until the pass is destroyed, keep them around a) just when useful (not for outer loops) and b) destroy them right after we use them. This should reduce memory use and fixes potential bugs where a loop is deleted and another loop gets allocated to the same address. llvm-svn: 112446
-
Chris Lattner authored
preserves domfrontier. It does preserve AA though. llvm-svn: 112419
-
Chris Lattner authored
require DomFrontier. Dropping this doesn't actually save any runs of the pass though. llvm-svn: 112418
-
Chris Lattner authored
Among other things, this uses SSAUpdater instead of PromoteMemToReg. llvm-svn: 112417
-
Chris Lattner authored
llvm-svn: 112412
-
Chris Lattner authored
This leads to much simpler code. llvm-svn: 112410
-
Chris Lattner authored
getUniqueExitBlocks instead of getExitBlocks and a manual set to eliminate dupes. llvm-svn: 112405
-
Chris Lattner authored
llvm-svn: 112404
-
- 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 30, 2010
-
-
Nick Lewycky authored
llvm-svn: 109886
-
- Jul 22, 2010
-
-
Owen Anderson authored
llvm-svn: 109045
-
- Jul 16, 2010
-
-
Dan Gohman authored
a redundant loopsimplify run from the default -O2 sequence. llvm-svn: 108539
-
- Apr 14, 2010
-
-
Gabor Greif authored
llvm-svn: 101250
-
- 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
-
- Jan 05, 2010
-
-
David Greene authored
llvm-svn: 92619
-
Devang Patel authored
Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start AutoUpgrade simply ignores these intrinsics now. llvm-svn: 92557
-