Chris Lattner
b771939ef3
Two problems with these lines of code:
...
1. The "work" was not in the assert, so it was punishing the optimized release
2. getNamedFunction is _very_ expensive in large programs. It is not designed
to be used like this, and was taking 7% of the execution time of the code
generator on perlbmk.
Since the assert "can never fail", I'm just killing it.
llvm-svn: 11214
2004-02-09 00:59:07 +00:00
Chris Lattner
6ef23e7e64
The ConstantExpr::getCast call can cause a CPR to be generated. If so,
...
strip it off.
llvm-svn: 11213
2004-02-09 00:20:55 +00:00
Chris Lattner
9523c4de75
Fix PR215: [bcwriter] Problem compactifying ConstantPointerRefs
...
Have I ever mentioned how much I _hate_ constantpointerrefs?
llvm-svn: 11212
2004-02-09 00:15:41 +00:00
Misha Brukman
58ca173834
Fix grammar-o.
...
llvm-svn: 11210
2004-02-08 22:27:33 +00:00
Chris Lattner
84291a11e9
All of spec, including 253.perlbmk should now work. There is still the 254.gap
...
regression, but that will definitely be fixed by 1.2
llvm-svn: 11209
2004-02-08 22:23:33 +00:00
Chris Lattner
a9887d33e8
Improve compatibility with programs that already have a prototype for 'write',
...
even if it is wierd in some way.
llvm-svn: 11207
2004-02-08 22:14:44 +00:00
Chris Lattner
a9a34f9d82
vi failed me again. :)
...
llvm-svn: 11206
2004-02-08 21:52:30 +00:00
Chris Lattner
2878b11cfc
Rename the invoke 'except' destination to the 'unwind' destination
...
llvm-svn: 11205
2004-02-08 21:52:04 +00:00
Chris Lattner
2e51b50de1
Change the 'exception' destination to the 'unwind' destination. We will always
...
allow 'except' instead of 'unwind' here though.
llvm-svn: 11203
2004-02-08 21:48:25 +00:00
Chris Lattner
68fdb35576
rename the "exceptional" destination of an invoke instruction to the 'unwind' dest
...
llvm-svn: 11202
2004-02-08 21:44:31 +00:00
Chris Lattner
b80e3caa10
Add new bug, add note about llvm-db
...
llvm-svn: 11201
2004-02-08 21:20:42 +00:00
Chris Lattner
70d893a160
Fix PR225: [pruneeh] -pruneeh pass removes invoke instructions it shouldn't
...
llvm-svn: 11200
2004-02-08 21:15:59 +00:00
Chris Lattner
46c84561b2
splitBasicBlock "does the right thing" now, no reason to reposition it.
...
llvm-svn: 11199
2004-02-08 20:49:07 +00:00
Chris Lattner
4837e31b85
Bug fixed
...
llvm-svn: 11198
2004-02-08 19:59:05 +00:00
Chris Lattner
1c646349df
Implement proper invoke/unwind lowering.
...
This fixed PR16 "[lowerinvoke] The -lowerinvoke pass does not insert calls to setjmp/longjmp"
llvm-svn: 11195
2004-02-08 19:53:56 +00:00
Chris Lattner
14f60ad5e5
New testcase, code generators should support invoke/unwind
...
llvm-svn: 11192
2004-02-08 19:40:58 +00:00
Chris Lattner
ecaa4c58e2
Print out all globals as they are emitted, not just those emitted from
...
emitGlobals
llvm-svn: 11191
2004-02-08 19:33:23 +00:00
Chris Lattner
ffd16b0190
There is no reason to #define fd
...
llvm-svn: 11190
2004-02-08 19:33:07 +00:00
Brian Gaeke
66ed5dfe3d
add pr105
...
llvm-svn: 11189
2004-02-08 18:49:13 +00:00
Brian Gaeke
1ac6f94067
Fix unterminated-quote typo in echo command
...
llvm-svn: 11188
2004-02-08 08:01:00 +00:00
Brian Gaeke
48b0b95c66
Document automake as a build dependency because we use aclocal
...
llvm-svn: 11187
2004-02-08 07:49:04 +00:00
Brian Gaeke
ac67b5f439
Move rules for regenerating autoconf files into this shell script.
...
llvm-svn: 11186
2004-02-08 07:44:48 +00:00
Brian Gaeke
d46811bc3e
Remove rules for autoconf'ing files from top-level Makefile
...
llvm-svn: 11185
2004-02-08 07:44:30 +00:00
Chris Lattner
f549f9473e
Add a call to 'write' right before the call to abort() in the unwind path.
...
This causes the JIT, or LLC'd program to print out a nice message, explaining
WHY the program aborted.
llvm-svn: 11184
2004-02-08 07:30:29 +00:00
Brian Gaeke
b926a20f6c
Fix indentation of selectiondag.
...
I don't know why its indentation has been bugging me, but it has.
llvm-svn: 11180
2004-02-08 05:49:29 +00:00
Chris Lattner
838c2dd5af
Add one that I missed
...
llvm-svn: 11179
2004-02-08 01:53:10 +00:00
Chris Lattner
cc1376078c
Instead of callign removeTriviallyDeadNodes on the global graph every time
...
removeDeadNodes is called, only call it at the end of the pass being run.
This saves 1.3 seconds running DSA on 177.mesa (5.3->4.0s), which is
pretty big. This is only possible because of the automatic garbage
collection done on forwarding nodes.
llvm-svn: 11178
2004-02-08 01:51:48 +00:00
Chris Lattner
e2ee216e1f
Remove another unneeded call.
...
llvm-svn: 11177
2004-02-08 01:40:40 +00:00
Chris Lattner
85ba7bbf78
This call is no longer needed now that merging does not produce garbage
...
llvm-svn: 11176
2004-02-08 01:38:34 +00:00
Chris Lattner
32a3eb0b88
Substantially improve the DSA code by removing 'forwarding' nodes from
...
DSGraphs while they are forwarding. When the last reference to the forwarding
node is dropped, the forwarding node is autodeleted. This should simplify
removeTriviallyDead nodes, and is only (efficiently) possible because we are
using an ilist of dsnodes now.
llvm-svn: 11175
2004-02-08 01:27:18 +00:00
Chris Lattner
84ff796305
Bugfix for ilist conversion. The ilist wants to make an 'end' node which has
...
G == 0
llvm-svn: 11174
2004-02-08 01:05:37 +00:00
Chris Lattner
29067016a4
Switch the Nodes list from being an std::vector<DSNode*> to an ilist<DSNode>
...
llvm-svn: 11173
2004-02-08 00:53:26 +00:00
Chris Lattner
aaa095c8f4
One of the 'annoying' things about ilists is that the iterators don't behave
...
quite the same as for non-intrusive lists of pointers to nodes. To support
transitioning code bases, add a new 'compatibility' iterator.
llvm-svn: 11172
2004-02-08 00:51:31 +00:00
Chris Lattner
2c836fc933
Change to use node_iterators instead of direct access to Nodes
...
llvm-svn: 11171
2004-02-08 00:23:16 +00:00
Chris Lattner
e78429de24
Change to use iterators instead of direct access
...
llvm-svn: 11170
2004-02-08 00:22:41 +00:00
Chris Lattner
58a3a94fe7
Minor change to breakpoint (lack of) support
...
llvm-svn: 11169
2004-02-08 00:06:20 +00:00
Chris Lattner
6af67c7eb4
getNodes() is gone, use node_begin/end instead
...
Rename stats from dsnode -> dsa
Add a new stat
llvm-svn: 11167
2004-02-07 23:58:05 +00:00
Chris Lattner
ed36ca5f13
getNodes() is gone
...
llvm-svn: 11166
2004-02-07 23:57:26 +00:00
Chris Lattner
48a0d7e1c0
Abstract out the Nodes collection. Instead of providing a getNodes() method,
...
provide node_begin/end iterators, which are only guaranteed to be
bidirectional, not random access.
llvm-svn: 11165
2004-02-07 23:57:09 +00:00
Chris Lattner
2199bb0c7a
Actually USE isForwarding method
...
llvm-svn: 11160
2004-02-07 23:02:32 +00:00
Chris Lattner
6337300b83
As Alkis pointed out to me, I forgot to commit this... :(
...
llvm-svn: 11159
2004-02-07 22:54:19 +00:00
Chris Lattner
ce838bfae6
There is no need to clone over nodes that are going to be dead anyway
...
llvm-svn: 11157
2004-02-07 22:00:03 +00:00
Brian Gaeke
6a4cdc6ee6
Use autoconf answers from config.h (FIXME, should autoconf this file
...
directly instead).
Fix LockHolder/MutexLocker typo.
llvm-svn: 11156
2004-02-06 22:33:17 +00:00
Chris Lattner
c247c5ec58
Add a missing link
...
llvm-svn: 11154
2004-02-06 20:27:41 +00:00
Misha Brukman
dafb899df2
Fix grammar.
...
llvm-svn: 11153
2004-02-06 18:40:35 +00:00
Alkis Evlogimenos
59bb9d69c7
Increase code clarity.
...
llvm-svn: 11151
2004-02-06 18:08:18 +00:00
John Criswell
f41e0df660
Initial checking of the libpng library.
...
llvm-svn: 11149
2004-02-06 16:37:53 +00:00
John Criswell
90c2c2b04c
Initial checking of the zlib library.
...
llvm-svn: 11148
2004-02-06 16:36:42 +00:00
Chris Lattner
9575fb4d03
Add information about the piece I forgot to write: parameterized tablegen classes
...
llvm-svn: 11147
2004-02-06 06:37:00 +00:00
Chris Lattner
5c23db9aa0
Syntax hilight examples and add note about emacs/vim mode files
...
llvm-svn: 11146
2004-02-06 06:04:25 +00:00