Chris Lattner
30f40d94cc
Rename -no-* to -disable-*
...
llvm-svn: 5642
2003-02-26 20:00:41 +00:00
Chris Lattner
dca12c77df
Add new -no-aa implementation
...
llvm-svn: 5641
2003-02-26 19:57:10 +00:00
Chris Lattner
d6a2a99a1b
Move BasicAA pass out to it's own header file
...
llvm-svn: 5640
2003-02-26 19:41:54 +00:00
Chris Lattner
ddfe676e71
BasicAA doesn't need a public header
...
llvm-svn: 5639
2003-02-26 19:41:46 +00:00
Chris Lattner
e79b8319a6
Adjust to implement new AA interface
...
llvm-svn: 5638
2003-02-26 19:29:36 +00:00
Chris Lattner
13082d63dd
Adjust to new AA interface
...
llvm-svn: 5637
2003-02-26 19:29:16 +00:00
Chris Lattner
71b82bb494
Convert to work with new AliasAnalysis interface by conservatively assuming all pointers are arbitrarily large accesses
...
llvm-svn: 5636
2003-02-26 19:28:57 +00:00
Chris Lattner
0edc91ff2a
Calculate and pass load sizes to the alias analysis infrastructure
...
llvm-svn: 5635
2003-02-26 19:27:35 +00:00
Chris Lattner
d1e3208147
Adjust to new AA interface
...
Add tracking for Mod/Ref info
llvm-svn: 5634
2003-02-26 19:27:05 +00:00
Chris Lattner
3a3118394c
- 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
llvm-svn: 5633
2003-02-26 19:26:51 +00:00
Chris Lattner
7b5727a400
Tweak to work with new AA implementation
...
llvm-svn: 5632
2003-02-26 19:25:04 +00:00
Chris Lattner
c6bf7ec5e0
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
llvm-svn: 5631
2003-02-26 19:24:47 +00:00
Chris Lattner
d4ed5c67e9
Allow ImmutablePass's to require other immutable passes and to be initialized
...
llvm-svn: 5630
2003-02-26 19:10:57 +00:00
Chris Lattner
daaf2982e7
* Un "protect" the getAnalysis<> functions
...
* Add a new initializePass() method to ImmutablePass
llvm-svn: 5629
2003-02-26 19:10:28 +00:00
Chris Lattner
1e3b79f901
Remove implemented projects
...
llvm-svn: 5628
2003-02-26 16:38:22 +00:00
Chris Lattner
e1f59b6e01
Update programmers manual for renamed method
...
llvm-svn: 5627
2003-02-26 16:38:15 +00:00
Chris Lattner
dbb8c65e26
Hopefully final tweak to this testcase
...
llvm-svn: 5626
2003-02-26 16:18:00 +00:00
Chris Lattner
90aed35455
Add a new test for basicaa
...
llvm-svn: 5625
2003-02-25 21:43:37 +00:00
Chris Lattner
13b3e5bdab
Fix typeo
...
llvm-svn: 5624
2003-02-25 21:14:59 +00:00
Chris Lattner
ae1f73b4f5
Remove wierd case that can never happen
...
llvm-svn: 5623
2003-02-25 20:27:09 +00:00
Chris Lattner
a5dc1ec0a4
Add new helper template function
...
llvm-svn: 5622
2003-02-25 00:00:50 +00:00
Chris Lattner
49952645c8
Fix testcase
...
llvm-svn: 5621
2003-02-24 23:14:07 +00:00
Chris Lattner
4869f3700e
Rename Instruction::hasSideEffects() -> mayWriteToMemory()
...
llvm-svn: 5620
2003-02-24 20:48:32 +00:00
Chris Lattner
7606fb65c0
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.
llvm-svn: 5619
2003-02-24 20:37:56 +00:00
Chris Lattner
a65cd08dd8
Initial checkin of CallSite wrapper for Call/Invoke instructions
...
llvm-svn: 5618
2003-02-24 20:35:45 +00:00
Chris Lattner
9caf224833
Fix test
...
llvm-svn: 5617
2003-02-24 20:30:14 +00:00
Chris Lattner
c2be148276
Make printing messages nicer
...
llvm-svn: 5616
2003-02-24 20:07:54 +00:00
Chris Lattner
940863bd22
Fix #endif
...
llvm-svn: 5615
2003-02-24 04:40:35 +00:00
Chris Lattner
af9598f6a8
Add support for the slist extension
...
llvm-svn: 5614
2003-02-24 04:31:49 +00:00
Chris Lattner
45d67d6ea7
Initial implementation of Loop invariant memory->scalar promotion
...
llvm-svn: 5613
2003-02-24 03:52:32 +00:00
Chris Lattner
24545b6ec4
Tweak testcase
...
llvm-svn: 5612
2003-02-24 03:52:13 +00:00
Chris Lattner
15c1063736
New testcase for scalar promotion
...
llvm-svn: 5611
2003-02-24 03:52:04 +00:00
Chris Lattner
26f159046c
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
llvm-svn: 5610
2003-02-22 23:57:48 +00:00
Chris Lattner
6dbd10c760
Add a new interface file for the PromoteMemToReg interface in the Utils library
...
llvm-svn: 5609
2003-02-22 23:04:52 +00:00
Chris Lattner
04cad6a010
Clean up std namespace references
...
llvm-svn: 5608
2003-02-22 22:25:17 +00:00
Chris Lattner
ae43714e27
New testcase to check to see if LICM is performing scalar promotion
...
llvm-svn: 5607
2003-02-22 22:20:19 +00:00
Chris Lattner
ef6ea65807
Dramatically simplify building of natural loops and fix a bug where the BBMap
...
was not correctly computed.
llvm-svn: 5606
2003-02-22 21:33:11 +00:00
Chris Lattner
1cbe5116ff
Fix the requisite bug that I introduced
...
llvm-svn: 5605
2003-02-20 00:28:00 +00:00
Chris Lattner
1dc4c29b6d
Fix 80 character formatting
...
llvm-svn: 5604
2003-02-20 00:18:07 +00:00
Chris Lattner
0049419836
Fix bug: 2003-02-19-LoopInfoNestingBug.ll
...
llvm-svn: 5603
2003-02-20 00:17:17 +00:00
Chris Lattner
c93ead3d25
Add a testcase for broken loopinfo
...
llvm-svn: 5602
2003-02-20 00:09:26 +00:00
Chris Lattner
2bb3969979
Make tests rerun if analyze is rebuilt
...
llvm-svn: 5601
2003-02-20 00:09:19 +00:00
Chris Lattner
61493ff1d6
Fix warnings compiling C files
...
llvm-svn: 5600
2003-02-19 22:12:20 +00:00
Chris Lattner
e5325ff767
Remove support for memset
...
llvm-svn: 5599
2003-02-18 20:42:15 +00:00
Chris Lattner
eccbaee3c3
Add lots of functions
...
llvm-svn: 5598
2003-02-18 20:42:07 +00:00
Chris Lattner
57c8d99bbd
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)
llvm-svn: 5592
2003-02-18 19:57:07 +00:00
Chris Lattner
395934091d
Add new testcases
...
llvm-svn: 5591
2003-02-18 19:55:31 +00:00
Chris Lattner
de293ee40f
Modernize testcase
...
llvm-svn: 5590
2003-02-18 19:43:53 +00:00
Chris Lattner
2ae37b0229
Modernize testcases
...
llvm-svn: 5589
2003-02-18 19:43:21 +00:00
Chris Lattner
c5fccf34ab
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
llvm-svn: 5588
2003-02-18 19:28:47 +00:00