summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* * Indent class into anonymous namespace, filling up the diff with garbageChris Lattner2002-07-301-30/+43
| | | | | | | | | * Internalize global variables with initializers * Add new stat to track global variable internalization * Only count functions that were not internal before in internalized function count llvm-svn: 3163
* 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
* Fix bug with last patch which would occur when a call returned void and weChris Lattner2002-07-301-1/+2
| | | | | | attempted to assign it a name. llvm-svn: 3142
* * Make sure the resolved function call instructions get the name from theChris Lattner2002-07-301-7/+15
| | | | | | | | old call instruction * Implement conversion of return values for calls. This fixes bug: test/Regression/Transforms/FunctionResolve/retmismatch3.ll llvm-svn: 3140
* * Fix bug: test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.llChris Lattner2002-07-301-21/+46
| | | | | | | | | | | which was caused by us not running the "drop references of dead instructions" code when there were no basic blocks that were dead. We still don't want to do some of the stuff we do if there are dead basic blocks, but we DO want to drop references of dead instructions, so we factor the common code out to a new method. llvm-svn: 3137
* Add code to ensure that no PHI nodes are left laying around with theirChris Lattner2002-07-291-2/+16
| | | | | | | arguments dropped. This fixes bug: test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll llvm-svn: 3134
* Implement a new RemoveSuccessor functionChris Lattner2002-07-291-4/+51
| | | | llvm-svn: 3131
* Fix bug: test/Regression/Transforms/ADCE/2002-07-29-Segfault.llChris Lattner2002-07-291-28/+60
| | | | llvm-svn: 3129
* 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-272-3/+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: 3116
* * 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-2620-26/+26
| | | | | | | | | | | | | | | * 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-269-16/+16
| | | | | | | | | | | | | | | * 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-261-9/+8
| | | | llvm-svn: 3105
* *** empty log message ***Chris Lattner2002-07-254-4/+5
| | | | llvm-svn: 3075
* *** empty log message ***Chris Lattner2002-07-241-1/+1
| | | | llvm-svn: 3072
* Eliminate several include/llvm/Transforms/IPO/*.h files, moving their ↵Chris Lattner2002-07-244-4/+4
| | | | | | contents into IPO.h llvm-svn: 3043
* Merge ChangeAllocations into scalar.hChris Lattner2002-07-232-2/+2
| | | | llvm-svn: 3038
* Rename headerChris Lattner2002-07-231-1/+1
| | | | llvm-svn: 3037
* Cleanup and simplify codeChris Lattner2002-07-231-59/+22
| | | | llvm-svn: 3036
* Incorporate ConstantMerge.h into IPO.hChris Lattner2002-07-231-3/+2
| | | | llvm-svn: 3035
* Rename LevelChange.h to RaisePointerReferences.hChris Lattner2002-07-231-1/+1
| | | | llvm-svn: 3034
* *** empty log message ***Chris Lattner2002-07-2320-55/+48
| | | | llvm-svn: 3016
* * Remove getPassName implementationChris Lattner2002-07-235-12/+12
| | | | | | * Register all Passes llvm-svn: 3015
* * Cleanup the pass a bit more, making it more object oriented.Chris Lattner2002-07-231-65/+48
| | | | | | | * Split the two behaviors of the InsertTraceCode class into two subclasses * Register Passes llvm-svn: 3014
* * Break the two different behaviors of SimpleStructMutation into two subclassesChris Lattner2002-07-231-26/+42
| | | | | | * Register the passes llvm-svn: 3013
* * Make the ctor take a TargetData even though it's not using it yetChris Lattner2002-07-231-4/+7
| | | | | | * Register the pass llvm-svn: 3012
* * Remove lots of dead stuffChris Lattner2002-07-231-10/+1
| | | | | | * Register Pass llvm-svn: 3011
* *** empty log message ***Chris Lattner2002-07-236-7/+7
| | | | llvm-svn: 3002
* Hide extra argumentChris Lattner2002-07-221-1/+1
| | | | llvm-svn: 2986
* *** empty log message ***Chris Lattner2002-07-223-22/+34
| | | | llvm-svn: 2985
* comeented out debug printingAnand Shukla2002-07-211-3/+3
| | | | llvm-svn: 2980
* minor correctionsAnand Shukla2002-07-186-139/+187
| | | | llvm-svn: 2971
* Seperate stats for DCE'd functions and varsChris Lattner2002-07-181-3/+4
| | | | llvm-svn: 2961
* *** empty log message ***Chris Lattner2002-07-181-2/+3
| | | | llvm-svn: 2959
* Only functions with external linkage can be resolved to function declarations.Chris Lattner2002-07-181-2/+6
| | | | | | | This change fixes programs that have multiple functions named the same thing, where are least one of them is static/internal. llvm-svn: 2954
* * 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
* * Correctly get prototype for void*malloc(size_t)Chris Lattner2002-07-181-2/+11
| | | | llvm-svn: 2951
* Implement linking of ConstExprsChris Lattner2002-07-181-9/+43
| | | | llvm-svn: 2946
* Anand forgot to check in the makefile corresponding to his previous changeChris Lattner2002-07-171-1/+1
| | | | | | which eliminated the EmitFunctions directory llvm-svn: 2937
* * Remove dead code from ExprTypeConvert.cppChris Lattner2002-07-173-66/+83
| | | | | | | | | | | | - I->use_empty() can never be true because of the IHolder's * Fix bug: test/Regression/Transforms/LevelRaise/2002-07-16-SourceAndDestCrash.ll - Add a new NewCasts member to VMC to keep track of casts that have been created and to ensure there is always a reference to the cast. - Extend ValueHandle a bit so it can be used in an STL container - Make sure we destroy the ValueMapCache before verifying the function in LevelRaise.cpp llvm-svn: 2936
* * Add a bunch of debugging features to LevelRaiseChris Lattner2002-07-161-4/+37
| | | | | | | - Verify the function every time it is exprconverted if DEBUG is on - Provide a way to start exprconversion AT a specific instruction. llvm-svn: 2934
* Avoid !sized assertion failure if Ty is not a sized typeChris Lattner2002-07-161-1/+2
| | | | llvm-svn: 2933
* Fix bug: test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash2.llChris Lattner2002-07-161-1/+3
| | | | llvm-svn: 2932
* Moved over EmitFunctions to this libraryAnand Shukla2002-07-161-0/+45
| | | | llvm-svn: 2928
* removed this directoryAnand Shukla2002-07-161-5/+0
| | | | llvm-svn: 2927
* Moved EmitFunctions.cpp up to instrumentation directoryAnand Shukla2002-07-161-45/+0
| | | | llvm-svn: 2926
* Bugfix to previous checkinChris Lattner2002-07-161-1/+1
| | | | llvm-svn: 2924
* * Cleanup passChris Lattner2002-07-161-17/+10
| | | | | | | | * The global variable cannot be internal or else we cannot use it! * Always add a function to the table, even if it only has a single basic block. llvm-svn: 2921
OpenPOWER on IntegriCloud