summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* * 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
* - Eliminate provably non-pointer nodes from graphs.Chris Lattner2003-02-141-5/+22
| | | | | | | | | | | | | | This helps a lot of testcases, for example: New Time New #Nodes Old Time Old #Nodes 254.gap: 91.1024 21605 91.1397 22657 povray31: 2.7807 8613 3.0152 10338 255.vortex: 1.2034 8153 1.2172 8822 moria: .6756 3150 .7054 3877 300.twolf: .1652 2010 .1851 3270 Typically, testcases which use long and ulong integers a lot get better, f.e. povray above. llvm-svn: 5566
* Fix a misunderstanding of the standard associative containersChris Lattner2003-02-142-14/+4
| | | | llvm-svn: 5565
* Don't put integer pointers (longs) into the scalar map.Chris Lattner2003-02-141-0/+10
| | | | | | This speeds stuff up by 10% on some tests, woot! llvm-svn: 5564
* Fix bug: LevelRaise/2003-02-13-CallRaise.llChris Lattner2003-02-141-0/+5
| | | | llvm-svn: 5562
* Hax0r around a deficiency in the Pass infrastructureChris Lattner2003-02-131-2/+5
| | | | llvm-svn: 5555
* Use the new tailclip property new added to graphviz CVS to make call nodesChris Lattner2003-02-131-5/+4
| | | | | | actually intelligable llvm-svn: 5554
* This speeds up processing LLVM a _lot_, 17% in the case of loading and ↵Chris Lattner2003-02-131-1/+2
| | | | | | destroying "vortex" llvm-svn: 5553
* Move node forwarding code from being inlined to being out-of-line.Chris Lattner2003-02-131-0/+21
| | | | | | This brings a 11.6% speedup to steens, and a 3.6 overall speedup to ds-aa llvm-svn: 5552
* Make more compatible with GCC 2.96Chris Lattner2003-02-131-4/+5
| | | | llvm-svn: 5550
* Remove gunk that was supposed to make space evaluation more precise, but ↵Chris Lattner2003-02-131-64/+1
| | | | | | never worked. llvm-svn: 5549
* Fixed alloca declaration problem on sun.Joel Stanley2003-02-121-8/+19
| | | | llvm-svn: 5546
* Don't output times in "scientific" notationChris Lattner2003-02-121-2/+3
| | | | llvm-svn: 5544
* Rename optionsChris Lattner2003-02-111-3/+3
| | | | llvm-svn: 5537
* Implement a "union-findy" version of DS-Analysis, which eliminates theChris Lattner2003-02-114-238/+126
| | | | | | Referrers list on DSNodes. llvm-svn: 5536
* Minor tweaks to printing. Close the file before viewing it in viewGraphChris Lattner2003-02-111-1/+3
| | | | llvm-svn: 5535
* Modest speedup which seems to help steens quite a bit on large graphsChris Lattner2003-02-101-1/+2
| | | | llvm-svn: 5532
OpenPOWER on IntegriCloud