Commit Graph

3903 Commits

Author SHA1 Message Date
Chris Lattner
d43c7d2077 Fix bug: Assembler/2002-10-08-LargeArrayPerformance.ll by using
std::vector::reserve when possible


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4085 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 23:33:52 +00:00
Chris Lattner
a20021b20b New testcase that the assembler is unacceptably slow on
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4084 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 22:35:04 +00:00
Chris Lattner
61b92c02b4 - Fix bug: LevelRaise/2002-10-08-VarArgCall.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4083 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 22:19:25 +00:00
Chris Lattner
8576bd6220 New testcase for bug that messes up the CWriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4082 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:57:49 +00:00
Chris Lattner
d3d06a5cd8 - Fix bug: cee/2002-10-07-NoImmediateDominator.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4081 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:53:51 +00:00
Chris Lattner
dee430d26e Changes to support PHINode::removeIncoming changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4080 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:36:34 +00:00
Chris Lattner
bb190ac8da Changes to support PHINode::removeIncoming changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4079 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:36:33 +00:00
Chris Lattner
8bcb768a9c - Change PHINode::removeIncomingValue to delete the phi node if the last
incoming value is removed!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4078 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:34:58 +00:00
Chris Lattner
f7f009d9a5 - Checkin LARGE number of Changes to CEE pass that will make it much more
powerful, but that are largely disabled.  The basic idea here is that it
    is trying to forward branches across basic blocks that have PHI nodes in
    it, which are crucial to be able to handle cases like whet.ll.
    Unfortunately we are not updating SSA correctly, causing sim.c to die, and I
    don't have time to fix the regression now, so I must disable the
    functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4077 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:34:15 +00:00
Chris Lattner
fe3c2e006d By default PHINode::removeIncomingValue will delete the phi node if the last
incoming value is deleted!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4076 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:31:56 +00:00
Chris Lattner
e802a023d9 Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4075 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:06:27 +00:00
Chris Lattner
7ca266fe1f Expose new "recalculate" method from dominatorset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4074 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 19:12:08 +00:00
Chris Lattner
de013f53a7 Cleanup testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4073 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 19:11:21 +00:00
Chris Lattner
b82992827d Make test more interesting by adding dummy phi node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4072 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 19:11:02 +00:00
Chris Lattner
57b314cfb1 It is illegal for PHI nodes to have zero values, delete the code to handle them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4071 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 17:07:39 +00:00
Chris Lattner
6eaeb5764c Fold ashr -1, X into -1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4070 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 16:16:40 +00:00
Chris Lattner
af1b4ad24c Add new testcase for arithmetic shr of -1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4069 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 16:10:35 +00:00
Chris Lattner
2e217a7d96 This test was mistakenly matching 'predecessors' that the new asmwriter
spits out


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4068 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 16:09:47 +00:00
Nick Hildenbrandt
75f79b9b0e LLVM syntax highlighting for VIM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4067 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 22:54:48 +00:00
Chris Lattner
9106a58806 Don't rotate paper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 22:37:03 +00:00
Chris Lattner
48f9e6276d New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4065 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 20:32:38 +00:00
Chris Lattner
fd2836ac5f Fix testcase to run correctly, add description
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4064 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 20:25:45 +00:00
Chris Lattner
7b96c8d046 Finally I'm able to distill a testcase for a problem I'm seeing!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4063 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 20:05:27 +00:00
Chris Lattner
ac859db3e4 - Implement a new -print-cfg option for analyze, that causes it to print the
CFG of each function in the module to 'dot' files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:38:01 +00:00
Chris Lattner
95b923d548 - Allow printing generic LLVM graphs to 'dot' files, so they can be
visualized easily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4061 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:37:10 +00:00
Chris Lattner
7c1faf0f59 Non-functionality change just to make it more clear what is going on
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4060 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:34:32 +00:00
Chris Lattner
71bcba7d1a Avoid making external global variables internal
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4059 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:33:53 +00:00
Chris Lattner
8f1717f697 Fix bug in last checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4058 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 17:13:22 +00:00
Chris Lattner
e423406e6a Update testcase to be legal llvm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4057 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 17:00:53 +00:00
Chris Lattner
67855103bc Remove really old testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4056 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 16:59:51 +00:00
Chris Lattner
5554a1de08 Implement operator= for SuccIterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4055 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 16:53:22 +00:00
Chris Lattner
cacfb31197 Checkin new "feature" test for cee
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4054 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 23:31:09 +00:00
Chris Lattner
19ee34a334 NEw "feature" test that cee should eventually handle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4053 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 23:05:38 +00:00
Chris Lattner
0c5e362118 Global variables are now external if they don't have initializers, not
"uninitialized"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4052 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:48:09 +00:00
Chris Lattner
61b91bc156 Check that we don't have external varaibles with internal linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4051 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:47:32 +00:00
Chris Lattner
08c0e6af4f The parser now accepts "external" global variables, in addition to the backwards
compatible "uninitialized" global variables


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4050 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:45:09 +00:00
Chris Lattner
7209bfff92 - Cleaned up all of the test/Feature tests to not use uint's with
getelementptr instructions and not to add pointers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4049 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:43:49 +00:00
Chris Lattner
c5eafb57da Remove old crusty test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4048 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:35:56 +00:00
Chris Lattner
47dd0c343c Test "external" modifier on global variable
Fix getelementptr instruction to use long isntead of uint index


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4047 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:32:38 +00:00
Chris Lattner
ac8a58d500 - Add new isExternal() method to GlobalVariable to mirror Function.
- doxygenize comments and add new comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4046 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:29:58 +00:00
Chris Lattner
7d3f8671c1 - The extract tool now is sure to extract the function implementation for
the specified name instead of extracting the prototype if both exist.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4045 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 21:30:04 +00:00
Chris Lattner
f6ffcb6b71 PHI nodes are not allowed to exist with zero incoming values, check that
there aren't any like this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4044 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 21:00:31 +00:00
Vikram S. Adve
2a408f06b5 Bug fix: In preventing static global variables from being printed twice,
I also prevented external globals from being printed twice, but they
should (extern declaration and definition).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4043 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-05 23:43:10 +00:00
Anand Shukla
3400837374 Added #include<unistd.h> to compile with solaris gcc3.2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4042 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-04 23:57:01 +00:00
Anand Shukla
c1d4d79d93 added cast to unsigned to compile with gcc3.2 (sparc)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4041 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-04 23:56:18 +00:00
Chris Lattner
41a29f2b6f New testcase for bug never checked into CVS, but that I hit during debugging a
new feature


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4039 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-04 23:29:40 +00:00
Chris Lattner
7d821db958 Handle post dominance correctly in the case where blocks do not have a path to
the exit node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4038 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-04 14:50:20 +00:00
Chris Lattner
4e4caeffbd Fix a nasty problem with dominance calculation for unreachable blocks.
If we had a CFG that look like Entry -> B, Unreachable -> B, then we would
not correctly determine that Entry dominated B, because Entry did not
apparently dominate "unreachable".  This patch fixes this by making the entry
node dominate all blocks, including unreachable ones.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4037 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-04 14:45:48 +00:00
Chris Lattner
a00397e1ee Prune function nodes that are no longer referenced due to inlining
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4036 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-03 21:55:28 +00:00
Chris Lattner
6727ec64e8 sgefa uses truely huge data structures nodes. Only print part of them if they
are so big


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4035 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-03 21:55:13 +00:00