Commit Graph

461 Commits

Author SHA1 Message Date
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
2c1d7cf13b Fix division by zero problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5509 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08 23:04:50 +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
a89feb55e0 Allow counting multiple passes, and print the pass name counted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5504 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-07 20:39:17 +00:00
Chris Lattner
70e332d34b New general purpose alias analysis result auditor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5503 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-07 19:46:03 +00:00
Chris Lattner
68963a47e7 Add a summary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5500 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-06 22:06:08 +00:00
Chris Lattner
9798ca55e1 Simple N^2 alias anlysis accuracy checker
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5498 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-06 21:29:49 +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
dc1ad196e1 Add statistics to basicAA pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5480 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 21:16:17 +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
Chris Lattner
706e7ab871 Fix a bug where we would incorrectly delete globals which had edges to alive nodes in
a graph in the t-d pass.  This slows down the TD pass by quite a bit (1/3), but is
needed for correctness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 06:51:17 +00:00
Chris Lattner
d4400c8297 Delete nodes more efficiently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5463 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 06:41:15 +00:00
Chris Lattner
5e7d0e2691 Remove dead nodes more efficiently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5462 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 06:23:33 +00:00
Chris Lattner
a1220afc3a Improve efficiency of aliveness traversal code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5461 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 06:17:02 +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
b3416bc9cc Remove using declarations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5456 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:01:21 +00:00
Chris Lattner
100f87252d Remove globals on the bottom up pass which do not contain any information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-31 23:57:36 +00:00
Chris Lattner
11d71edd0d Add functions to the ban list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-31 23:57:10 +00:00
Chris Lattner
5c7380e567 Use and implement API for graph traversals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 21:10:20 +00:00
Chris Lattner
3f24d7a2cd free instructions mark their operands as being heap nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5425 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28 20:59:57 +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
394471f197 * Eliminate boolean arguments in favor of using enums
* T-D pass now eliminates unreachable globals


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5419 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 22:05:33 +00:00
Chris Lattner
787645839a Slight efficiency improvement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5418 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 21:31:16 +00:00
Chris Lattner
6f6fef8c26 Fix analysis of the Burg program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5401 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-22 22:00:24 +00:00
Chris Lattner
92ba2aaa58 Rename llvm/Analysis/LiveVar/FunctionLiveVarInfo.h -> llvm/CodeGen/FunctionLiveVarInfo.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5284 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 23:05:08 +00:00
Chris Lattner
8143d8f91a Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5282 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:56:37 +00:00
Chris Lattner
2c1378cc12 Move annotations to support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5270 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:31:39 +00:00
Misha Brukman
f4445dfcb7 'graph' is spelled without a 'c'.
Also added Statistic counters for NoAlias and MayAlias.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4972 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-12 05:34:10 +00:00
Chris Lattner
3fc46450b7 Remove #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4968 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-12 03:47:27 +00:00
Vikram S. Adve
e12c74c07b This file implements a pass that automatically parallelizes a program,
using the Cilk multi-threaded runtime system to execute parallel code.
The current version inserts too many sync() operations in the program
because it does not attempt to optimize their placement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4962 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-10 00:43:34 +00:00
Vikram S. Adve
0d4f76637d Iterator that enumerates the ProgramDependenceGraph (PDG) for a function,
i.e., enumerates all data and control dependences for the function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4958 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-08 14:13:19 +00:00
Vikram S. Adve
96b21c1054 An explicit representation of dependence graphs, and a pass that
computes a dependence graph for data dependences on memory locations
using interprocedural Mod/Ref information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4957 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-08 13:26:29 +00:00
Chris Lattner
a1af8bd72b Add total instruction, bb, & function counts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4954 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-07 23:24:24 +00:00