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
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
Chris Lattner
3082c5a070
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
llvm-svn: 5587
2003-02-18 19:28:33 +00:00
Chris Lattner
2bf6c22c9b
modernize testcase
...
llvm-svn: 5586
2003-02-18 19:16:45 +00:00
Chris Lattner
2deaf77d1d
Modernize testcase
...
llvm-svn: 5585
2003-02-18 18:06:44 +00:00
Chris Lattner
b39d6355e1
Fix resolution of indirect function calls... whoops
...
llvm-svn: 5576
2003-02-14 23:27:18 +00:00
Anand Shukla
f8c09ee341
Changes to runtime framework
...
llvm-svn: 5572
2003-02-14 20:41:53 +00:00
Chris Lattner
b5cbfa0f15
Mark function edges
...
llvm-svn: 5571
2003-02-14 20:25:47 +00:00
Chris Lattner
04c9274e50
Fix a bug that cause a crash resolving questionable function calls
...
llvm-svn: 5567
2003-02-14 19:12:29 +00:00
Chris Lattner
8acdca64fd
- 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.
llvm-svn: 5566
2003-02-14 06:28:00 +00:00
Chris Lattner
ade85ecf77
Fix a misunderstanding of the standard associative containers
...
llvm-svn: 5565
2003-02-14 05:34:36 +00:00
Chris Lattner
ddd3b7fa54
Don't put integer pointers (longs) into the scalar map.
...
This speeds stuff up by 10% on some tests, woot!
llvm-svn: 5564
2003-02-14 04:55:58 +00:00
Chris Lattner
c0bda0d45e
Clarify the Makefile.config settings
...
llvm-svn: 5563
2003-02-14 04:22:13 +00:00
Chris Lattner
222e70a9fa
Fix bug: LevelRaise/2003-02-13-CallRaise.ll
...
llvm-svn: 5562
2003-02-14 03:07:17 +00:00
Chris Lattner
36239e2df9
New testcase distilled from LARN
...
llvm-svn: 5561
2003-02-14 03:02:16 +00:00
Chris Lattner
3699ef409c
Hax0r around a deficiency in the Pass infrastructure
...
llvm-svn: 5555
2003-02-13 21:44:18 +00:00
Chris Lattner
60ede774af
Use the new tailclip property new added to graphviz CVS to make call nodes
...
actually intelligable
llvm-svn: 5554
2003-02-13 20:14:40 +00:00
Chris Lattner
3789369330
This speeds up processing LLVM a _lot_, 17% in the case of loading and destroying "vortex"
...
llvm-svn: 5553
2003-02-13 19:46:22 +00:00
Chris Lattner
a17866894a
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
llvm-svn: 5552
2003-02-13 19:09:00 +00:00
Chris Lattner
4bb0806f91
Fix profile builds
...
llvm-svn: 5551
2003-02-13 16:56:30 +00:00
Chris Lattner
4e6fad05a6
Make more compatible with GCC 2.96
...
llvm-svn: 5550
2003-02-13 16:25:28 +00:00
Chris Lattner
a6b38bd7f5
Remove gunk that was supposed to make space evaluation more precise, but never worked.
...
llvm-svn: 5549
2003-02-13 05:07:53 +00:00
Chris Lattner
5895530d56
New testcase, for something we may never really want to support :)
...
llvm-svn: 5548
2003-02-12 21:45:39 +00:00
Chris Lattner
936e61bcbc
Add -fomit-frame-pointer when optimizing
...
llvm-svn: 5547
2003-02-12 20:45:45 +00:00
Joel Stanley
e490214bae
Fixed alloca declaration problem on sun.
...
llvm-svn: 5546
2003-02-12 20:45:00 +00:00
Chris Lattner
5c6961c509
Don't output times in "scientific" notation
...
llvm-svn: 5544
2003-02-12 19:02:13 +00:00
Chris Lattner
b8450599f3
Add new -no-verify option
...
llvm-svn: 5542
2003-02-12 18:45:08 +00:00
Chris Lattner
4dbe59b5ba
Add a new -no-output option, useful for -aa-eval tests.
...
llvm-svn: 5541
2003-02-12 18:43:33 +00:00
Chris Lattner
ca959ff6fd
Implement more functions
...
llvm-svn: 5538
2003-02-11 23:12:23 +00:00
Chris Lattner
3595c3387a
Rename options
...
llvm-svn: 5537
2003-02-11 23:12:09 +00:00
Chris Lattner
7127d7db7a
Implement a "union-findy" version of DS-Analysis, which eliminates the
...
Referrers list on DSNodes.
llvm-svn: 5536
2003-02-11 23:11:51 +00:00
Chris Lattner
763502671d
Minor tweaks to printing. Close the file before viewing it in viewGraph
...
llvm-svn: 5535
2003-02-11 19:27:27 +00:00
Chris Lattner
1cc14aa2ba
Fix uninitialized member problem
...
llvm-svn: 5534
2003-02-11 06:36:00 +00:00
Chris Lattner
242d685332
Bugfix for calling dump() after the links vector has been cleared
...
llvm-svn: 5533
2003-02-10 22:46:47 +00:00
Chris Lattner
e715357909
Modest speedup which seems to help steens quite a bit on large graphs
...
llvm-svn: 5532
2003-02-10 18:47:23 +00:00
Chris Lattner
e170f0db13
Move getNode() out of line
...
llvm-svn: 5531
2003-02-10 18:19:41 +00:00
Chris Lattner
f8292feb04
Fix problem breaking GAP, use hasNoReferrers more
...
llvm-svn: 5530
2003-02-10 18:18:18 +00:00
Chris Lattner
f4122de179
Implement a new method "viewGraph" which can be used to instantly view a graph from GDB.
...
llvm-svn: 5529
2003-02-10 18:17:38 +00:00
Chris Lattner
75007f16de
Implement a new "viewGraph" method which can be used to instantly view a graph from gdb
...
llvm-svn: 5528
2003-02-10 18:17:07 +00:00
Chris Lattner
b96f2123ab
Rearrange code
...
llvm-svn: 5527
2003-02-10 18:16:36 +00:00
Chris Lattner
5153d44a91
Fix problem breaking Fhourstones
...
llvm-svn: 5526
2003-02-10 18:16:19 +00:00
Chris Lattner
eaec4be9ea
Revert Anand's patch which broke the build
...
llvm-svn: 5525
2003-02-10 15:55:50 +00:00
Chris Lattner
df2a78e833
Make steensgaards performance not shameful
...
llvm-svn: 5524
2003-02-10 00:14:57 +00:00
Chris Lattner
43df2886c5
Don't insert null entries into the scalar map for constexpr (cast null to Ty)
...
llvm-svn: 5523
2003-02-09 23:04:12 +00:00
Anand Shukla
893dfda486
*** empty log message ***
...
llvm-svn: 5522
2003-02-09 21:15:36 +00:00
Chris Lattner
c15e3d93f2
Remove the -debug option from release executables
...
llvm-svn: 5521
2003-02-09 21:13:57 +00:00
Chris Lattner
b0208e1ae3
Allow printing of various types of alias analysis results
...
llvm-svn: 5520
2003-02-09 20:40:13 +00:00
Chris Lattner
2393160bde
Implement knowledge in BasicAA that &A->field != &A and (P+1) != P
...
llvm-svn: 5519
2003-02-09 19:38:11 +00:00
Chris Lattner
1fbac976b9
- Fix BasicAA to correctly detect the non-aliasness of A[1] & A[2]
...
llvm-svn: 5518
2003-02-09 19:27:21 +00:00
Chris Lattner
4e0457a027
Switch to using the right call vector
...
llvm-svn: 5517
2003-02-09 19:26:47 +00:00
Chris Lattner
8a8407d1fd
Add a basic-aa test
...
llvm-svn: 5516
2003-02-09 19:01:00 +00:00
Chris Lattner
93fdaf9cb9
Fix major bugs in incompleteness marking that were pessimizing results
...
llvm-svn: 5515
2003-02-09 18:42:43 +00:00
Chris Lattner
e4059b4ed6
Print out the steens graph if -debug is specified
...
llvm-svn: 5514
2003-02-09 18:42:16 +00:00
Chris Lattner
0eee7eb390
* Fix a bug where global incompleteness marking would not mark the global
...
itself incomplete!
* Allow incompleteness callers to specify they don't want globals to be
considered sources of incompleteness.
llvm-svn: 5513
2003-02-09 18:41:49 +00:00
Chris Lattner
ed8dbc90a5
TD Pass now does not cause globals to mark nodes incomplete.
...
llvm-svn: 5512
2003-02-09 18:40:25 +00:00
Chris Lattner
26bd24cd81
Add a special case for main because we know it's incoming arguments don't alias
...
llvm-svn: 5511
2003-02-08 23:08:02 +00:00
Chris Lattner
d73f9f55f2
Fix a bug where we would mark the callees arguments incomplete if the caller was external.
...
llvm-svn: 5510
2003-02-08 23:07:39 +00:00
Chris Lattner
eadcadc54b
Fix division by zero problem
...
llvm-svn: 5509
2003-02-08 23:04:50 +00:00
Chris Lattner
63ea85f089
Remove explicit result counters
...
llvm-svn: 5508
2003-02-08 23:03:17 +00:00
Chris Lattner
cb7d6429fc
Add a flag which effectively disables field sensitivity
...
llvm-svn: 5506
2003-02-08 20:18:39 +00:00
Chris Lattner
fdc902e6f2
Don't bother counting alias results, allow the AliasAnalysisCounter to do that.
...
llvm-svn: 5505
2003-02-07 20:39:48 +00:00
Chris Lattner
9a734b6c24
Allow counting multiple passes, and print the pass name counted
...
llvm-svn: 5504
2003-02-07 20:39:17 +00:00
Chris Lattner
e996681c1c
New general purpose alias analysis result auditor
...
llvm-svn: 5503
2003-02-07 19:46:03 +00:00
Chris Lattner
afc83ba35e
Add notes from Vikram's email
...
llvm-svn: 5502
2003-02-07 19:25:35 +00:00
Chris Lattner
0c552b8a74
Remove obsolete page
...
llvm-svn: 5501
2003-02-07 19:22:53 +00:00
Chris Lattner
371fd2c59b
Add a summary
...
llvm-svn: 5500
2003-02-06 22:06:08 +00:00
Chris Lattner
4ecd2d0125
Fix a problem Sumant was running into
...
llvm-svn: 5499
2003-02-06 22:03:46 +00:00