Commit Graph

5583 Commits

Author SHA1 Message Date
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