summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Ok, really it only takes me 3 times to get this right!Chris Lattner2002-05-021-1/+1
| | | | | | Now use #if 0 instead of #ifdef 0 llvm-svn: 2448
* Oops, disable debugging code all the way. :)Chris Lattner2002-05-021-1/+1
| | | | llvm-svn: 2447
* * Finish the implementation of isEdgeFeasible this fixes bug:Chris Lattner2002-05-021-57/+77
| | | | | | | | | test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll * SCCP now preserves the CFG: It leaves conditional branches the way they are in the program, not simplifying them. A seperate pass should eliminate the potentially dead basic blocks and edges in the CFG. llvm-svn: 2446
* * Enable SCCP debugging to be turned on with a simple change of #defineChris Lattner2002-05-021-32/+52
| | | | | | | | | | | | | * Change worklist to a set so that duplicates cannot happen * Add support for the invoke instruction * Avoid marking store and free instructions as overdefined, since they cannot produce a value anyway. * Inline the OperandChangedState implementation * Add isEdgeFeasible in preparation to fix a bug. Right now it behaves exactly as before. * Remove obsolete comment about constant pools llvm-svn: 2445
* * Simplify the code by not bothering to name the folded constantChris Lattner2002-05-021-10/+7
| | | | | | | | * Do not skip the instruction immediately after a folded instruction. This was causing the testcase failure: test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll llvm-svn: 2443
* Implement cast operations on booleans to allow casting bools to ints, f.e.Chris Lattner2002-05-021-1/+2
| | | | llvm-svn: 2437
* * Fix a bug (test/Regression/Assembler/2002-05-02-InvalidForwardRef.ll)Chris Lattner2002-05-021-2/+3
| | | | | | | introduced in the 1.66 revision of this file. * Convert a hard coded constant to a symbolic value. llvm-svn: 2436
* The implementation keyword is no longer neccesaryChris Lattner2002-05-021-1/+1
| | | | llvm-svn: 2434
* The "implementation" is now allowed but not required by the parser. All typeChris Lattner2002-05-021-30/+32
| | | | | | | definitions must still occur before function bodies, but the wierd keyword is no longer neccesary. llvm-svn: 2433
* 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
* Fix problem where subpasses would invalidate all analyses outstandingChris Lattner2002-04-301-0/+8
| | | | llvm-svn: 2418
* 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
* Make the range insert operation return an iterator, even though the STLChris Lattner2002-04-291-3/+11
| | | | | | range insert doesn't llvm-svn: 2413
* 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
* Fix #include broken by iMemory.h not including DerivedTypes.hChris Lattner2002-04-291-1/+1
| | | | llvm-svn: 2407
* Add neccesary #includeChris Lattner2002-04-291-0/+1
| | | | llvm-svn: 2406
* changes because iMemory.h no longer #includes DerivedTypes.hChris Lattner2002-04-292-2/+4
| | | | | | This only requires Type.h anyway llvm-svn: 2405
* Changes so that iMemory.h doesn't include DerivedTypes.hChris Lattner2002-04-292-0/+19
| | | | llvm-svn: 2404
* Fix bug: test/Regression/Other/2002-04-29-NameBinding.llChris Lattner2002-04-291-12/+1
| | | | llvm-svn: 2402
* Eliminate dead global variablesChris Lattner2002-04-291-2/+20
| | | | llvm-svn: 2400
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-2954-82/+8
| | | | 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-2931-15/+102
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* Add a new command line option for PassManager using utilities.Chris Lattner2002-04-292-11/+144
| | | | | | | | Now for llc, gccas, analyze, opt, etc you can specify the -time-passes command line option that outputs a timing summary report that indicates how long each pass takes to execute. llvm-svn: 2394
* More cleanupsChris Lattner2002-04-291-59/+54
| | | | llvm-svn: 2392
* Code cleanupsChris Lattner2002-04-291-127/+111
| | | | llvm-svn: 2391
* Remove dead codeChris Lattner2002-04-282-15/+3
| | | | llvm-svn: 2390
* FIXME removed: malloc/alloca ALWAYS have a size argumentChris Lattner2002-04-281-7/+2
| | | | llvm-svn: 2389
* Todo has been implemented, remove itChris Lattner2002-04-281-3/+0
| | | | llvm-svn: 2387
* Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵Chris Lattner2002-04-2814-4/+53
| | | | | | indicate whether or not they invalidate the CFGA llvm-svn: 2386
* Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()Chris Lattner2002-04-281-14/+15
| | | | llvm-svn: 2384
* * Add a stub to FunctionPass so that subclasses can declare that they do notChris Lattner2002-04-281-4/+28
| | | | | | | | | | modify the CFG. It currently does nothing, but will in the future. * Changes to make the public PassManager.h be MUCH smaller, and devoid of implementation details. Now PassManager is just a Pimpl class that wraps PassManagerT<Module>, but lib/VMCore/Pass.cpp is now the only class that has to #include PassManagerT.h llvm-svn: 2383
* Move include/llvm/PassManager.h to lib/VMCore/PassManagerT.hChris Lattner2002-04-281-6/+9
| | | | llvm-svn: 2382
* Add #include that was removed from TargetMachine.hChris Lattner2002-04-282-0/+2
| | | | llvm-svn: 2381
* Include appropriate fileChris Lattner2002-04-281-0/+2
| | | | llvm-svn: 2379
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-2839-46/+45
| | | | llvm-svn: 2378
* Simplify and update code a bitChris Lattner2002-04-281-5/+5
| | | | llvm-svn: 2376
* 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-2813-109/+101
| | | | | | to the global namespace llvm-svn: 2370
OpenPOWER on IntegriCloud