Chris Lattner
fcfb1761c7
Don't allow declaring an external internal variable
...
llvm-svn: 5781
2003-04-16 18:13:57 +00:00
Chris Lattner
12fe9b47cc
Improve compatibility with system AS further by allowing input from stdin
...
llvm-svn: 5780
2003-04-16 17:49:18 +00:00
Chris Lattner
3708870ec8
* Get rid of using declaration
...
* Add two compatibility options to work better with new GCC frontend
llvm-svn: 5779
2003-04-16 17:41:08 +00:00
Chris Lattner
1f412aeeb2
Namespacify command line options
...
llvm-svn: 5778
2003-04-16 17:34:29 +00:00
Chris Lattner
4b1d10604e
Fix bug: Assember2003-04-15-ConstantInitAssertion.llx
...
llvm-svn: 5777
2003-04-15 16:09:31 +00:00
Chris Lattner
f7cc6aeb41
New testcase that triggered assertion failure.
...
llvm-svn: 5776
2003-04-15 16:07:05 +00:00
Chris Lattner
01587d4ad1
Make help message more clear
...
llvm-svn: 5775
2003-04-13 03:50:14 +00:00
Misha Brukman
f0971994ca
Simple arithmetic loop-based test case for modulo scheduling.
...
llvm-svn: 5774
2003-04-10 22:01:15 +00:00
Misha Brukman
dbea9cd4be
Adding a simple test case in the hope that commit-diffs.pl will pick this up.
...
llvm-svn: 5773
2003-04-10 21:49:13 +00:00
Misha Brukman
3064bff740
Not only is this the first test case for ModuloScheduing, it's also the first
...
test case for the CVS commit-diffs.pl script which should show the entire
contents of this file below:
llvm-svn: 5772
2003-04-10 21:43:58 +00:00
Chris Lattner
18b1bf67b2
* Fix bug: Mem2Reg/2003-04-10-DFNotFound.ll
...
* Make Mem2Reg assign version numbers now for renamed variables instead of
.mem2reg suffixes. This produces what people think of as SSA.
llvm-svn: 5771
2003-04-10 19:41:13 +00:00
Chris Lattner
6371087a0e
New testcase
...
llvm-svn: 5770
2003-04-10 19:21:07 +00:00
Misha Brukman
a45606276d
Fixed compilation errors, command-line argument declarations, cleaned up code to
...
look nicer and removed useless stuff.
Also renamed a few variables, moved them into namespaces, converted outputting
to a file into a print to std::cerr with a DEBUG() guard, as all passes should
do anyway.
No functional changes have been made. However, this code now compiles.
llvm-svn: 5769
2003-04-10 19:19:23 +00:00
Misha Brukman
218a732724
Made the code readable:
...
* Lines must be wrapped at 80 chars. This is a hard limit.
* Consistent style on functions, braces, if, for, etc. Code must be readable.
No functional changes have been made, even though I added a new typedef.
llvm-svn: 5768
2003-04-09 21:51:34 +00:00
Misha Brukman
61a9e7c901
Must use std::pair instead of just 'pair'.
...
llvm-svn: 5767
2003-04-07 00:25:09 +00:00
Guochun Shi
2c6ad22962
added a function and a member to the TargetSchedInfo class
...
which is used by Modulo Scheduling pass
llvm-svn: 5766
2003-04-07 00:00:36 +00:00
Guochun Shi
09abd1aeaf
added some memory for clone function
...
llvm-svn: 5765
2003-04-06 23:58:44 +00:00
Guochun Shi
b250dc6909
change the include file names and some class names to make it compile
...
llvm-svn: 5764
2003-04-06 23:56:19 +00:00
Chris Lattner
d31837154d
Implement scanf and fix sscanf to actually endian swap the results correctly
...
llvm-svn: 5763
2003-03-31 22:12:37 +00:00
Chris Lattner
72b19ce654
Update to work with newer versions of bison
...
llvm-svn: 5762
2003-03-31 21:26:06 +00:00
Chris Lattner
431d943cc8
Initial checkin of PRE test
...
llvm-svn: 5761
2003-03-31 21:19:23 +00:00
Chris Lattner
8cf3b0969a
Initial checkin of PRE tests
...
llvm-svn: 5760
2003-03-31 19:57:36 +00:00
Chris Lattner
9023155621
Initial checkin of PRE on LLVM. This implementation is still lacking in
...
several ways:
* Load expressions are not PRE'd well. Alias Analysis should be used to
get accurate information when computing anticipatibility.
* The expression collection implementation does not handle PHI nodes properly,
thus the implementation misses many opportunities to PRE.
* This code could be sped up quite a bit
Despite these flaws, the code seems to work well, and handles PR's as one
would expect.
llvm-svn: 5759
2003-03-31 19:55:43 +00:00
Chris Lattner
7ff2ce9f0b
Minor tweak
...
llvm-svn: 5758
2003-03-31 17:30:35 +00:00
Chris Lattner
07f7e5d3b5
* We now preserve the no-critical-edge pass (because we cannot insert critical edges)
...
* Small modification to be more efficient
llvm-svn: 5757
2003-03-31 17:30:25 +00:00
Chris Lattner
73410f84f7
Add getAnalysisUsage method
...
llvm-svn: 5756
2003-03-31 17:29:18 +00:00
Guochun Shi
45d8f3279e
*** empty log message ***
...
llvm-svn: 5755
2003-03-27 17:57:44 +00:00
Chris Lattner
c42046f9f1
Move BreakCriticalEdges pass to lib/Transforms/Utils
...
llvm-svn: 5754
2003-03-21 21:43:19 +00:00
Chris Lattner
9ad7757e7c
Add helper method
...
llvm-svn: 5753
2003-03-21 21:41:02 +00:00
Chris Lattner
3628607140
Update comment
...
llvm-svn: 5752
2003-03-21 21:40:39 +00:00
Chris Lattner
91f136847e
Add more graph traits specializations for dominator tree nodes
...
llvm-svn: 5751
2003-03-20 21:21:05 +00:00
Chris Lattner
faca62c74a
* Change the order that globals and constants are processed in
...
* Add support for implicit zero initializers
llvm-svn: 5750
2003-03-19 20:57:22 +00:00
Chris Lattner
428bf5abc9
Changes to the V2 bytecode format:
...
- Null values are implicitly encoded instead of explicitly, this makes
things more compact!
- More compactly represent ConstantPointerRefs
- Bytecode files are represented as:
Header|GlobalTypes|GlobalVars/Function Protos|Constants|Functions|SymTab
instead of
Header|GlobalTypes|Constants|GlobalVars/Function Protos|Functions|SymTab
which makes a lot of things simpler.
Writer changes:
- We now explictly encode versioning information in the bytecode files.
- This allows new code to read bytecode files produced by old code, but
new bytecode files can have enhancements such as the above. Although this
makes the reader a bit more complex (having to deal with old formats), the
writer only needs to be able to produce the most recent version.
llvm-svn: 5749
2003-03-19 20:56:46 +00:00
Chris Lattner
5db8194ca9
* Bug fixes:
...
- Fix problems where the constant table would not get updated when
resolving constants causes other constants to change.
Changes to the V2 bytecode format
- Null values are implicitly encoded instead of explicitly, this makes
things more compact!
- More compactly represent ConstantPointerRefs
- Bytecode files are represented as:
Header|GlobalTypes|GlobalVars/Function Protos|Constants|Functions|SymTab
instead of
Header|GlobalTypes|Constants|GlobalVars/Function Protos|Functions|SymTab
which makes a lot of things simpler.
Changes to the reader:
- Function loading code is much simpler. We now no longer make function
PlaceHolderHelper objects to be replaced with real functions.
llvm-svn: 5748
2003-03-19 20:54:26 +00:00
Chris Lattner
65c9fb07b0
Add new chunk type
...
llvm-svn: 5747
2003-03-19 20:48:27 +00:00
Chris Lattner
90677c51c7
Fix testcase
...
llvm-svn: 5746
2003-03-18 22:53:19 +00:00
Chris Lattner
9c19c07e8b
Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
...
llvm-svn: 5745
2003-03-17 18:11:27 +00:00
Chris Lattner
c2bd7cf9fa
Fix several bugs in the build system, including the use of the Debug version of Burg no matter what configuration is currently configured.
...
llvm-svn: 5744
2003-03-14 20:25:22 +00:00
Chris Lattner
7fb29e19f0
Add the following instcombine xforms:
...
- Implement simple reassociation: (A|c1)|(B|c2) == (A|B)|(c1|c2)
- (A & C1)+(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
- (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
llvm-svn: 5743
2003-03-11 00:12:48 +00:00
Chris Lattner
cb2691455e
Test limited reassociation
...
llvm-svn: 5742
2003-03-11 00:10:59 +00:00
Chris Lattner
dec13670e6
Add optimizations:
...
- (A & C1)+(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
- (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
llvm-svn: 5741
2003-03-10 23:52:54 +00:00
Chris Lattner
934a64cfa4
Implement: -A*-B == A*B
...
llvm-svn: 5740
2003-03-10 23:23:04 +00:00
Chris Lattner
d7342fbd92
Add testcases for negated multiplies
...
llvm-svn: 5739
2003-03-10 23:22:50 +00:00
Chris Lattner
3e327a4334
Add new transformation: // (~A | ~B) == (~(A & B))
...
llvm-svn: 5738
2003-03-10 23:13:59 +00:00
Chris Lattner
f7a838595c
Add test for demorgans law with constants
...
Add test for other form of demorgans
llvm-svn: 5737
2003-03-10 23:13:32 +00:00
Chris Lattner
bb74e2284a
Generalize not and neg comparison testers to allow constant to be considered not'able and neg'able. This
...
allows optimization of this:
int %test4(int %A, int %B) {
%a = xor int %A, -1
%c = and int %a, 5 ; 5 = ~c2
%d = xor int %c, -1
ret int %d
}
into this:
int %test4(int %A, int %B) { ; No predecessors!
%c.demorgan = or int %A, -6 ; <int> [#uses=1]
ret int %c.demorgan
}
llvm-svn: 5736
2003-03-10 23:06:50 +00:00
Chris Lattner
f67d52d3d7
* Add testcases for associative operators
...
* Add testcase for or ubyte, 255 which was broken before
llvm-svn: 5735
2003-03-10 22:43:56 +00:00
Chris Lattner
83e5d39566
Fix ConstantUInt::isAllOnesValue
...
llvm-svn: 5734
2003-03-10 22:39:02 +00:00
Chris Lattner
dcf240a649
Generalize (A+c1)+c2 optimization to work with all associative operators
...
llvm-svn: 5733
2003-03-10 21:43:22 +00:00
Chris Lattner
2fa7577040
Modernize testcase
...
llvm-svn: 5732
2003-03-10 19:44:01 +00:00
Chris Lattner
3695257724
Minor change, no functionality diff
...
llvm-svn: 5731
2003-03-10 19:20:30 +00:00
Chris Lattner
d97f0544e9
Add a bunch of new tests
...
llvm-svn: 5730
2003-03-10 19:16:20 +00:00
Chris Lattner
e8d6c604bb
Fix bug: (x << 100) wasn't folded to 0, but (x >> 100) was (when x is unsigned)
...
Implement new shift optimizations for shifting the result of a shift.
llvm-svn: 5729
2003-03-10 19:16:08 +00:00
Chris Lattner
1bbb7b6f19
Implement: (A|B)^B == A & (~B)
...
llvm-svn: 5728
2003-03-10 18:24:17 +00:00
Chris Lattner
96c4dd94ef
Add test for: (A|B)^B == A & (~B)
...
llvm-svn: 5727
2003-03-10 18:24:04 +00:00
Chris Lattner
87301bce1b
Modernize testcase
...
llvm-svn: 5726
2003-03-10 18:20:53 +00:00
Misha Brukman
2645cf6e16
The word 'independent' has no 'a'.
...
llvm-svn: 5724
2003-03-08 23:59:05 +00:00
Chris Lattner
44ffd7c373
Make sure that intermediate code is verifier clean to avoid wierd problems.
...
llvm-svn: 5723
2003-03-07 18:17:13 +00:00
Chris Lattner
569a57f9ff
Fix bug: SimplifyCFG/2003-03-07-DominateProblem.ll
...
llvm-svn: 5722
2003-03-07 18:13:41 +00:00
Chris Lattner
587cc42836
New testcase
...
llvm-svn: 5721
2003-03-07 17:42:55 +00:00
Chris Lattner
b825722ac0
Clean up cruft
...
llvm-svn: 5720
2003-03-06 23:23:32 +00:00
Chris Lattner
187c39b6d0
Extend struct and array constants to support isNullValue
...
llvm-svn: 5719
2003-03-06 21:02:43 +00:00
Chris Lattner
c33ae67237
Remove #include
...
Extend getNullValue to work with struct and array types
llvm-svn: 5718
2003-03-06 21:02:18 +00:00
Chris Lattner
81e92fe0bd
Update testcases to use long to index gep
...
llvm-svn: 5717
2003-03-06 19:59:08 +00:00
Chris Lattner
1a175715d0
Infrastructure for more compact bytecode files and REAL support for versioning
...
llvm-svn: 5716
2003-03-06 17:55:45 +00:00
Chris Lattner
c8f563bed1
s/Method/Function in variable and method names
...
llvm-svn: 5715
2003-03-06 17:18:14 +00:00
Chris Lattner
3f57f18059
Continue simplifying error handling, s/method/function
...
llvm-svn: 5714
2003-03-06 17:15:19 +00:00
Chris Lattner
21ae41b31b
Cleanup error handling constructs
...
llvm-svn: 5713
2003-03-06 17:03:28 +00:00
Chris Lattner
e373d5a664
Pull common code out
...
llvm-svn: 5712
2003-03-06 16:50:32 +00:00
Chris Lattner
c429eee86a
Generalize interface a bit
...
llvm-svn: 5711
2003-03-06 16:50:21 +00:00
Chris Lattner
1520eda3e3
Remove unneccesary forward decl
...
llvm-svn: 5710
2003-03-06 16:37:29 +00:00
Chris Lattner
d5c4ef5456
Add new getIncomingValueForBlock method
...
Relax a bit about constness
llvm-svn: 5709
2003-03-06 16:36:28 +00:00
Chris Lattner
17f8686900
Use the std namespace explicitly
...
llvm-svn: 5708
2003-03-06 16:32:25 +00:00
Chris Lattner
805fc16a27
Add a link to source of inspiration
...
llvm-svn: 5707
2003-03-05 23:02:25 +00:00
Chris Lattner
1e89893882
New testcase for pow builtin recognition
...
llvm-svn: 5706
2003-03-05 22:56:59 +00:00
Chris Lattner
1d48528be6
Add another testcase that may eventually be handled...
...
llvm-svn: 5705
2003-03-05 22:50:55 +00:00
Chris Lattner
235af5673b
Implement %test7 in InstCombine/getelementptr.ll
...
llvm-svn: 5704
2003-03-05 22:33:14 +00:00
Chris Lattner
6d0c1aeefe
Add testcase for new instcombine xform
...
llvm-svn: 5703
2003-03-05 22:32:48 +00:00
Chris Lattner
e54d214fcb
Implement CFGSimplify/PhiBlockMerge*.ll
...
llvm-svn: 5702
2003-03-05 21:36:33 +00:00
Chris Lattner
9115973f47
Add new testcase
...
llvm-svn: 5701
2003-03-05 21:34:35 +00:00
Chris Lattner
fbb7739b13
Simplify some of the PHI node interfaces
...
llvm-svn: 5700
2003-03-05 21:15:12 +00:00
Chris Lattner
31116bafed
Implement testcase CFGSimplify/EqualPHIEdgeBlockMerge.ll
...
llvm-svn: 5699
2003-03-05 21:01:52 +00:00
Chris Lattner
25743e9cda
New testcase for feature simplifycfg should handle
...
llvm-svn: 5698
2003-03-05 20:35:24 +00:00
Chris Lattner
283dda16ab
Add testcase for new feature for simplifycfg pass
...
llvm-svn: 5697
2003-03-05 20:22:50 +00:00
Chris Lattner
b512e9f37f
Initial checkin of AliasAnalysis doc
...
llvm-svn: 5696
2003-03-04 19:37:49 +00:00
Chris Lattner
ce848a3397
Fix bug: BasicAA/2003-03-04-GEPCrash.ll
...
llvm-svn: 5695
2003-03-04 16:40:17 +00:00
Chris Lattner
fa9cdda3c4
New testcase
...
llvm-svn: 5694
2003-03-04 16:33:52 +00:00
Chris Lattner
0592bb7654
Convert LICM over to use AliasSetTracker. Besides being nicer, this automatically
...
allows LICM to use access sizes to help alias analysis be more precise.
llvm-svn: 5693
2003-03-03 23:32:45 +00:00
Chris Lattner
8ce4e7949b
Fix bug: Assembler/2003-03-03-DuplicateConstant.ll
...
llvm-svn: 5692
2003-03-03 23:28:55 +00:00
Chris Lattner
c048bb3add
ADd two new 'add' methods
...
llvm-svn: 5691
2003-03-03 23:28:05 +00:00
Chris Lattner
12f3ec7d10
Add a few new 'add' methods. Move the iterator around
...
llvm-svn: 5690
2003-03-03 23:27:52 +00:00
Chris Lattner
aa278a881e
Make the testcase more interesting, test that two different array elements don't alias
...
llvm-svn: 5689
2003-03-03 23:27:15 +00:00
Chris Lattner
c0cee5b309
New testcase
...
llvm-svn: 5688
2003-03-03 21:29:00 +00:00
Chris Lattner
126d70d0e5
Add new testcase for forward reference of struct type
...
llvm-svn: 5687
2003-03-03 20:28:42 +00:00
Chris Lattner
50cbb9081a
Eliminate tons of bogus warnings
...
llvm-svn: 5686
2003-03-03 19:57:46 +00:00
Chris Lattner
e27406eb59
Change the mem2reg interface to accept a TargetData argument
...
llvm-svn: 5685
2003-03-03 17:25:18 +00:00
Chris Lattner
c12e5ccdb5
Don't apply type information to load instructions if it will cause collapsing
...
llvm-svn: 5684
2003-03-03 17:13:31 +00:00
Chris Lattner
e2d58f2065
Don't apply type information to loads
...
llvm-svn: 5683
2003-03-03 17:13:22 +00:00
Chris Lattner
96afad55b9
Fix a problem with negative indexes
...
llvm-svn: 5681
2003-03-02 23:43:34 +00:00
Chris Lattner
88126c0003
* Don't run tests if compilation failed
...
* Don't summarize tests if testing failed
llvm-svn: 5680
2003-02-28 20:30:20 +00:00
Chris Lattner
74ee1b11a3
Fix broken links
...
llvm-svn: 5678
2003-02-28 20:05:20 +00:00
Chris Lattner
b322004c16
Allow tests to run for 5 minutes before timing out.
...
llvm-svn: 5677
2003-02-28 19:40:05 +00:00
Chris Lattner
e19a9f8ef7
Fix bug: LICM/2003-02-28-PromoteDifferentType.ll
...
llvm-svn: 5675
2003-02-28 19:21:40 +00:00
Chris Lattner
91fe502573
Fix testcase
...
llvm-svn: 5674
2003-02-28 19:21:27 +00:00
Chris Lattner
b03e45f0ff
Add a test for a feature that I hope will be implemented someday
...
llvm-svn: 5673
2003-02-28 19:20:56 +00:00
Chris Lattner
a55fad38d9
New testcase
...
llvm-svn: 5672
2003-02-28 19:13:58 +00:00
Chris Lattner
a777f7a7ed
Add dump method for Loops
...
llvm-svn: 5671
2003-02-28 16:54:45 +00:00
Chris Lattner
a6de793baa
Add dump method for loops
...
llvm-svn: 5670
2003-02-28 16:54:37 +00:00
Chris Lattner
49eb0e3026
Fix bug I introduced yesterday :(
...
llvm-svn: 5669
2003-02-28 16:54:17 +00:00
Chris Lattner
514c02eb26
* 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
llvm-svn: 5668
2003-02-28 16:13:20 +00:00
Chris Lattner
32a39c26e0
Fix bug: LICM/2003-02-27-PreheaderExitNodeUpdate.ll
...
llvm-svn: 5667
2003-02-28 03:07:54 +00:00
Chris Lattner
915e1a4854
Add graph traits specializations for loop nesting information...
...
llvm-svn: 5666
2003-02-28 03:05:15 +00:00
Chris Lattner
c507fa22e6
New test
...
llvm-svn: 5665
2003-02-28 02:55:26 +00:00
Chris Lattner
f2d9f94a33
Fix bug: 2003-02-27-PreheaderExitNodeUpdate.ll by updating exit node info
...
llvm-svn: 5664
2003-02-27 22:48:57 +00:00
Chris Lattner
9eaef21f1f
Add new Loop::hasExitBlock helper method
...
llvm-svn: 5663
2003-02-27 22:48:28 +00:00
Chris Lattner
72f876223f
Simplify a bit by using a new member function
...
llvm-svn: 5662
2003-02-27 22:48:08 +00:00
Chris Lattner
72a9854584
Change behavior of changeExitBlock function to replace all instances of exit block
...
llvm-svn: 5661
2003-02-27 22:37:44 +00:00
Chris Lattner
e740d2126e
New testcase
...
llvm-svn: 5660
2003-02-27 22:34:31 +00:00
Chris Lattner
10b2b055e8
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.
llvm-svn: 5659
2003-02-27 22:31:07 +00:00
Chris Lattner
1ad80e2511
Fix bug: 2003-02-27-StoreSinkPHIs.ll
...
llvm-svn: 5658
2003-02-27 21:59:36 +00:00
Chris Lattner
cabe8c0dac
New testcase
...
llvm-svn: 5657
2003-02-27 21:59:31 +00:00
Chris Lattner
4f3b1d1808
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.
llvm-svn: 5656
2003-02-27 21:51:38 +00:00
Chris Lattner
4e2fbfb4c3
* 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
llvm-svn: 5655
2003-02-27 21:50:19 +00:00
Chris Lattner
209a688b55
Testcase for Preheaders problem
...
llvm-svn: 5654
2003-02-27 21:38:56 +00:00
Chris Lattner
dbb05b0f09
Replace assertion with a handler.
...
llvm-svn: 5653
2003-02-27 20:55:48 +00:00
Chris Lattner
650096a061
* 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
llvm-svn: 5652
2003-02-27 20:27:08 +00:00
Chris Lattner
079cd2acf1
Make the interface to update a little more efficient
...
llvm-svn: 5651
2003-02-27 20:24:17 +00:00
Chris Lattner
b7b58f65c6
- LoopInfo now calculates and tracks loop exit blocks
...
llvm-svn: 5650
2003-02-27 00:38:34 +00:00
Chris Lattner
9ce4a2bb96
* LoopInfo now keeps track of exit blocks from the loop
...
* New LoopInfo::isLoopHeader method
* Remove some #if 0 code
llvm-svn: 5649
2003-02-27 00:37:22 +00:00
Chris Lattner
355cbad370
New testcase crashing LICM
...
llvm-svn: 5648
2003-02-26 23:16:44 +00:00
Chris Lattner
b5b0b7a934
Make the aliassettracker much more precise by actually tracking size
...
information for various accesses. What a concept.
llvm-svn: 5647
2003-02-26 22:11:00 +00:00
Chris Lattner
256cc1d1b4
Fix test
...
llvm-svn: 5646
2003-02-26 22:01:58 +00:00
Chris Lattner
053994f5a6
Fix bug: BasicAA/2003-02-26-AccessSizeTest.ll
...
llvm-svn: 5645
2003-02-26 21:57:23 +00:00
Chris Lattner
22a8d51aa3
New testcase for size tracking brokenness
...
llvm-svn: 5644
2003-02-26 21:39:52 +00:00
Chris Lattner
d98ac881ca
Fix several bugs in basic-aa
...
llvm-svn: 5643
2003-02-26 21:28:49 +00:00
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