summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/LevelRaise.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert transforms over to standardize debugging output on -debug optionChris Lattner2002-05-221-33/+9
| | | | llvm-svn: 2714
* 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 llvm-svn: 2621
* * 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. llvm-svn: 2597
* Reduce dependance on TransformInternals.h, instead using the TransformUtils ↵Chris Lattner2002-05-071-2/+2
| | | | | | library llvm-svn: 2518
* ExprTypeConvert will already do this transformation, no need to specializeChris Lattner2002-05-021-21/+0
| | | | | | it here. llvm-svn: 2431
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-2/+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/+4
| | | | | | indicate whether or not they invalidate the CFGA llvm-svn: 2386
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-1/+1
| | | | llvm-svn: 2378
* * 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 llvm-svn: 2333
* s/Method/FunctionChris Lattner2002-04-081-3/+1
| | | | | | Remove extraneous #includes of llvm/Assembly/Writer llvm-svn: 2178
* ConstantHandling moved into VMCore libraryChris Lattner2002-04-081-1/+1
| | | | llvm-svn: 2165
* 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. llvm-svn: 2144
* 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. llvm-svn: 1929
* Namespace qualify debugging codeChris Lattner2002-03-211-1/+1
| | | | llvm-svn: 1921
* * 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 llvm-svn: 1861
* 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. llvm-svn: 1816
* MethodPass's are now guaranteed to not be run on external methods!Chris Lattner2002-01-311-2/+0
| | | | llvm-svn: 1611
* Move stuff out of the Optimizations directories into the appropriate TransformsChris Lattner2002-01-211-5/+5
| | | | | | directories. Eliminate the opt namespace. llvm-svn: 1520
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-4/+4
| | | | llvm-svn: 1503
* * Support pointer indexingChris Lattner2001-12-141-210/+33
| | | | | | | | | * Unsized arrays are a thing of the past, remove DoInsertArrayCast family * Remove cases were we would get into infinite loops because we would insert a cast which would then be removed, inserting a different cast, ad infinitum... * Remove some code that should be redundant with ExprTypeConvert code llvm-svn: 1465
* Remove code that is superceeded by code in ExprTypeConvert.cppChris Lattner2001-12-071-40/+1
| | | | llvm-svn: 1431
* We can do cast-add elimination even on casts that reinterpretChris Lattner2001-12-061-13/+11
| | | | llvm-svn: 1427
* Fix pessimizations on sized arraysChris Lattner2001-12-051-2/+4
| | | | llvm-svn: 1423
* Hrm, don't do debugging output when debugging is off. :(Chris Lattner2001-12-051-3/+3
| | | | llvm-svn: 1420
* Fixes to type conversion stuff to match induction variables more frequentlyChris Lattner2001-12-051-19/+119
| | | | llvm-svn: 1417
* Remove printoutsChris Lattner2001-12-041-2/+7
| | | | llvm-svn: 1413
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-7/+7
| | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() llvm-svn: 1408
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-5/+4
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-1/+1
| | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400
* Turn off debug infoChris Lattner2001-11-261-1/+1
| | | | llvm-svn: 1396
* Include const prop as part of -raiseChris Lattner2001-11-261-1/+3
| | | | llvm-svn: 1379
* Clean up code, implement array indexing stuffChris Lattner2001-11-261-423/+175
| | | | llvm-svn: 1340
* Remove much cruft from the MemAccessInst instructionChris Lattner2001-11-141-4/+4
| | | | llvm-svn: 1298
* Better heuristics for handling arraysChris Lattner2001-11-141-50/+175
| | | | llvm-svn: 1296
* Avoid assertion failure when taking size of unsized array. Todo item herEChris Lattner2001-11-131-0/+7
| | | | llvm-svn: 1286
* Improve raising significantlyChris Lattner2001-11-081-54/+93
| | | | llvm-svn: 1214
* Fix bugsChris Lattner2001-11-061-1/+3
| | | | llvm-svn: 1152
* Fix bug with ADD nodes and malloc promotionChris Lattner2001-11-051-9/+29
| | | | llvm-svn: 1144
* Use the expression map correctly.Chris Lattner2001-11-051-6/+3
| | | | llvm-svn: 1140
* Refactor code to share stuffChris Lattner2001-11-041-558/+2
| | | | llvm-svn: 1127
* * Relax restriction that prevented malloc promotion in certain casesChris Lattner2001-11-041-21/+22
| | | | llvm-svn: 1125
* * Disable debug outputChris Lattner2001-11-041-22/+48
| | | | | | | * fix minor bug with taking datasize of unsized array type * Insert code to support speculative changes later llvm-svn: 1122
* Convert backward conversion of expression trees into a new more powerful ↵Chris Lattner2001-11-041-11/+297
| | | | | | bidirectional approach. Add transforms for more instructions. llvm-svn: 1121
* Minor method renameChris Lattner2001-11-041-4/+4
| | | | llvm-svn: 1119
* Add transformations for Load and GetElementPtr. Fix broken transform with shr.Chris Lattner2001-11-041-0/+99
| | | | llvm-svn: 1118
* * Add comments for peepholesChris Lattner2001-11-011-3/+91
| | | | | | | | | | | | | | * Implement new peephole: // Peephole optimize the following instructions: // %t1 = cast {<...>} * %StructPtr to <ty> * // // Into: %t2 = getelementptr {<...>} * %StructPtr, <0, 0, 0, ...> // %t1 = cast <eltype> * %t1 to <ty> * This peephole eliminated 9 evil casts in the health benchmark, and completely turned the addList method around. :) llvm-svn: 1085
* Add DCE as integral part of the level raising to avoid processing ↵Chris Lattner2001-11-011-4/+9
| | | | | | instructions that are dead llvm-svn: 1084
* * Implement expression type conversion for constant valuesChris Lattner2001-11-011-11/+76
| | | | | | | | | | | | | | | * Fix a problem setting a name on a constant value that died because no symbol table was passed in * Add some comments describing the passes * Implement a new peephole: // Peephole optimize the following instructions: // %t = cast <T1>* %P to <T2> * ;; If T1 is losslessly convertable to T2 // store <T2> %V, <T2>* %t // // Into: // %t = cast <T2> %V to <T1> // store <T1> %t2, <T1>* %P llvm-svn: 1080
* * Convert getelementptr/store pairs into a single storeChris Lattner2001-11-011-1/+26
| | | | | | * Convert getelementptr/load pairs into a single load llvm-svn: 1075
OpenPOWER on IntegriCloud