1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Commit Graph

4115 Commits

Author SHA1 Message Date
Chris Lattner
83d105d986 Almost a complete rewrite of FunctionResolution to now resolve functions
and global variables.

This fixes bug: FuncResolve/2002-08-19-ResolveGlobalVarsEasier.ll
And bug: SingleSource/UnitTests/2002-10-09-ArrayResolution.c

Note that this does not fix bug:
FunctionResolve/2002-08-19-ResolveGlobalVars.ll because replaceAllUsesWith
breaks when a constantexpr is pointing to the thing being replaced.  This
is more of an infrastructure problem than anything.

llvm-svn: 4099
2002-10-09 21:10:06 +00:00
Chris Lattner
8081455368 Add check to see if opt aborts
llvm-svn: 4098
2002-10-09 20:55:32 +00:00
Chris Lattner
a92a64af7c New testcase
llvm-svn: 4097
2002-10-09 20:37:13 +00:00
Chris Lattner
c9ed9a594a Avoid having testcases spit out bytecode on error
llvm-svn: 4096
2002-10-09 20:36:54 +00:00
Chris Lattner
0ca434ecd5 Cleanup testcase a lot to test JUST funcresolve of globals
llvm-svn: 4095
2002-10-09 17:44:34 +00:00
Chris Lattner
f4a42d7fb9 - Detemplatize UseTy<> in Value.h, because it's only instantiated for one
type!

llvm-svn: 4093
2002-10-09 00:42:03 +00:00
Misha Brukman
690c2d0709 Added a major mode for Emacs to edit LLVM assembler code with syntax
highlighting.

llvm-svn: 4092
2002-10-09 00:30:20 +00:00
Chris Lattner
0e7fbf7025 Minor, non-functionality changing, formatting fix
llvm-svn: 4091
2002-10-09 00:25:32 +00:00
Chris Lattner
a8dd29787b - Remove Value::use_remove
llvm-svn: 4090
2002-10-09 00:25:05 +00:00
Chris Lattner
bdb409390d - Remove Value::use_push_back & Value::use_remove
llvm-svn: 4089
2002-10-09 00:25:01 +00:00
Chris Lattner
51d98b38f2 - Rename MTy to FTy (no methods exist anymore)
- Fix bug: LevelRaise/2002-10-08-VarArgCallInfLoop.ll

llvm-svn: 4088
2002-10-09 00:16:00 +00:00
Chris Lattner
929c9c90be New testcase for infinite loop that the raise pass is getting into
llvm-svn: 4087
2002-10-09 00:09:59 +00:00
Chris Lattner
88de60dd26 Fix NASTY N^2 behavior that was causing the gzip benchmark to take forever to
assemble.  Now we scan the use-list from the back when removing users instead
of from the front.

llvm-svn: 4086
2002-10-08 23:46:55 +00:00
Chris Lattner
4a72e094f9 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
a79cd9c1a0 New testcase that the assembler is unacceptably slow on
llvm-svn: 4084
2002-10-08 22:35:04 +00:00
Chris Lattner
e8160b4dd1 - Fix bug: LevelRaise/2002-10-08-VarArgCall.ll
llvm-svn: 4083
2002-10-08 22:19:25 +00:00
Chris Lattner
2da5975c47 New testcase for bug that messes up the CWriter
llvm-svn: 4082
2002-10-08 21:57:49 +00:00
Chris Lattner
d68e6d1718 - Fix bug: cee/2002-10-07-NoImmediateDominator.ll
llvm-svn: 4081
2002-10-08 21:53:51 +00:00
Chris Lattner
c35f54df86 Changes to support PHINode::removeIncoming changes
llvm-svn: 4080
2002-10-08 21:36:34 +00:00
Chris Lattner
9c236351fd Changes to support PHINode::removeIncoming changes
llvm-svn: 4079
2002-10-08 21:36:33 +00:00
Chris Lattner
f868df40b9 - 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
40df2d9d4c - 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
aa8b6d047c 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
3cf20c3f14 Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass
llvm-svn: 4075
2002-10-08 21:06:27 +00:00
Chris Lattner
b9f59f1533 Expose new "recalculate" method from dominatorset
llvm-svn: 4074
2002-10-08 19:12:08 +00:00
Chris Lattner
0007480fd4 Cleanup testcase
llvm-svn: 4073
2002-10-08 19:11:21 +00:00
Chris Lattner
35c02b84ff Make test more interesting by adding dummy phi node
llvm-svn: 4072
2002-10-08 19:11:02 +00:00
Chris Lattner
b32252aa71 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
55c7ae3cdc Fold ashr -1, X into -1
llvm-svn: 4070
2002-10-08 16:16:40 +00:00
Chris Lattner
1e39dc6f80 Add new testcase for arithmetic shr of -1
llvm-svn: 4069
2002-10-08 16:10:35 +00:00
Chris Lattner
717bd8eb0b 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
cf5752f001 LLVM syntax highlighting for VIM.
llvm-svn: 4067
2002-10-07 22:54:48 +00:00
Chris Lattner
b7590d8595 Don't rotate paper.
llvm-svn: 4066
2002-10-07 22:37:03 +00:00
Chris Lattner
b9cacc43f7 New testcase
llvm-svn: 4065
2002-10-07 20:32:38 +00:00
Chris Lattner
0d8fa625ea Fix testcase to run correctly, add description
llvm-svn: 4064
2002-10-07 20:25:45 +00:00
Chris Lattner
21aba702ee 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
3a13076188 - 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
2378135686 - 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
c532e35cce 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
1a1a1002c4 Avoid making external global variables internal
llvm-svn: 4059
2002-10-07 18:33:53 +00:00
Chris Lattner
a79cd8735c Fix bug in last checkin
llvm-svn: 4058
2002-10-07 17:13:22 +00:00
Chris Lattner
80cf2a964b Update testcase to be legal llvm
llvm-svn: 4057
2002-10-07 17:00:53 +00:00
Chris Lattner
b366eddab0 Remove really old testcase
llvm-svn: 4056
2002-10-07 16:59:51 +00:00
Chris Lattner
a186714d74 Implement operator= for SuccIterators
llvm-svn: 4055
2002-10-07 16:53:22 +00:00
Chris Lattner
f04f2bc929 Checkin new "feature" test for cee
llvm-svn: 4054
2002-10-06 23:31:09 +00:00
Chris Lattner
82fa78a6ea NEw "feature" test that cee should eventually handle
llvm-svn: 4053
2002-10-06 23:05:38 +00:00
Chris Lattner
4e19009255 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
d8244f43d4 Check that we don't have external varaibles with internal linkage
llvm-svn: 4051
2002-10-06 22:47:32 +00:00
Chris Lattner
6408586b7b 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
24e01d2066 - 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