summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup ConstantExpr handling:Chris Lattner2002-07-301-8/+2
| | | | | | | | | | | | | | * Correctly delete TypeHandles in AsmParser. In addition to not leaking memory, this prevents a bug that could have occurred when a type got resolved that the constexpr was using * Check for errors in the AsmParser instead of hitting assertion failures deep in the code * Simplify the interface to the ConstantExpr class, removing unneccesary parameters to the ::get* methods. * Rename the 'getelementptr' version of ConstantExpr::get to ConstantExpr::getGetElementPtr llvm-svn: 3160
* Remove FIXME's that aren't really needed after all.Chris Lattner2002-07-301-9/+0
| | | | llvm-svn: 3158
* Implement a new RemoveSuccessor functionChris Lattner2002-07-291-4/+51
| | | | llvm-svn: 3131
* Allow folding of basic blocks that have PHI nodes in them, fixing "bug":Chris Lattner2002-07-291-1/+11
| | | | | | test/Regression/Transforms/SimplifyCFG/2002-06-24-PHINode.ll llvm-svn: 3128
* * Standardize how analysis results/passes as printed with the print() virtualChris Lattner2002-07-271-2/+1
| | | | | | | | | | methods * Eliminate AnalysisID: Now it is just a typedef for const PassInfo* * Simplify how AnalysisID's are initialized * Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into the analyses themselves. llvm-svn: 3115
* * Add support for different "PassType's"Chris Lattner2002-07-261-1/+1
| | | | | | | | | | | | | | | * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses llvm-svn: 3113
* * Add support for different "PassType's"Chris Lattner2002-07-261-1/+1
| | | | | | | | | | | | | | | * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses llvm-svn: 3112
* *** empty log message ***Chris Lattner2002-07-241-1/+1
| | | | llvm-svn: 3072
* *** empty log message ***Chris Lattner2002-07-232-2/+3
| | | | llvm-svn: 3016
* *** empty log message ***Chris Lattner2002-07-231-1/+1
| | | | llvm-svn: 3002
* * Rewrite loop to be slightly more efficient (arguably)Chris Lattner2002-07-181-2/+2
| | | | | | * Fix a MAJOR thinko that was causing bad links to happen on Spec llvm-svn: 2953
* Implement linking of ConstExprsChris Lattner2002-07-181-9/+43
| | | | llvm-svn: 2946
* *** empty log message ***Chris Lattner2002-06-301-1/+0
| | | | llvm-svn: 2813
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-2/+3
| | | | llvm-svn: 2795
* MEGAPATCH checkin.Chris Lattner2002-06-251-11/+10
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* *** empty log message ***Chris Lattner2002-06-256-150/+114
| | | | llvm-svn: 2777
* Simplify the interface to local DCE and Constant propChris Lattner2002-05-261-6/+6
| | | | llvm-svn: 2749
* Add implementation of SimplifyCFGChris Lattner2002-05-211-0/+198
| | | | llvm-svn: 2701
* Simplify interface to ConstantFoldTerminatorChris Lattner2002-05-211-3/+3
| | | | llvm-svn: 2697
* Add support for printing out statistics information when -stats is added toChris Lattner2002-05-101-0/+5
| | | | | | the command line llvm-svn: 2601
* Give the unified exit node a nameChris Lattner2002-05-071-1/+1
| | | | llvm-svn: 2550
* Merge all individual .h files into a single Scalar.h fileChris Lattner2002-05-071-1/+1
| | | | llvm-svn: 2537
* Move UnifyFunctionExitNodes to Utils library: final resting place this timeChris Lattner2002-05-071-1/+1
| | | | llvm-svn: 2531
* Cleanup implementation a bitChris Lattner2002-05-071-4/+6
| | | | llvm-svn: 2526
* Updates to move some header files out of include/llvm/Transforms intoChris Lattner2002-05-073-37/+40
| | | | | | the Scalar and Utils subdirectories llvm-svn: 2523
* Add code pulled out of TransformInternals.cpp, ConstProp.cpp, and DCE.cppChris Lattner2002-05-073-0/+196
| | | | llvm-svn: 2513
* Fixed bug: ↵Chris Lattner2002-05-011-0/+3
| | | | | | test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll llvm-svn: 2423
* changes because iMemory.h no longer #includes DerivedTypes.hChris Lattner2002-04-291-2/+3
| | | | | | This only requires Type.h anyway llvm-svn: 2405
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-1/+0
| | | | llvm-svn: 2397
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-0/+2
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵Chris Lattner2002-04-281-0/+1
| | | | | | indicate whether or not they invalidate the CFGA llvm-svn: 2386
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-282-3/+3
| | | | llvm-svn: 2378
* Eliminate the PromoteInstance class, incorporating it into the PromotePassChris Lattner2002-04-281-63/+57
| | | | | | class. llvm-svn: 2375
* Eliminate visited, CurrentValue, and WriteSets as instance variables ofChris Lattner2002-04-281-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.llChris Lattner2002-04-281-4/+12
| | | | | | * Minor cleanup that was missed in last patch llvm-svn: 2373
* This huge changeset is a strictly cleanup changeChris Lattner2002-04-281-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* classesChris Lattner2002-04-281-3/+0
| | | | | | to the global namespace llvm-svn: 2370
* Change the Dominator info and LoopInfo classes to keep track of ↵Chris Lattner2002-04-281-4/+4
| | | | | | | | BasicBlock's, not const BasicBlocks llvm-svn: 2337
* s/Method/FunctionChris Lattner2002-04-272-4/+4
| | | | llvm-svn: 2336
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-271-8/+6
| | | | | | | | | | | | | | | - 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
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-091-2/+3
| | | | | | be 'Argument' instead of FunctionArgument. llvm-svn: 2216
* Add #includes to make up for #includes pruned out of header files.Chris Lattner2002-04-091-2/+3
| | | | llvm-svn: 2207
* s/Method/FunctionChris Lattner2002-04-081-1/+0
| | | | | | Remove extraneous #includes of llvm/Assembly/Writer llvm-svn: 2178
* Eliminate explicit use of Writer library, using debug dump output instead.Chris Lattner2002-04-071-6/+8
| | | | llvm-svn: 2147
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-072-27/+24
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* New clone function routineChris Lattner2002-03-291-0/+90
| | | | llvm-svn: 2045
* s/Method/FunctionChris Lattner2002-03-291-2/+3
| | | | llvm-svn: 2034
* * Move classes aroundCameron Buschardt2002-03-271-29/+36
| | | | | | | * rename constructor function * Move stuff into anonymous namespaces llvm-svn: 2007
* Implemented promote mem->reg pass.Cameron Buschardt2002-03-271-64/+286
| | | | llvm-svn: 2005
* Change references from Method to FunctionChris Lattner2002-03-261-42/+42
| | | | | | change references from MethodARgument to FunctionArgument llvm-svn: 1991
OpenPOWER on IntegriCloud