| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Clean up ADCE by removing extraneous wrapper class | Chris Lattner | 2002-05-06 | 1 | -43/+42 | |
| | | | | | llvm-svn: 2494 | |||||
| * | Combine not (not X) -> X | Chris Lattner | 2002-05-06 | 1 | -1/+14 | |
| | | | | | llvm-svn: 2493 | |||||
| * | Support more cases... | Chris Lattner | 2002-05-06 | 1 | -16/+43 | |
| | | | | | llvm-svn: 2490 | |||||
| * | Add many more instruction combination simplifications | Chris Lattner | 2002-05-06 | 1 | -10/+188 | |
| | | | | | llvm-svn: 2484 | |||||
| * | Merge blocks like this: | Chris Lattner | 2002-05-06 | 1 | -26/+39 | |
| | | | | | | | | | | | void "test3"(bool %T) { br bool %T, label %BB1, label %BB1 BB1: ret void } llvm-svn: 2472 | |||||
| * | Implement constant propogation of shift instructions | Chris Lattner | 2002-05-06 | 2 | -7/+42 | |
| | | | | | llvm-svn: 2471 | |||||
| * | Ok, really it only takes me 3 times to get this right! | Chris Lattner | 2002-05-02 | 1 | -1/+1 | |
| | | | | | | | Now use #if 0 instead of #ifdef 0 llvm-svn: 2448 | |||||
| * | Oops, disable debugging code all the way. :) | Chris Lattner | 2002-05-02 | 1 | -1/+1 | |
| | | | | | llvm-svn: 2447 | |||||
| * | * Finish the implementation of isEdgeFeasible this fixes bug: | Chris Lattner | 2002-05-02 | 1 | -57/+77 | |
| | | | | | | | | | | test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll * SCCP now preserves the CFG: It leaves conditional branches the way they are in the program, not simplifying them. A seperate pass should eliminate the potentially dead basic blocks and edges in the CFG. llvm-svn: 2446 | |||||
| * | * Enable SCCP debugging to be turned on with a simple change of #define | Chris Lattner | 2002-05-02 | 1 | -32/+52 | |
| | | | | | | | | | | | | | | * Change worklist to a set so that duplicates cannot happen * Add support for the invoke instruction * Avoid marking store and free instructions as overdefined, since they cannot produce a value anyway. * Inline the OperandChangedState implementation * Add isEdgeFeasible in preparation to fix a bug. Right now it behaves exactly as before. * Remove obsolete comment about constant pools llvm-svn: 2445 | |||||
| * | * Simplify the code by not bothering to name the folded constant | Chris Lattner | 2002-05-02 | 1 | -10/+7 | |
| | | | | | | | | | * Do not skip the instruction immediately after a folded instruction. This was causing the testcase failure: test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll llvm-svn: 2443 | |||||
| * | ExprTypeConvert will already do this transformation, no need to specialize | Chris Lattner | 2002-05-02 | 1 | -21/+0 | |
| | | | | | | | it here. llvm-svn: 2431 | |||||
| * | Be a little more efficient, do not generate loads and stores with indices in ↵ | Chris Lattner | 2002-05-02 | 1 | -25/+37 | |
| | | | | | | | them. llvm-svn: 2430 | |||||
| * | Fix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll | Chris Lattner | 2002-05-02 | 1 | -0/+9 | |
| | | | | | llvm-svn: 2429 | |||||
| * | * Add ability to eliminate a bunch of different cascading cast variations | Chris Lattner | 2002-05-02 | 1 | -2/+60 | |
| | | | | | | | * Allow elimination of getelementptr X, uint 0 (which is a noop) llvm-svn: 2428 | |||||
| * | Fixed bug: ↵ | Chris Lattner | 2002-05-01 | 1 | -0/+3 | |
| | | | | | | | test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll llvm-svn: 2423 | |||||
| * | Remove unneccesary pass | Chris Lattner | 2002-04-30 | 1 | -86/+0 | |
| | | | | | llvm-svn: 2420 | |||||
| * | Add folding rules for mul X, 0 and mul X, 2 | Chris Lattner | 2002-04-29 | 1 | -3/+13 | |
| | | | | | llvm-svn: 2417 | |||||
| * | Significantly clean up SCCP pass. Now the two classes are merged and in | Chris Lattner | 2002-04-29 | 1 | -44/+37 | |
| | | | | | | | an anonymous namespace where they belong. llvm-svn: 2415 | |||||
| * | Range insertion now returns an iterator | Chris Lattner | 2002-04-29 | 1 | -5/+2 | |
| | | | | | llvm-svn: 2414 | |||||
| * | Remove unused files: This is the old induction varaible cannonicalization | Chris Lattner | 2002-04-29 | 1 | -408/+0 | |
| | | | | | | | pass built on top of interval analysis llvm-svn: 2411 | |||||
| * | Fix for problem when allocating something like this: | Chris Lattner | 2002-04-29 | 1 | -7/+3 | |
| | | | | | | | malloc(100-i); llvm-svn: 2409 | |||||
| * | changes because iMemory.h no longer #includes DerivedTypes.h | Chris Lattner | 2002-04-29 | 2 | -2/+4 | |
| | | | | | | | This only requires Type.h anyway llvm-svn: 2405 | |||||
| * | Eliminate dead global variables | Chris Lattner | 2002-04-29 | 1 | -2/+20 | |
| | | | | | llvm-svn: 2400 | |||||
| * | Eliminate duplicate or unneccesary #include's | Chris Lattner | 2002-04-29 | 17 | -33/+1 | |
| | | | | | llvm-svn: 2397 | |||||
| * | Remove broken assertion. | Chris Lattner | 2002-04-29 | 1 | -3/+5 | |
| | | | | | llvm-svn: 2396 | |||||
| * | Add new optional getPassName() virtual function that a Pass can override | Chris Lattner | 2002-04-29 | 22 | -10/+63 | |
| | | | | | | | to make debugging output a lot nicer. llvm-svn: 2395 | |||||
| * | More cleanups | Chris Lattner | 2002-04-29 | 1 | -59/+54 | |
| | | | | | llvm-svn: 2392 | |||||
| * | Code cleanups | Chris Lattner | 2002-04-29 | 1 | -127/+111 | |
| | | | | | llvm-svn: 2391 | |||||
| * | Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵ | Chris Lattner | 2002-04-28 | 12 | -3/+40 | |
| | | | | | | | indicate whether or not they invalidate the CFGA llvm-svn: 2386 | |||||
| * | Split ConstantVals.h into Constant.h and Constants.h | Chris Lattner | 2002-04-28 | 18 | -18/+17 | |
| | | | | | llvm-svn: 2378 | |||||
| * | Eliminate the PromoteInstance class, incorporating it into the PromotePass | Chris Lattner | 2002-04-28 | 1 | -63/+57 | |
| | | | | | | | class. llvm-svn: 2375 | |||||
| * | Eliminate visited, CurrentValue, and WriteSets as instance variables of | Chris Lattner | 2002-04-28 | 1 | -53/+54 | |
| | | | | | | | | | PromoteInstance. Make them local variables that are passed around as appropriate. Especially in the case of CurrentValue, this makes the code simpler. llvm-svn: 2374 | |||||
| * | * Fix bug: test/Regression/Transforms/Mem2Reg/2002-03-28-UninitializedVal.ll | Chris Lattner | 2002-04-28 | 1 | -4/+12 | |
| | | | | | | | * Minor cleanup that was missed in last patch llvm-svn: 2373 | |||||
| * | This huge changeset is a strictly cleanup change | Chris Lattner | 2002-04-28 | 1 | -228/+174 | |
| | | | | | | | Bugfixes will come in the next revision so that the diff is obvious. llvm-svn: 2372 | |||||
| * | Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes | Chris Lattner | 2002-04-28 | 5 | -26/+22 | |
| | | | | | | | to the global namespace llvm-svn: 2370 | |||||
| * | Be careful not to make "external" function internal | Chris Lattner | 2002-04-28 | 1 | -2/+3 | |
| | | | | | llvm-svn: 2363 | |||||
| * | Initial checkin of new "Internalize" pass for GCCLD | Chris Lattner | 2002-04-28 | 1 | -0/+38 | |
| | | | | | llvm-svn: 2362 | |||||
| * | Initial checkin of simple&fast SSA based GCSE algorithm | Chris Lattner | 2002-04-28 | 1 | -0/+272 | |
| | | | | | llvm-svn: 2338 | |||||
| * | Change the Dominator info and LoopInfo classes to keep track of ↵ | Chris Lattner | 2002-04-28 | 1 | -4/+4 | |
| | | | | | | | | | BasicBlock's, not const BasicBlocks llvm-svn: 2337 | |||||
| * | s/Method/Function | Chris Lattner | 2002-04-27 | 4 | -42/+41 | |
| | | | | | llvm-svn: 2336 | |||||
| * | * Rename MethodPass class to FunctionPass | Chris Lattner | 2002-04-27 | 21 | -153/+119 | |
| | | | | | | | | | | | | | | | | - Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well llvm-svn: 2333 | |||||
| * | Changes because the Terminator::getSuccessor function now FAILS if successor | Chris Lattner | 2002-04-27 | 2 | -6/+11 | |
| | | | | | | | IDX is out of range instead of returning null. llvm-svn: 2332 | |||||
| * | * Change Constant::getNullConstant to Constant::getNullValue | Chris Lattner | 2002-04-27 | 1 | -35/+51 | |
| | | | | | | | * Add support for pool allocating array allocations of varying size llvm-svn: 2329 | |||||
| * | Change Constant::getNullConstant to Constant::getNullValue | Chris Lattner | 2002-04-27 | 4 | -12/+10 | |
| | | | | | llvm-svn: 2323 | |||||
| * | Programs that actually free memory were broken | Chris Lattner | 2002-04-18 | 1 | -1/+1 | |
| | | | | | llvm-svn: 2307 | |||||
| * | Add a fixme so that we don't forget this is broken. | Chris Lattner | 2002-04-18 | 1 | -0/+3 | |
| | | | | | llvm-svn: 2298 | |||||
| * | Significantly rework InstructionCombining to work better and to be cleaner. | Chris Lattner | 2002-04-18 | 1 | -94/+141 | |
| | | | | | | | | | We now use an InstVisitor to delegate to different cases that we are interested in handling. We also fix the FIXME's by adding users to the worklist when appropriate. llvm-svn: 2292 | |||||
| * | Convert SCCP over to use InstVisitor instead of hand crafted switch | Chris Lattner | 2002-04-18 | 1 | -181/+136 | |
| | | | | | llvm-svn: 2286 | |||||
| * | GEP instructions can never be constant propogated. | Chris Lattner | 2002-04-18 | 1 | -7/+12 | |
| | | | | | llvm-svn: 2284 | |||||

