aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/LevelRaise.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Hopefully, the final fix for `[Pp]ropogate'.Misha Brukman2003-05-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6251 91177308-0d34-0410-b5e6-96231b3b80d8
* s/convertable/convertible/gMisha Brukman2003-05-201-15/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8
* Attempt to fix sumant's typesafety issueChris Lattner2003-05-021-5/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5984 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: LevelRaise/2003-05-01-CallCast.llChris Lattner2003-05-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5975 91177308-0d34-0410-b5e6-96231b3b80d8
* Create constant expression casts instead of constant instructions if possibleChris Lattner2003-04-281-2/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5968 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid naming things exactly the sameChris Lattner2003-04-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5966 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the levelraise pass be well behaved w.r.t the TargetData that the currentChris Lattner2003-04-241-38/+39
| | | | | | | PassMAnager provides. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5896 91177308-0d34-0410-b5e6-96231b3b80d8
* - Eliminated the deferred symbol table stuff in Module & Function, it reallyChris Lattner2002-11-201-1/+1
| | | | | | | wasn't an optimization and it was causing lots of bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779 91177308-0d34-0410-b5e6-96231b3b80d8
* Ensure definate initializationChris Lattner2002-10-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4263 91177308-0d34-0410-b5e6-96231b3b80d8
* - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG toChris Lattner2002-10-211-1/+1
| | | | | | | setPreservesCFG to be less confusing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4255 91177308-0d34-0410-b5e6-96231b3b80d8
* - Fix bug: LevelRaise/2002-10-08-VarArgCall.llChris Lattner2002-10-081-1/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4083 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to work with recent Statistic's changes:Chris Lattner2002-10-011-6/+6
| | | | | | | | | | | | | * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4001 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed typo.Misha Brukman2002-09-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3801 91177308-0d34-0410-b5e6-96231b3b80d8
* - Change getelementptr instruction to use long indexes instead of uintChris Lattner2002-09-111-2/+2
| | | | | | | indexes for sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3681 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code (somtimes dramatically), by using the new "auto-insert" featureChris Lattner2002-09-101-10/+7
| | | | | | | of instruction constructors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3656 91177308-0d34-0410-b5e6-96231b3b80d8
* - Renamed Type::isIntegral() to Type::isInteger()Chris Lattner2002-09-031-1/+1
| | | | | | | | - Added new method Type::isIntegral() that is the same as isInteger, but also accepts bool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3574 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-08-221-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3483 91177308-0d34-0410-b5e6-96231b3b80d8
* * 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3113 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename LevelChange.h to RaisePointerReferences.hChris Lattner2002-07-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3034 91177308-0d34-0410-b5e6-96231b3b80d8
* * Make the ctor take a TargetData even though it's not using it yetChris Lattner2002-07-231-4/+7
| | | | | | | * Register the pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3012 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-07-221-11/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
* * Remove dead code from ExprTypeConvert.cppChris Lattner2002-07-171-10/+15
| | | | | | | | | | | | | - 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2936 91177308-0d34-0410-b5e6-96231b3b80d8
* * 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2934 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash2.llChris Lattner2002-07-161-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2932 91177308-0d34-0410-b5e6-96231b3b80d8
* Bugfix to previous checkinChris Lattner2002-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2924 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add assertion to ExprTypeConvert to detect error earlier than without itChris Lattner2002-07-161-0/+1
| | | | | | | | * Fix bug in LevelRaise.cpp, correcting this problem: test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2920 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up anands patchChris Lattner2002-06-301-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2812 91177308-0d34-0410-b5e6-96231b3b80d8
* added include<iostream> for cerrAnand Shukla2002-06-251-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2793 91177308-0d34-0410-b5e6-96231b3b80d8
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2791 91177308-0d34-0410-b5e6-96231b3b80d8
* MEGAPATCH checkin.Chris Lattner2002-06-251-32/+28
| | | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the interface to local DCE and Constant propChris Lattner2002-05-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2749 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comments to reflect realityChris Lattner2002-05-241-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2741 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert transforms over to standardize debugging output on -debug optionChris Lattner2002-05-221-33/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2714 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a major source of "type unsafety", where a cast is neccesary, but canChris Lattner2002-05-141-2/+40
| | | | | | | | | | be put either before or after a load. We chose to cast the value loaded instead of the pointer to load from. Fixes bug: test/Regression/Transforms/LevelRaise/2002-05-10-LoadPeephole.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2621 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add support for the -stats command line option to report how much is changedChris Lattner2002-05-101-2/+24
| | | | | | | | | * Make cast-of-self-ty DCE the dead cast instruction immediately instead of waiting for it to be DCE'd by another sweep over the function. This speeds this up noticably. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2597 91177308-0d34-0410-b5e6-96231b3b80d8
* Reduce dependance on TransformInternals.h, instead using the TransformUtils ↵Chris Lattner2002-05-071-2/+2
| | | | | | library git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2518 91177308-0d34-0410-b5e6-96231b3b80d8
* ExprTypeConvert will already do this transformation, no need to specializeChris Lattner2002-05-021-21/+0
| | | | | | | it here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2431 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-0/+2
| | | | | | | to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
* Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵Chris Lattner2002-04-281-0/+4
| | | | | | indicate whether or not they invalidate the CFGA git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2386 91177308-0d34-0410-b5e6-96231b3b80d8
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-271-4/+4
| | | | | | | | | | | | | | | | - 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
* s/Method/FunctionChris Lattner2002-04-081-3/+1
| | | | | | | Remove extraneous #includes of llvm/Assembly/Writer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2178 91177308-0d34-0410-b5e6-96231b3b80d8
* ConstantHandling moved into VMCore libraryChris Lattner2002-04-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2165 91177308-0d34-0410-b5e6-96231b3b80d8
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-071-8/+8
| | | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the: test/Regression/Other/2002-03-20-LevelRaiseCrash.ll bug. It turnedChris Lattner2002-03-211-5/+24
| | | | | | | | out that almost always the result of the add was the same as the GEP that would be generated. In this case, however, it wasn't, so bad things happened. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1929 91177308-0d34-0410-b5e6-96231b3b80d8
* Namespace qualify debugging codeChris Lattner2002-03-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1921 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fix bug: test/Regression/Other/2002-03-11-LevelRaiseIterInvalidate.llChris Lattner2002-03-111-10/+4
| | | | | | | | * Use more concise form of ReplaceInstWithInst to make code simpler * Output nicer message for dead code eliminated when debugging git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1861 91177308-0d34-0410-b5e6-96231b3b80d8
* Change over to use new style pass mechanism, now passes only expose smallChris Lattner2002-02-261-5/+15
| | | | | | | creation functions in their public header file, unless they can help it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
* MethodPass's are now guaranteed to not be run on external methods!Chris Lattner2002-01-311-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1611 91177308-0d34-0410-b5e6-96231b3b80d8