summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
...
* ExprTypeConvert will already do this transformation, no need to specializeChris Lattner2002-05-021-21/+0
| | | | | | it here. llvm-svn: 2431
* Be a little more efficient, do not generate loads and stores with indices in ↵Chris Lattner2002-05-021-25/+37
| | | | | | them. llvm-svn: 2430
* Fix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.llChris Lattner2002-05-021-0/+9
| | | | llvm-svn: 2429
* * Add ability to eliminate a bunch of different cascading cast variationsChris Lattner2002-05-021-2/+60
| | | | | | * Allow elimination of getelementptr X, uint 0 (which is a noop) llvm-svn: 2428
* Fixed bug: ↵Chris Lattner2002-05-011-0/+3
| | | | | | test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll llvm-svn: 2423
* Remove unneccesary passChris Lattner2002-04-301-86/+0
| | | | llvm-svn: 2420
* Add folding rules for mul X, 0 and mul X, 2Chris Lattner2002-04-291-3/+13
| | | | llvm-svn: 2417
* Significantly clean up SCCP pass. Now the two classes are merged and inChris Lattner2002-04-291-44/+37
| | | | | | an anonymous namespace where they belong. llvm-svn: 2415
* Range insertion now returns an iteratorChris Lattner2002-04-291-5/+2
| | | | llvm-svn: 2414
* Remove unused files: This is the old induction varaible cannonicalizationChris Lattner2002-04-291-408/+0
| | | | | | pass built on top of interval analysis llvm-svn: 2411
* Fix for problem when allocating something like this:Chris Lattner2002-04-291-7/+3
| | | | | | malloc(100-i); llvm-svn: 2409
* changes because iMemory.h no longer #includes DerivedTypes.hChris Lattner2002-04-292-2/+4
| | | | | | This only requires Type.h anyway llvm-svn: 2405
* Eliminate dead global variablesChris Lattner2002-04-291-2/+20
| | | | llvm-svn: 2400
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-2917-33/+1
| | | | llvm-svn: 2397
* Remove broken assertion.Chris Lattner2002-04-291-3/+5
| | | | llvm-svn: 2396
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-2922-10/+63
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* More cleanupsChris Lattner2002-04-291-59/+54
| | | | llvm-svn: 2392
* Code cleanupsChris Lattner2002-04-291-127/+111
| | | | llvm-svn: 2391
* Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵Chris Lattner2002-04-2812-3/+40
| | | | | | indicate whether or not they invalidate the CFGA llvm-svn: 2386
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-2818-18/+17
| | | | 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-285-26/+22
| | | | | | to the global namespace llvm-svn: 2370
* Be careful not to make "external" function internalChris Lattner2002-04-281-2/+3
| | | | llvm-svn: 2363
* Initial checkin of new "Internalize" pass for GCCLDChris Lattner2002-04-281-0/+38
| | | | llvm-svn: 2362
* Initial checkin of simple&fast SSA based GCSE algorithmChris Lattner2002-04-281-0/+272
| | | | llvm-svn: 2338
* 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-274-42/+41
| | | | llvm-svn: 2336
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-2721-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 successorChris Lattner2002-04-272-6/+11
| | | | | | IDX is out of range instead of returning null. llvm-svn: 2332
* * Change Constant::getNullConstant to Constant::getNullValueChris Lattner2002-04-271-35/+51
| | | | | | * Add support for pool allocating array allocations of varying size llvm-svn: 2329
* Change Constant::getNullConstant to Constant::getNullValueChris Lattner2002-04-274-12/+10
| | | | llvm-svn: 2323
* Programs that actually free memory were brokenChris Lattner2002-04-181-1/+1
| | | | llvm-svn: 2307
* Add a fixme so that we don't forget this is broken.Chris Lattner2002-04-181-0/+3
| | | | llvm-svn: 2298
* Significantly rework InstructionCombining to work better and to be cleaner.Chris Lattner2002-04-181-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 switchChris Lattner2002-04-181-181/+136
| | | | llvm-svn: 2286
* GEP instructions can never be constant propogated.Chris Lattner2002-04-181-7/+12
| | | | llvm-svn: 2284
* Store instructions always return void, so they never get a nameChris Lattner2002-04-181-2/+1
| | | | llvm-svn: 2283
* Correctly transform dependant arguments, allowing the perimeter bm to work.Chris Lattner2002-04-181-82/+303
| | | | llvm-svn: 2282
* Add casts for documentationChris Lattner2002-04-161-2/+2
| | | | llvm-svn: 2272
* * Clean up the code a bitChris Lattner2002-04-161-8/+4
| | | | | | | | * Allow structs with negative offsets. This enables the em3d benchmark to be made typesafe. In this case, the struct had an array as the first element, so a negative index was ok (the expr was -8 + 8x) llvm-svn: 2271
* run an extra pass after a function has been transformed to eliminateChris Lattner2002-04-151-0/+122
| | | | | | obviously duplicate loads of the pool base. llvm-svn: 2255
* Eliminate cast of same type instructions.Chris Lattner2002-04-151-0/+8
| | | | llvm-svn: 2251
* * s/Method/FunctionChris Lattner2002-04-141-27/+18
| | | | | | * Fix bug where the character after a % was being discarded llvm-svn: 2248
* Turn off debug outputChris Lattner2002-04-141-9/+36
| | | | llvm-svn: 2247
* * Allow datasize to be specified on the commandlineChris Lattner2002-04-131-13/+58
| | | | | | | | * Build new datatypes correctly * Transform instructions that return null pointers from functions to return a null index. llvm-svn: 2244
* * Give alloca's for pool descriptors better names than "pool<n>".Chris Lattner2002-04-131-5/+28
| | | | | | * Fill in the pool descriptor links in the pool descriptors. llvm-svn: 2239
* * Add names to the symbol table for pool types and modified typesChris Lattner2002-04-131-11/+45
| | | | | | | | * Handle more complex structure so that power works almost * Fix bug with pooldestroy call where we passed in the size of the object instead of the pool to destroy. bisort is now pool allocated successfully! llvm-svn: 2238
OpenPOWER on IntegriCloud