Chris Lattner
18b6f0f46d
Whoops, forgot to check this in. :)
...
llvm-svn: 10334
2003-12-08 23:41:09 +00:00
Chris Lattner
50663a1a78
Implement: TailCallElim/accum_recursion_constant_arg.ll
...
Also make sure to clean up any PHI nodes that are inserted which are pointless.
llvm-svn: 10333
2003-12-08 23:37:35 +00:00
Chris Lattner
198e620752
Implement: test/Regression/Transforms/TailCallElim/accum_recursion.ll
...
We now insert accumulator variables as necessary to eliminate tail recursion
more aggressively. This is still fairly limited, but allows us to transform
fib/factorial, and other functions into nice happy loops. :)
llvm-svn: 10332
2003-12-08 23:19:26 +00:00
Chris Lattner
3c31f8c5c3
New testcase for automatic insertion of accumulator variables to eliminate
...
tail recursion
llvm-svn: 10331
2003-12-08 23:16:25 +00:00
Chris Lattner
b662b064f6
Add a missing semi colon, which breaks bison 1.5
...
llvm-svn: 10325
2003-12-08 20:15:33 +00:00
Chris Lattner
102779e12a
Simplify makefiles by just explicitly listing directories
...
llvm-svn: 10324
2003-12-08 20:12:46 +00:00
John Criswell
ffc722a7f3
Updated build instructions for Sparc.
...
llvm-svn: 10323
2003-12-08 19:59:14 +00:00
John Criswell
beb0b29871
Fixed the dynamic generation of the list of subdirectories to compile.
...
llvm-svn: 10322
2003-12-08 17:52:32 +00:00
Chris Lattner
86ad4c05d0
implement method
...
llvm-svn: 10321
2003-12-08 08:23:04 +00:00
Chris Lattner
e6492f1057
Use the new method, though noone currently implements it any better than before
...
llvm-svn: 10320
2003-12-08 08:22:48 +00:00
Chris Lattner
d71a033370
add two new virtual functions:
...
The first returns a function pointer or a stub if it's not already generated
The second exposes what was previously JIT specific state to general clients
llvm-svn: 10319
2003-12-08 08:22:01 +00:00
Chris Lattner
c0e1b071b9
Finegrainify namespacification
...
llvm-svn: 10318
2003-12-08 08:06:28 +00:00
Chris Lattner
bd7356a5d3
Makefile updates contributed by Reid
...
llvm-svn: 10317
2003-12-08 07:08:00 +00:00
Chris Lattner
d2a55f3041
New bug
...
llvm-svn: 10316
2003-12-08 06:33:19 +00:00
Misha Brukman
d899432617
`effect' is the noun, `affect' is the verb.
...
llvm-svn: 10315
2003-12-08 06:22:05 +00:00
Chris Lattner
b8d989e055
New testcase for PR165
...
llvm-svn: 10314
2003-12-08 06:18:37 +00:00
Chris Lattner
408916bc32
Add note about sucky suse compiler
...
llvm-svn: 10313
2003-12-08 05:43:19 +00:00
Chris Lattner
a7b6f3ab9c
Cleanup and restructure the code to make it easier to read and maintain.
...
The only functionality change is that we now implement:
Regression/Transforms/TailCallElim/intervening-inst.ll
Which is really kinda pointless, because it means that trivially dead code
does not interfere with -tce, but trivially dead code probably wouldn't be
around anytime when this pass is run anyway.
The point of including this change it to support other more aggressive
transformations when we have the analysis capabilities to do so.
llvm-svn: 10312
2003-12-08 05:34:54 +00:00
Chris Lattner
82ac26c8ba
New testcase, this should be -tailcallelim'inated
...
llvm-svn: 10311
2003-12-08 05:32:48 +00:00
Chris Lattner
16f1a8f761
Since ssaification of the varargs builtings, the vaarg instruction no longer
...
can write to memory.
llvm-svn: 10310
2003-12-08 05:29:33 +00:00
Brian Gaeke
ed16349810
Regenerated using autoheader-2.57
...
llvm-svn: 10309
2003-12-08 00:57:01 +00:00
Chris Lattner
69d47e7314
Bugpoint had appalingly bad grammar. Fix some of it.
...
llvm-svn: 10308
2003-12-07 02:43:09 +00:00
Chris Lattner
233b069113
Do not leave a bunch of crud lying around
...
llvm-svn: 10307
2003-12-07 02:31:03 +00:00
Chris Lattner
b762ddbdf1
It is now after pldi. This issue has been fixed, so remove the hack
...
llvm-svn: 10306
2003-12-07 01:44:18 +00:00
Chris Lattner
771804b541
Implement RaiseAllocations/FreeCastConstantExpr.ll
...
llvm-svn: 10305
2003-12-07 01:42:08 +00:00
Chris Lattner
ffb2d08c4a
New testcase that the raiseallocations pass should be able to handle.
...
llvm-svn: 10304
2003-12-07 01:25:36 +00:00
Chris Lattner
8427bffb9a
* Finegrainify namespacification
...
* Transform: free <ty>* (cast <ty2>* X to <ty>*) into free <ty2>* X
llvm-svn: 10303
2003-12-07 01:24:23 +00:00
Chris Lattner
d1ea9cd345
The recalclulate method was a nasty hack that was once used by the -cee pass,
...
which never worked itself. The cee pass still doesn't work, but it doesn't use
this method anymore anyway, so eliminate the method.
llvm-svn: 10302
2003-12-07 00:55:32 +00:00
Chris Lattner
00f5167693
Completely rewrite domset, idom, and domtree implementation. Now it is based
...
on the algorithm for directly computing immediate dominators presented in this
paper:
A Fast Algorithm for Finding Dominators in a Flowgraph
T. Lengauer & R. Tarjan, ACM TOPLAS July 1979, pgs 121-141.
This _substantially_ speeds up construction of all dominator related information.
Post-dominators to follow.
llvm-svn: 10301
2003-12-07 00:38:08 +00:00
Chris Lattner
31b77bbf7e
Rewrite dominators implementation. Now domset is constructed from immdom,
...
instead of the other way around.
llvm-svn: 10300
2003-12-07 00:36:16 +00:00
Chris Lattner
f9f7c2d302
Finegrainify namespacification
...
Move method out of generic dominators construction code
llvm-svn: 10299
2003-12-07 00:35:42 +00:00
Chris Lattner
d48220fabe
Move this method out of the generic dominators calculation code
...
llvm-svn: 10298
2003-12-07 00:35:19 +00:00
Tanya Lattner
c970a38824
New command line parsing. This isn't as perfect as I would have liked. The CommandLine Library needs to be extended, in order to parse the options and allow for optional dashes. In addition, the help option isn't correct since I do the parsing mostly myself. But this is in the ocorrect ar format.
...
llvm-svn: 10297
2003-12-06 23:01:25 +00:00
Chris Lattner
dca8b84bde
Stop using the -fshort-enum compile option
...
llvm-svn: 10296
2003-12-06 20:59:45 +00:00
Chris Lattner
d98fecb76e
Fix awkward wording
...
llvm-svn: 10295
2003-12-06 20:24:46 +00:00
Chris Lattner
ba7bd4720d
Cleanup the release notes in preparation for the release.
...
llvm-svn: 10294
2003-12-06 20:22:41 +00:00
Brian Gaeke
7ee7b40af5
Add check for pthread_mutex_lock() in -lpthread (or otherwise).
...
Regenerated configure w/ autoconf-2.57.
llvm-svn: 10293
2003-12-05 19:29:01 +00:00
Alkis Evlogimenos
e59ad4b441
Make assertion stricter. Since the source operands are allocated at
...
this point, the second operand must be a physical register (it cannot
be a virtual one).
llvm-svn: 10292
2003-12-05 11:31:39 +00:00
Alkis Evlogimenos
f8fe176204
Fix bug in register spilling when a preallocated live range overlaps a
...
potential register assignment.
llvm-svn: 10291
2003-12-05 11:17:55 +00:00
Alkis Evlogimenos
2de099e54f
Move operator<<(std::ostream&, const LiveInterval&) out of the header file.
...
llvm-svn: 10290
2003-12-05 10:38:28 +00:00
Alkis Evlogimenos
ed28ca93ef
Sort live intervals by increasing start point.
...
llvm-svn: 10289
2003-12-05 10:32:01 +00:00
Alkis Evlogimenos
5fe0031c68
Improve debugging output and clean up some code.
...
llvm-svn: 10288
2003-12-04 03:57:28 +00:00
Chris Lattner
40d2aeb28f
Finegrainify namespacification
...
Fix regressions ScalarRepl/basictest.ll & arraytest.ll
llvm-svn: 10287
2003-12-02 17:43:55 +00:00
Brian Gaeke
93823ed30c
Lock abstraction, introduced with a view toward making the JIT thread-safe.
...
Eventually.
llvm-svn: 10284
2003-12-01 21:33:31 +00:00
Chris Lattner
e0da6ec8b6
Make stripped-bytecode a recursive target
...
llvm-svn: 10283
2003-12-01 07:28:25 +00:00
Chris Lattner
9b0eb852c7
Add new block number
...
llvm-svn: 10281
2003-12-01 07:08:06 +00:00
Chris Lattner
d9cf9b30eb
Emit & read more compressed bytecode by not emitting a bytecodeblock for
...
each basic block in function. Instead, just emit a stream of instructions,
chopping up basic blocks based on when we find terminator instructions. This
saves a fairly substantial chunk of bytecode space. In stripped, sample
cases, for example, we get this reduction in size:
197.parser: 163036 -> 137180: 18.8% reduction
254.gap : 844936 -> 689392: 22.6%
255.vortex: 621724 -> 528444: 17.7%
...
Not bad for something this simple. :) Note that this doesn't require a new
bytecode version number at all, though version 1.1 should not need to support
the old format.
llvm-svn: 10280
2003-12-01 07:05:31 +00:00
Chris Lattner
7c290ed25a
Remove unused enum value
...
llvm-svn: 10279
2003-12-01 05:40:37 +00:00
Brian Gaeke
fed9ed96a4
This may fix the "0 dirs" stuff we get in the nightly tests when they are
...
checking out over remote cvs connections.
llvm-svn: 10278
2003-12-01 05:31:12 +00:00
Chris Lattner
cc04614ee5
Add some "useful" methods
...
llvm-svn: 10277
2003-12-01 05:30:29 +00:00