472 Commits

Author SHA1 Message Date
Chris Lattner
e0f4b98026 Remove support for the MultiObject flag, which was fundamentally broken
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6840 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:03:52 +00:00
Chris Lattner
bd92b73be7 * Changes to make NodeType be private to DSNode.
* Add new MultiObject flag to DSNode which keeps track of whether or not
  multiple objects have been merged into the node, allowing must-alias info
  to be tracked.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6794 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 21:15:11 +00:00
Chris Lattner
e158b19a3c Nodes get forwarded when they are collapsed currently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6696 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:08:18 +00:00
Chris Lattner
a75c8c4da8 Remove bogus assertion: a node with no referrers could be collapsed if field-sensitivity was disabled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6695 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:07:39 +00:00
Chris Lattner
ab2b328c78 Eliminate unnecessary ->get calls that are now automatically handled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6397 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:12:27 +00:00
Misha Brukman
f117cc9ee6 s/convertable/convertible/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 18:45:36 +00:00
Chris Lattner
4ad02e726d Add new linkage types to support a real frontend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:28:45 +00:00
Chris Lattner
088b639e3a Don't apply type information to load instructions if it will cause collapsing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5684 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:13:31 +00:00
Chris Lattner
a612afc54e Adjust to implement new AA interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5638 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:29:36 +00:00
Chris Lattner
98d6f0ad03 Fix resolution of indirect function calls... whoops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-14 23:27:18 +00:00
Chris Lattner
f1c283859b Mark function edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5571 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-14 20:25:47 +00:00
Chris Lattner
5f07a8b312 - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5566 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-14 06:28:00 +00:00
Chris Lattner
1a1a85d514 Don't put integer pointers (longs) into the scalar map.
This speeds stuff up by 10% on some tests, woot!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5564 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-14 04:55:58 +00:00
Chris Lattner
be1094ea35 Hax0r around a deficiency in the Pass infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5555 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 21:44:18 +00:00
Chris Lattner
352a6fa36f Use the new tailclip property new added to graphviz CVS to make call nodes
actually intelligable


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5554 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 20:14:40 +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
2cec1d3867 Minor tweaks to printing. Close the file before viewing it in viewGraph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5535 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-11 19:27:27 +00:00
Chris Lattner
a954b5eb3a Modest speedup which seems to help steens quite a bit on large graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5532 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:47:23 +00:00
Chris Lattner
2609c07df3 Fix problem breaking GAP, use hasNoReferrers more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5530 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:18:18 +00:00
Chris Lattner
e79eaa9b49 Implement a new "viewGraph" method which can be used to instantly view a graph from gdb
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5528 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:17:07 +00:00
Chris Lattner
4f2cfc0d74 Rearrange code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5527 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:16:36 +00:00
Chris Lattner
88c7294b80 Fix problem breaking Fhourstones
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5526 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:16:19 +00:00
Chris Lattner
0f777ab96a Make steensgaards performance not shameful
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5524 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 00:14:57 +00:00
Chris Lattner
1e56c54f41 Don't insert null entries into the scalar map for constexpr (cast null to Ty)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5523 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 23:04:12 +00:00
Chris Lattner
af28351773 Switch to using the right call vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5517 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 19:26:47 +00:00
Chris Lattner
e0fbd48e19 Fix major bugs in incompleteness marking that were pessimizing results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5515 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 18:42:43 +00:00
Chris Lattner
47a307aef0 Print out the steens graph if -debug is specified
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5514 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 18:42:16 +00:00
Chris Lattner
93d7a212cc * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5513 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 18:41:49 +00:00
Chris Lattner
e77f1456d7 Add a special case for main because we know it's incoming arguments don't alias
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5511 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08 23:08:02 +00:00
Chris Lattner
1ef0da2e25 Fix a bug where we would mark the callees arguments incomplete if the caller was external.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5510 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08 23:07:39 +00:00
Chris Lattner
6022ef463f Remove explicit result counters
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5508 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08 23:03:17 +00:00
Chris Lattner
ca3f790f71 Add a flag which effectively disables field sensitivity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5506 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08 20:18:39 +00:00
Chris Lattner
1dbd1b820f Don't bother counting alias results, allow the AliasAnalysisCounter to do that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5505 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-07 20:39:48 +00:00
Chris Lattner
5d2745801c Fix an assertion failure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5496 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-06 00:15:08 +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
b8925bce83 Remove bogus assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5492 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 16:33:23 +00:00
Chris Lattner
878e521b1e Fix a huge bug with handling non-pointer instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5491 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 00:59:50 +00:00
Chris Lattner
24d80079a8 Make the TD pass not include all of the call nodes from the local pass,
eliminating incomplete markers from them


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5490 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 00:59:32 +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
e6c0b5dba4 Fix steensgaard to work on a lot more cases...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5488 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 00:03:37 +00:00
Chris Lattner
714752fa8e Fix printing of nonfunction graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5487 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 00:03:18 +00:00
Chris Lattner
0a91e63d92 Rename variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5486 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 22:51:53 +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
8105cfbed0 Initial implementation of ds-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5484 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 22:50:46 +00:00
Chris Lattner
1e88369afe * Fix a bug introduced in the last checkin wrt Stack markers
* Make cloning more efficient in the process...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5479 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 20:08:51 +00:00
Chris Lattner
0ac7d5c534 Implement the globals graph!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5477 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:12:15 +00:00
Chris Lattner
20167e3c6d Add better debug output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5476 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:11:38 +00:00
Chris Lattner
32d10ddefa Be a bit more specific in caption
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5469 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-02 16:42:01 +00:00
Chris Lattner
7094b7ae8f Fix a bug where we would delete neccesary calls in bu pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5465 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 06:54:31 +00:00