Chris Lattner
f8783fadb4
BasicAA doesn't need a public header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:41:46 +00:00
Chris Lattner
a612afc54e
Adjust to implement new AA interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5638 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:29:36 +00:00
Chris Lattner
e4b3339b9c
Adjust to new AA interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5637 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:29:16 +00:00
Chris Lattner
2d0a4a4eb8
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
2003-02-26 19:28:57 +00:00
Chris Lattner
f98d8d8611
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
2003-02-26 19:27:35 +00:00
Chris Lattner
d80651df46
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
2003-02-26 19:27:05 +00:00
Chris Lattner
14ac877e0a
- 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
2003-02-26 19:26:51 +00:00
Chris Lattner
13b6f22f04
Tweak to work with new AA implementation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:25:04 +00:00
Chris Lattner
1c56b730a6
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
2003-02-26 19:24:47 +00:00
Chris Lattner
bf22c73c9c
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
2003-02-26 19:10:57 +00:00
Chris Lattner
d2c0b28c33
* 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
2003-02-26 19:10:28 +00:00
Chris Lattner
dcc0ac9eb7
Remove implemented projects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5628 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 16:38:22 +00:00
Chris Lattner
c3dc2125a6
Update programmers manual for renamed method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5627 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 16:38:15 +00:00
Chris Lattner
24a0bee387
Hopefully final tweak to this testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5626 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 16:18:00 +00:00
Chris Lattner
7b9b1f9ad3
Add a new test for basicaa
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5625 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25 21:43:37 +00:00
Chris Lattner
006a4a5990
Fix typeo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5624 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25 21:14:59 +00:00
Chris Lattner
e45e32d924
Remove wierd case that can never happen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5623 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25 20:27:09 +00:00
Chris Lattner
f288ff7774
Add new helper template function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25 00:00:50 +00:00
Chris Lattner
be677588a3
Fix testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5621 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 23:14:07 +00:00
Chris Lattner
f0a93ed9c5
Rename Instruction::hasSideEffects() -> mayWriteToMemory()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5620 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:48:32 +00:00
Chris Lattner
9971ac4a36
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
2003-02-24 20:37:56 +00:00
Chris Lattner
93a7e08d1f
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
2003-02-24 20:35:45 +00:00
Chris Lattner
4944d8dbc8
Fix test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5617 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:30:14 +00:00
Chris Lattner
22a3b55406
Make printing messages nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5616 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:07:54 +00:00
Chris Lattner
24e03d32ff
Fix #endif
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5615 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 04:40:35 +00:00
Chris Lattner
a430bc7569
Add support for the slist extension
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5614 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 04:31:49 +00:00
Chris Lattner
2e6e741b73
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
2003-02-24 03:52:32 +00:00
Chris Lattner
4e31365703
Tweak testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5612 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 03:52:13 +00:00
Chris Lattner
0b1cda1955
New testcase for scalar promotion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5611 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 03:52:04 +00:00
Chris Lattner
d99bf49a53
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
2003-02-22 23:57:48 +00:00
Chris Lattner
782752b7a2
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
2003-02-22 23:04:52 +00:00
Chris Lattner
cc139de15a
Clean up std namespace references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5608 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-22 22:25:17 +00:00
Chris Lattner
96d20c57f3
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
2003-02-22 22:20:19 +00:00
Chris Lattner
420df9bc78
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
2003-02-22 21:33:11 +00:00
Chris Lattner
3a9a56e7b2
Fix the requisite bug that I introduced
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5605 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-20 00:28:00 +00:00
Chris Lattner
ae5d39e1bb
Fix 80 character formatting
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5604 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-20 00:18:07 +00:00
Chris Lattner
e30c763189
Fix bug: 2003-02-19-LoopInfoNestingBug.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5603 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-20 00:17:17 +00:00
Chris Lattner
e9d0070e18
Add a testcase for broken loopinfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5602 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-20 00:09:26 +00:00
Chris Lattner
65a3f17097
Make tests rerun if analyze is rebuilt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5601 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-20 00:09:19 +00:00
Chris Lattner
fe95dae26b
Fix warnings compiling C files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5600 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-19 22:12:20 +00:00
Chris Lattner
8fc625836e
Remove support for memset
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5599 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-18 20:42:15 +00:00
Chris Lattner
6d3a877743
Add lots of functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5598 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-18 20:42:07 +00:00
Chris Lattner
ad3448c917
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
2003-02-18 19:57:07 +00:00
Chris Lattner
fa59079c3c
Add new testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5591 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-18 19:55:31 +00:00
Chris Lattner
b19fa8d3d6
Modernize testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5590 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-18 19:43:53 +00:00
Chris Lattner
e14e50d76b
Modernize testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5589 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-18 19:43:21 +00:00
Chris Lattner
5640f33331
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
2003-02-18 19:28:47 +00:00
Chris Lattner
a2881961b9
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
2003-02-18 19:28:33 +00:00
Chris Lattner
07928ef7f5
modernize testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5586 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-18 19:16:45 +00:00
Chris Lattner
f63355327a
Modernize testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5585 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-18 18:06:44 +00:00