summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug: Assembler/2003-03-03-DuplicateConstant.llChris Lattner2003-03-031-4/+6
| | | | llvm-svn: 5692
* ADd two new 'add' methodsChris Lattner2003-03-031-0/+28
| | | | llvm-svn: 5691
* Eliminate tons of bogus warningsChris Lattner2003-03-031-8/+10
| | | | llvm-svn: 5686
* Change the mem2reg interface to accept a TargetData argumentChris Lattner2003-03-033-9/+19
| | | | llvm-svn: 5685
* Don't apply type information to load instructions if it will cause collapsingChris Lattner2003-03-032-6/+7
| | | | llvm-svn: 5684
* Fix a problem with negative indexesChris Lattner2003-03-021-3/+3
| | | | llvm-svn: 5681
* Fix bug: LICM/2003-02-28-PromoteDifferentType.llChris Lattner2003-02-281-2/+8
| | | | llvm-svn: 5675
* Add dump method for LoopsChris Lattner2003-02-281-0/+4
| | | | llvm-svn: 5671
* Fix bug I introduced yesterday :(Chris Lattner2003-02-281-1/+2
| | | | llvm-svn: 5669
* Fix bug: LICM/2003-02-27-PreheaderExitNodeUpdate.llChris Lattner2003-02-281-1/+5
| | | | llvm-svn: 5667
* Fix bug: 2003-02-27-PreheaderExitNodeUpdate.ll by updating exit node infoChris Lattner2003-02-271-0/+16
| | | | llvm-svn: 5664
* Simplify a bit by using a new member functionChris Lattner2003-02-271-6/+3
| | | | llvm-svn: 5662
* Change behavior of changeExitBlock function to replace all instances of exit ↵Chris Lattner2003-02-271-2/+8
| | | | | | block llvm-svn: 5661
* Add a new assertion to check that stuff is happening rightChris Lattner2003-02-271-3/+8
| | | | | | | Ironically the exit block modification code wasn't updating the exit block information itself. Fix this. llvm-svn: 5659
* Fix bug: 2003-02-27-StoreSinkPHIs.llChris Lattner2003-02-271-1/+4
| | | | llvm-svn: 5658
* Fix bug: LICM/2003-02-27-PreheaderProblem.llChris Lattner2003-02-271-0/+7
| | | | | | | | There may be a single outside predecessor and still need a new loop-preheader if the predecessor has multiple successors. llvm-svn: 5656
* * Don't forget to update Loop information!Chris Lattner2003-02-271-3/+5
| | | | | | | | * Remove bogus assertion: there may be a single outside predecessor and still need a new loop-preheader if the predecessor has multiple successors. See bug: LICM/2003-02-27-PreheaderProblem.ll llvm-svn: 5655
* Replace assertion with a handler.Chris Lattner2003-02-271-15/+21
| | | | llvm-svn: 5653
* * Significant changes to the preheader insertion pass:Chris Lattner2003-02-271-42/+219
| | | | | | | | | - Now we perform loop exit-block splitting to ensure exit blocks are always dominated by the loop header. - We now preserve dominance frontier information - This fixes bug: LICM/2003-02-26-LoopExitNotDominated.ll llvm-svn: 5652
* - LoopInfo now calculates and tracks loop exit blocksChris Lattner2003-02-271-11/+40
| | | | llvm-svn: 5650
* Make the aliassettracker much more precise by actually tracking sizeChris Lattner2003-02-261-20/+33
| | | | | | information for various accesses. What a concept. llvm-svn: 5647
* Fix bug: BasicAA/2003-02-26-AccessSizeTest.llChris Lattner2003-02-261-11/+36
| | | | llvm-svn: 5645
* Fix several bugs in basic-aaChris Lattner2003-02-261-5/+10
| | | | llvm-svn: 5643
* Rename -no-* to -disable-*Chris Lattner2003-02-262-2/+2
| | | | llvm-svn: 5642
* Add new -no-aa implementationChris Lattner2003-02-261-0/+19
| | | | llvm-svn: 5641
* Move BasicAA pass out to it's own header fileChris Lattner2003-02-262-258/+292
| | | | llvm-svn: 5640
* Adjust to implement new AA interfaceChris Lattner2003-02-262-31/+17
| | | | llvm-svn: 5638
* Adjust to new AA interfaceChris Lattner2003-02-261-1/+1
| | | | llvm-svn: 5637
* Convert to work with new AliasAnalysis interface by conservatively assuming ↵Chris Lattner2003-02-262-12/+14
| | | | | | all pointers are arbitrarily large accesses llvm-svn: 5636
* Calculate and pass load sizes to the alias analysis infrastructureChris Lattner2003-02-261-8/+19
| | | | llvm-svn: 5635
* Adjust to new AA interfaceChris Lattner2003-02-261-17/+48
| | | | | | Add tracking for Mod/Ref info llvm-svn: 5634
* - Checkin of the alias analysis work:Chris Lattner2003-02-261-78/+187
| | | | | | | | | * Takes into account the size of the memory reference to determine aliasing. * Expose mod/ref information in a more consistent way * BasicAA can now disambiguate A[i][1] and A[j][2] for conservative request sizes llvm-svn: 5633
* Allow ImmutablePass's to require other immutable passes and to be initializedChris Lattner2003-02-261-0/+26
| | | | llvm-svn: 5630
* Fix typeoChris Lattner2003-02-251-1/+1
| | | | llvm-svn: 5624
* Remove wierd case that can never happenChris Lattner2003-02-251-3/+0
| | | | llvm-svn: 5623
* Rename Instruction::hasSideEffects() -> mayWriteToMemory()Chris Lattner2003-02-243-3/+3
| | | | llvm-svn: 5620
* This is a substantial rewrite of the AliasSetTracker class which now usesChris Lattner2003-02-241-111/+218
| | | | | | | | | | | a union-find based algorithm, is significantly faster, and is more general. It will also scale to handle call instructions correctly, which is a nice added bonus. This includes a new pass -print-alias-sets which can be used to show how alias sets are formed for a particular analysis. llvm-svn: 5619
* Initial implementation of Loop invariant memory->scalar promotionChris Lattner2003-02-241-33/+328
| | | | llvm-svn: 5613
* Split mem2reg promotion into two parts: a function which does the work, andChris Lattner2003-02-222-85/+112
| | | | | | a pass which wraps the function. This allows other passes to use the functionality llvm-svn: 5610
* Clean up std namespace referencesChris Lattner2003-02-221-32/+29
| | | | llvm-svn: 5608
* Dramatically simplify building of natural loops and fix a bug where the BBMapChris Lattner2003-02-221-37/+23
| | | | | | was not correctly computed. llvm-svn: 5606
* Fix the requisite bug that I introducedChris Lattner2003-02-201-11/+13
| | | | llvm-svn: 5605
* Fix 80 character formattingChris Lattner2003-02-201-4/+4
| | | | llvm-svn: 5604
* Fix bug: 2003-02-19-LoopInfoNestingBug.llChris Lattner2003-02-201-15/+35
| | | | llvm-svn: 5603
* 4 new transformations:Chris Lattner2003-02-181-0/+42
| | | | | | | | | * X*C + X --> X * (C+1) * X + X*C --> X * (C+1) * X - X*C --> X * (1-C) * X*C - X --> X * (C-1) llvm-svn: 5592
* Add a variety of new transformations:Chris Lattner2003-02-181-48/+140
| | | | | | | | | | | | | | | | * A & ~A == 0 * A / (2^c) == A >> c if unsigned * 0 / A == 0 * 1.0 * A == A * A * (2^c) == A << c * A ^ ~A == -1 * A | ~A == -1 * 0 % X = 0 * A % (2^c) == A & (c-1) if unsigned * A - (A & B) == A & ~B * -1 - A == ~A llvm-svn: 5587
* Fix resolution of indirect function calls... whoopsChris Lattner2003-02-141-1/+1
| | | | llvm-svn: 5576
* Changes to runtime frameworkAnand Shukla2003-02-147-85/+190
| | | | llvm-svn: 5572
* Mark function edgesChris Lattner2003-02-141-0/+2
| | | | llvm-svn: 5571
* Fix a bug that cause a crash resolving questionable function callsChris Lattner2003-02-141-2/+4
| | | | llvm-svn: 5567
OpenPOWER on IntegriCloud