Chris Lattner
0d779712e7
Fix bug: Assembler/2002-10-08-LargeArrayPerformance.ll by using
...
std::vector::reserve when possible
llvm-svn: 4085
2002-10-08 23:33:52 +00:00
Chris Lattner
091c3add36
New testcase that the assembler is unacceptably slow on
...
llvm-svn: 4084
2002-10-08 22:35:04 +00:00
Chris Lattner
a185db3d72
- Fix bug: LevelRaise/2002-10-08-VarArgCall.ll
...
llvm-svn: 4083
2002-10-08 22:19:25 +00:00
Chris Lattner
a1dc570868
New testcase for bug that messes up the CWriter
...
llvm-svn: 4082
2002-10-08 21:57:49 +00:00
Chris Lattner
b7368500dc
- Fix bug: cee/2002-10-07-NoImmediateDominator.ll
...
llvm-svn: 4081
2002-10-08 21:53:51 +00:00
Chris Lattner
caf5b504a3
Changes to support PHINode::removeIncoming changes
...
llvm-svn: 4080
2002-10-08 21:36:34 +00:00
Chris Lattner
a704ac8a66
Changes to support PHINode::removeIncoming changes
...
llvm-svn: 4079
2002-10-08 21:36:33 +00:00
Chris Lattner
fae98a2d28
- Change PHINode::removeIncomingValue to delete the phi node if the last
...
incoming value is removed!
llvm-svn: 4078
2002-10-08 21:34:58 +00:00
Chris Lattner
736709feda
- 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.
llvm-svn: 4077
2002-10-08 21:34:15 +00:00
Chris Lattner
ed5fabe19b
By default PHINode::removeIncomingValue will delete the phi node if the last
...
incoming value is deleted!
llvm-svn: 4076
2002-10-08 21:31:56 +00:00
Chris Lattner
5ac72defc9
Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass
...
llvm-svn: 4075
2002-10-08 21:06:27 +00:00
Chris Lattner
acb038e5c7
Expose new "recalculate" method from dominatorset
...
llvm-svn: 4074
2002-10-08 19:12:08 +00:00
Chris Lattner
8d72b87dc5
Cleanup testcase
...
llvm-svn: 4073
2002-10-08 19:11:21 +00:00
Chris Lattner
219b848205
Make test more interesting by adding dummy phi node
...
llvm-svn: 4072
2002-10-08 19:11:02 +00:00
Chris Lattner
394617f38b
It is illegal for PHI nodes to have zero values, delete the code to handle them
...
llvm-svn: 4071
2002-10-08 17:07:39 +00:00
Chris Lattner
2e0fb39d87
Fold ashr -1, X into -1
...
llvm-svn: 4070
2002-10-08 16:16:40 +00:00
Chris Lattner
ee5c8a9e8d
Add new testcase for arithmetic shr of -1
...
llvm-svn: 4069
2002-10-08 16:10:35 +00:00
Chris Lattner
86566f1d85
This test was mistakenly matching 'predecessors' that the new asmwriter
...
spits out
llvm-svn: 4068
2002-10-08 16:09:47 +00:00
Nick Hildenbrandt
37e690a9c8
LLVM syntax highlighting for VIM.
...
llvm-svn: 4067
2002-10-07 22:54:48 +00:00
Chris Lattner
433604a5f5
Don't rotate paper.
...
llvm-svn: 4066
2002-10-07 22:37:03 +00:00
Chris Lattner
dd8a336e09
New testcase
...
llvm-svn: 4065
2002-10-07 20:32:38 +00:00
Chris Lattner
84d7b61585
Fix testcase to run correctly, add description
...
llvm-svn: 4064
2002-10-07 20:25:45 +00:00
Chris Lattner
85068aa417
Finally I'm able to distill a testcase for a problem I'm seeing!
...
llvm-svn: 4063
2002-10-07 20:05:27 +00:00
Chris Lattner
9126483558
- Implement a new -print-cfg option for analyze, that causes it to print the
...
CFG of each function in the module to 'dot' files.
llvm-svn: 4062
2002-10-07 18:38:01 +00:00
Chris Lattner
1484662c07
- Allow printing generic LLVM graphs to 'dot' files, so they can be
...
visualized easily.
llvm-svn: 4061
2002-10-07 18:37:10 +00:00
Chris Lattner
68f21bcb1b
Non-functionality change just to make it more clear what is going on
...
llvm-svn: 4060
2002-10-07 18:34:32 +00:00
Chris Lattner
8e2c197c17
Avoid making external global variables internal
...
llvm-svn: 4059
2002-10-07 18:33:53 +00:00
Chris Lattner
31ae011e43
Fix bug in last checkin
...
llvm-svn: 4058
2002-10-07 17:13:22 +00:00
Chris Lattner
d9fdcfcda9
Update testcase to be legal llvm
...
llvm-svn: 4057
2002-10-07 17:00:53 +00:00
Chris Lattner
3cfcdc252e
Remove really old testcase
...
llvm-svn: 4056
2002-10-07 16:59:51 +00:00
Chris Lattner
6fa8a99101
Implement operator= for SuccIterators
...
llvm-svn: 4055
2002-10-07 16:53:22 +00:00
Chris Lattner
5b17790ba5
Checkin new "feature" test for cee
...
llvm-svn: 4054
2002-10-06 23:31:09 +00:00
Chris Lattner
3cf5bcf7e5
NEw "feature" test that cee should eventually handle
...
llvm-svn: 4053
2002-10-06 23:05:38 +00:00
Chris Lattner
d131986b0f
Global variables are now external if they don't have initializers, not
...
"uninitialized"
llvm-svn: 4052
2002-10-06 22:48:09 +00:00
Chris Lattner
78bc0fa29f
Check that we don't have external varaibles with internal linkage
...
llvm-svn: 4051
2002-10-06 22:47:32 +00:00
Chris Lattner
e2dd92be96
The parser now accepts "external" global variables, in addition to the backwards
...
compatible "uninitialized" global variables
llvm-svn: 4050
2002-10-06 22:45:09 +00:00
Chris Lattner
8ec8b2547f
- Cleaned up all of the test/Feature tests to not use uint's with
...
getelementptr instructions and not to add pointers.
llvm-svn: 4049
2002-10-06 22:43:49 +00:00
Chris Lattner
fa3f55cfaa
Remove old crusty test
...
llvm-svn: 4048
2002-10-06 22:35:56 +00:00
Chris Lattner
ee67e9ae51
Test "external" modifier on global variable
...
Fix getelementptr instruction to use long isntead of uint index
llvm-svn: 4047
2002-10-06 22:32:38 +00:00
Chris Lattner
9e31c7ea8a
- Add new isExternal() method to GlobalVariable to mirror Function.
...
- doxygenize comments and add new comments
llvm-svn: 4046
2002-10-06 22:29:58 +00:00
Chris Lattner
ae4cf5237a
- The extract tool now is sure to extract the function implementation for
...
the specified name instead of extracting the prototype if both exist.
llvm-svn: 4045
2002-10-06 21:30:04 +00:00
Chris Lattner
4cd9df88a7
PHI nodes are not allowed to exist with zero incoming values, check that
...
there aren't any like this.
llvm-svn: 4044
2002-10-06 21:00:31 +00:00
Vikram S. Adve
2cc6609e25
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).
llvm-svn: 4043
2002-10-05 23:43:10 +00:00
Anand Shukla
b8aef8eff8
Added #include<unistd.h> to compile with solaris gcc3.2
...
llvm-svn: 4042
2002-10-04 23:57:01 +00:00
Anand Shukla
195d3fb37f
added cast to unsigned to compile with gcc3.2 (sparc)
...
llvm-svn: 4041
2002-10-04 23:56:18 +00:00
Chris Lattner
8ea38b996b
New testcase for bug never checked into CVS, but that I hit during debugging a
...
new feature
llvm-svn: 4039
2002-10-04 23:29:40 +00:00
Chris Lattner
d7b3bb0fa4
Handle post dominance correctly in the case where blocks do not have a path to
...
the exit node.
llvm-svn: 4038
2002-10-04 14:50:20 +00:00
Chris Lattner
2cedf1ce82
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.
llvm-svn: 4037
2002-10-04 14:45:48 +00:00
Chris Lattner
9df1cf3034
Prune function nodes that are no longer referenced due to inlining
...
llvm-svn: 4036
2002-10-03 21:55:28 +00:00
Chris Lattner
9dfb9f44cc
sgefa uses truely huge data structures nodes. Only print part of them if they
...
are so big
llvm-svn: 4035
2002-10-03 21:55:13 +00:00