Chris Lattner [Fri, 28 Feb 2003 19:13:58 +0000 (19:13 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5672
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Feb 2003 16:54:45 +0000 (16:54 +0000)]
Add dump method for Loops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5671
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Feb 2003 16:54:37 +0000 (16:54 +0000)]
Add dump method for loops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5670
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Feb 2003 16:54:17 +0000 (16:54 +0000)]
Fix bug I introduced yesterday :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5669
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Feb 2003 16:13:20 +0000 (16:13 +0000)]
* Reduce the number of useless bytecode files produced by bugpoint.
- This also speeds it up as the bytecode writer isn't terribly fast.
* Add a new cleanup pass after everything else to run -funcresolve -globaldce
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5668
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Feb 2003 03:07:54 +0000 (03:07 +0000)]
Fix bug: LICM/2003-02-27-PreheaderExitNodeUpdate.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5667
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Feb 2003 03:05:15 +0000 (03:05 +0000)]
Add graph traits specializations for loop nesting information...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5666
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Feb 2003 02:55:26 +0000 (02:55 +0000)]
New test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5665
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 22:48:57 +0000 (22:48 +0000)]
Fix bug: 2003-02-27-PreheaderExitNodeUpdate.ll by updating exit node info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5664
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 22:48:28 +0000 (22:48 +0000)]
Add new Loop::hasExitBlock helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5663
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 22:48:08 +0000 (22:48 +0000)]
Simplify a bit by using a new member function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5662
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 22:37:44 +0000 (22:37 +0000)]
Change behavior of changeExitBlock function to replace all instances of exit block
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 22:34:31 +0000 (22:34 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5660
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 22:31:07 +0000 (22:31 +0000)]
Add a new assertion to check that stuff is happening right
Ironically the exit block modification code wasn't updating the exit block
information itself. Fix this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5659
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 21:59:36 +0000 (21:59 +0000)]
Fix bug: 2003-02-27-StoreSinkPHIs.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5658
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 21:59:31 +0000 (21:59 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5657
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 21:51:38 +0000 (21:51 +0000)]
Fix bug: LICM/2003-02-27-PreheaderProblem.ll
There may be a single outside predecessor and
still need a new loop-preheader if the predecessor has multiple
successors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5656
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 21:50:19 +0000 (21:50 +0000)]
* Don't forget to update Loop information!
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5655
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 21:38:56 +0000 (21:38 +0000)]
Testcase for Preheaders problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5654
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 20:55:48 +0000 (20:55 +0000)]
Replace assertion with a handler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5653
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 20:27:08 +0000 (20:27 +0000)]
* Significant changes to the preheader insertion pass:
- 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5652
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 20:24:17 +0000 (20:24 +0000)]
Make the interface to update a little more efficient
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5651
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 00:38:34 +0000 (00:38 +0000)]
- LoopInfo now calculates and tracks loop exit blocks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5650
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Feb 2003 00:37:22 +0000 (00:37 +0000)]
* LoopInfo now keeps track of exit blocks from the loop
* New LoopInfo::isLoopHeader method
* Remove some #if 0 code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5649
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 23:16:44 +0000 (23:16 +0000)]
New testcase crashing LICM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5648
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 22:11:00 +0000 (22:11 +0000)]
Make the aliassettracker much more precise by actually tracking size
information for various accesses. What a concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5647
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 22:01:58 +0000 (22:01 +0000)]
Fix test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5646
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 21:57:23 +0000 (21:57 +0000)]
Fix bug: BasicAA/2003-02-26-AccessSizeTest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5645
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 21:39:52 +0000 (21:39 +0000)]
New testcase for size tracking brokenness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5644
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 21:28:49 +0000 (21:28 +0000)]
Fix several bugs in basic-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5643
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 20:00:41 +0000 (20:00 +0000)]
Rename -no-* to -disable-*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5642
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:57:10 +0000 (19:57 +0000)]
Add new -no-aa implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5641
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:41:54 +0000 (19:41 +0000)]
Move BasicAA pass out to it's own header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5640
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:41:46 +0000 (19:41 +0000)]
BasicAA doesn't need a public header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5639
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:29:36 +0000 (19:29 +0000)]
Adjust to implement new AA interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5638
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:29:16 +0000 (19:29 +0000)]
Adjust to new AA interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5637
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:28:57 +0000 (19:28 +0000)]
Convert to work with new AliasAnalysis interface by conservatively assuming all pointers are arbitrarily large accesses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5636
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:27:35 +0000 (19:27 +0000)]
Calculate and pass load sizes to the alias analysis infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5635
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:27:05 +0000 (19:27 +0000)]
Adjust to new AA interface
Add tracking for Mod/Ref info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5634
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:26:51 +0000 (19:26 +0000)]
- Checkin of the alias analysis work:
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5633
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:25:04 +0000 (19:25 +0000)]
Tweak to work with new AA implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:24:47 +0000 (19:24 +0000)]
Checkin of new alias analysis interface:
* Takes into account the size of the memory reference to determine aliasing.
* Expose mod/ref information in a more consistent way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:10:57 +0000 (19:10 +0000)]
Allow ImmutablePass's to require other immutable passes and to be initialized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 19:10:28 +0000 (19:10 +0000)]
* Un "protect" the getAnalysis<> functions
* Add a new initializePass() method to ImmutablePass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 16:38:22 +0000 (16:38 +0000)]
Remove implemented projects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5628
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 16:38:15 +0000 (16:38 +0000)]
Update programmers manual for renamed method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Feb 2003 16:18:00 +0000 (16:18 +0000)]
Hopefully final tweak to this testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5626
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Feb 2003 21:43:37 +0000 (21:43 +0000)]
Add a new test for basicaa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5625
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Feb 2003 21:14:59 +0000 (21:14 +0000)]
Fix typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5624
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Feb 2003 20:27:09 +0000 (20:27 +0000)]
Remove wierd case that can never happen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5623
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Feb 2003 00:00:50 +0000 (00:00 +0000)]
Add new helper template function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5622
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 23:14:07 +0000 (23:14 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5621
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 20:48:32 +0000 (20:48 +0000)]
Rename Instruction::hasSideEffects() -> mayWriteToMemory()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5620
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 20:37:56 +0000 (20:37 +0000)]
This is a substantial rewrite of the AliasSetTracker class which now uses
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5619
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 20:35:45 +0000 (20:35 +0000)]
Initial checkin of CallSite wrapper for Call/Invoke instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5618
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 20:30:14 +0000 (20:30 +0000)]
Fix test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5617
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 20:07:54 +0000 (20:07 +0000)]
Make printing messages nicer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5616
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 04:40:35 +0000 (04:40 +0000)]
Fix #endif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5615
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 04:31:49 +0000 (04:31 +0000)]
Add support for the slist extension
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5614
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 03:52:32 +0000 (03:52 +0000)]
Initial implementation of Loop invariant memory->scalar promotion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5613
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 03:52:13 +0000 (03:52 +0000)]
Tweak testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Feb 2003 03:52:04 +0000 (03:52 +0000)]
New testcase for scalar promotion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Feb 2003 23:57:48 +0000 (23:57 +0000)]
Split mem2reg promotion into two parts: a function which does the work, and
a pass which wraps the function. This allows other passes to use the functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5610
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Feb 2003 23:04:52 +0000 (23:04 +0000)]
Add a new interface file for the PromoteMemToReg interface in the Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5609
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Feb 2003 22:25:17 +0000 (22:25 +0000)]
Clean up std namespace references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5608
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Feb 2003 22:20:19 +0000 (22:20 +0000)]
New testcase to check to see if LICM is performing scalar promotion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5607
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Feb 2003 21:33:11 +0000 (21:33 +0000)]
Dramatically simplify building of natural loops and fix a bug where the BBMap
was not correctly computed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5606
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Feb 2003 00:28:00 +0000 (00:28 +0000)]
Fix the requisite bug that I introduced
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Feb 2003 00:18:07 +0000 (00:18 +0000)]
Fix 80 character formatting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5604
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Feb 2003 00:17:17 +0000 (00:17 +0000)]
Fix bug: 2003-02-19-LoopInfoNestingBug.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5603
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Feb 2003 00:09:26 +0000 (00:09 +0000)]
Add a testcase for broken loopinfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5602
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Feb 2003 00:09:19 +0000 (00:09 +0000)]
Make tests rerun if analyze is rebuilt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5601
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Feb 2003 22:12:20 +0000 (22:12 +0000)]
Fix warnings compiling C files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5600
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 20:42:15 +0000 (20:42 +0000)]
Remove support for memset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5599
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 20:42:07 +0000 (20:42 +0000)]
Add lots of functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5598
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 19:57:07 +0000 (19:57 +0000)]
4 new transformations:
* X*C + X --> X * (C+1)
* X + X*C --> X * (C+1)
* X - X*C --> X * (1-C)
* X*C - X --> X * (C-1)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5592
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 19:55:31 +0000 (19:55 +0000)]
Add new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5591
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 19:43:53 +0000 (19:43 +0000)]
Modernize testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5590
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 19:43:21 +0000 (19:43 +0000)]
Modernize testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5589
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 19:28:47 +0000 (19:28 +0000)]
test for a variety of new transformations:
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5588
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 19:28:33 +0000 (19:28 +0000)]
Add a variety of new transformations:
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5587
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 19:16:45 +0000 (19:16 +0000)]
modernize testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5586
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Feb 2003 18:06:44 +0000 (18:06 +0000)]
Modernize testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5585
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 23:27:18 +0000 (23:27 +0000)]
Fix resolution of indirect function calls... whoops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5576
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Fri, 14 Feb 2003 20:41:53 +0000 (20:41 +0000)]
Changes to runtime framework
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5572
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 20:25:47 +0000 (20:25 +0000)]
Mark function edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5571
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 19:12:29 +0000 (19:12 +0000)]
Fix a bug that cause a crash resolving questionable function calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5567
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 06:28:00 +0000 (06:28 +0000)]
- Eliminate provably non-pointer nodes from graphs.
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5566
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 05:34:36 +0000 (05:34 +0000)]
Fix a misunderstanding of the standard associative containers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 04:55:58 +0000 (04:55 +0000)]
Don't put integer pointers (longs) into the scalar map.
This speeds stuff up by 10% on some tests, woot!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5564
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 04:22:13 +0000 (04:22 +0000)]
Clarify the Makefile.config settings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 03:07:17 +0000 (03:07 +0000)]
Fix bug: LevelRaise/2003-02-13-CallRaise.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Feb 2003 03:02:16 +0000 (03:02 +0000)]
New testcase distilled from LARN
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Feb 2003 21:44:18 +0000 (21:44 +0000)]
Hax0r around a deficiency in the Pass infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5555
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Feb 2003 20:14:40 +0000 (20:14 +0000)]
Use the new tailclip property new added to graphviz CVS to make call nodes
actually intelligable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Feb 2003 19:46:22 +0000 (19:46 +0000)]
This speeds up processing LLVM a _lot_, 17% in the case of loading and destroying "vortex"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5553
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Feb 2003 19:09:00 +0000 (19:09 +0000)]
Move node forwarding code from being inlined to being out-of-line.
This brings a 11.6% speedup to steens, and a 3.6 overall speedup to ds-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5552
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Feb 2003 16:56:30 +0000 (16:56 +0000)]
Fix profile builds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5551
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Feb 2003 16:25:28 +0000 (16:25 +0000)]
Make more compatible with GCC 2.96
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5550
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Feb 2003 05:07:53 +0000 (05:07 +0000)]
Remove gunk that was supposed to make space evaluation more precise, but never worked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5549
91177308-0d34-0410-b5e6-
96231b3b80d8