Commit Graph

1356 Commits

Author SHA1 Message Date
Chris Lattner
566f0ee4ed Add new getIncomingValueForBlock method
Relax a bit about constness


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5709 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:36:28 +00:00
Chris Lattner
05ddff9b98 Simplify some of the PHI node interfaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5700 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-05 21:15:12 +00:00
Chris Lattner
b75f9dda9e Add a few new 'add' methods. Move the iterator around
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5690 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 23:27:52 +00:00
Chris Lattner
fb743a937f Change the mem2reg interface to accept a TargetData argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:25:18 +00:00
Chris Lattner
af68ccefeb Don't apply type information to loads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:13:22 +00:00
Chris Lattner
f972cbd98c Add dump method for loops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5670 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 16:54:37 +00:00
Chris Lattner
1db0a40037 Add graph traits specializations for loop nesting information...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5666 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 03:05:15 +00:00
Chris Lattner
6bc4281336 Add new Loop::hasExitBlock helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5663 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:48:28 +00:00
Chris Lattner
f2e2925f95 Change behavior of changeExitBlock function to replace all instances of exit block
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:37:44 +00:00
Chris Lattner
ef05100950 Make the interface to update a little more efficient
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 20:24:17 +00:00
Chris Lattner
fe3ae1ed66 * LoopInfo now keeps track of exit blocks from the loop
* New LoopInfo::isLoopHeader method
  * Remove some #if 0 code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5649 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 00:37:22 +00:00
Chris Lattner
31a9d185bf Make the aliassettracker much more precise by actually tracking size
information for various accesses.  What a concept.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5647 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 22:11:00 +00:00
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
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
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
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
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
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
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
731b2d7df5 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 19:09:00 +00:00
Chris Lattner
72d29a4b00 Implement a "union-findy" version of DS-Analysis, which eliminates the
Referrers list on DSNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5536 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-11 23:11:51 +00:00
Chris Lattner
d3c2e3237c Fix uninitialized member problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5534 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-11 06:36:00 +00:00
Chris Lattner
1fcc101b1c Bugfix for calling dump() after the links vector has been cleared
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5533 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 22:46:47 +00:00
Chris Lattner
ed14f8283a Move getNode() out of line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5531 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:19:41 +00:00
Chris Lattner
c40c905d63 Implement a new method "viewGraph" which can be used to instantly view a graph from GDB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:17:38 +00:00
Chris Lattner
d4aabcb0d0 TD Pass now does not cause globals to mark nodes incomplete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5512 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 18:40:25 +00:00
Chris Lattner
923fc05b3a Implement optimization for direct function call case. This dramatically
reduces the number of function nodes created and speeds up analysis by
about 10% overall.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 21:59:58 +00:00
Chris Lattner
a329733f47 Allow the addition of edge source labels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 19:40:59 +00:00
Chris Lattner
f52ade928c Add sanity check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 00:03:57 +00:00
Chris Lattner
4923d1be91 Hack to work around deficiency in pass infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5485 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 22:51:28 +00:00
Chris Lattner
5a939029d5 Eliminate unused resolving caller stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5475 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:11:04 +00:00
Chris Lattner
f9962812d0 * Add a bunch of stuff for checking the integrity of the graph
* remove the isNodeDead method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5474 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:10:24 +00:00
Chris Lattner
9a64084a84 Remove pool alloc accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:08:33 +00:00
Chris Lattner
4ab6aefe44 Expose information about pool allocation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:07:46 +00:00
Chris Lattner
8bac08bf04 Allow modifying a global variables constness property
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-02 16:40:40 +00:00
Chris Lattner
41c04f730b Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)
This change provides a small (3%) but consistent speedup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5460 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:52:08 +00:00
Chris Lattner
7f306c8dcf Add hash_multimap support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5457 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:14:28 +00:00
Chris Lattner
cb98327142 Add new composition mask
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5454 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 03:28:26 +00:00
Joel Stanley
0eea1d5b7e Added protos for two alternate, convenient CallInst constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5453 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 00:41:27 +00:00
Chris Lattner
fe9664ce7c Add new function to allow removal of typed named elements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5442 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-30 20:54:03 +00:00
Chris Lattner
9e4b15b1a1 New API for traversing graph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 21:09:59 +00:00
Chris Lattner
fd373cb944 Initial checking: defult the make_vector function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28 20:01:16 +00:00
Chris Lattner
a892a3a08e New helper header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5423 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-27 22:08:52 +00:00
Chris Lattner
381977d191 * Eliminate boolean arguments in favor of using enums
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5420 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 22:06:33 +00:00
Chris Lattner
9085d8a9a9 Print machine frame objects with the frame offset intrinsic to the machine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5329 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-16 18:35:57 +00:00
Chris Lattner
795ba6cabd Move sparc specific code into the Sparc backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5317 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 21:36:50 +00:00