Commit Graph

4053 Commits

Author SHA1 Message Date
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