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
Chris Lattner
6d760d7cb3
Add an option to enable the SSA based peephole optimizer.
...
Eventually this pass will provide substantially better code in the interim between when we
have a crappy isel and nice isel. Unfortunately doing so requires fixing the backend to
actually SUPPORT all of the fancy addressing modes that we now generate, and writing a DCE
pass for machine code. Each of these is a fairly substantial job, so this will remain disabled
for the immediate future. :(
llvm-svn: 10276
2003-12-01 05:18:30 +00:00
Chris Lattner
a913723309
Add a new SSA-based peephole optimizer which includes copy propagation and
...
folding of instructions into addressing modes. This creates lots of dead
instructions, which are currently not deleted. It also creates a lot of
instructions that the X86 backend currently cannot handle. :(
llvm-svn: 10275
2003-12-01 05:15:28 +00:00
Chris Lattner
128937bbe2
generalize the instruction types permitted a bit
...
llvm-svn: 10274
2003-12-01 05:13:56 +00:00
Chris Lattner
6cf03df531
fix broken link
...
llvm-svn: 10273
2003-12-01 05:12:09 +00:00
Alkis Evlogimenos
26f17e73eb
Print instructions before register allocation is performed. Also fix
...
bug where spill instructions were added to the next basic block
instead of the end of the current one if the instruction that required
the spill was the last in the block.
llvm-svn: 10272
2003-11-30 23:40:39 +00:00
Chris Lattner
0fcba7f6b3
add missing dependency
...
llvm-svn: 10271
2003-11-30 09:22:42 +00:00
Chris Lattner
d8218923ae
Finegrainify namespacification
...
llvm-svn: 10270
2003-11-30 06:13:25 +00:00
Chris Lattner
121d04d1ae
A line was missing
...
llvm-svn: 10269
2003-11-30 05:46:14 +00:00
Alkis Evlogimenos
0aa40f8db0
Remove "numReloaded" statistic.
...
llvm-svn: 10268
2003-11-30 05:15:36 +00:00
Chris Lattner
98e72b4bb3
Emit constants to one contiguous block, but this time, respect alignment constraints.
...
If this doesn't work Misha, feel free to revert it.
llvm-svn: 10267
2003-11-30 04:23:21 +00:00
Misha Brukman
873cf93b6e
Go back to allocating memory for each constant separately. Since SPARCs do not
...
allow unaligned loads, that is probably the problem I've been seeing in numerous
SPARC test cases failing. X86, on the other hand, just slows down unaligned
accesses, since it must make 2 aligned accesses for each unaligned one.
llvm-svn: 10266
2003-11-30 00:50:53 +00:00
Chris Lattner
58efc9e0fe
be 3.4 happy
...
llvm-svn: 10265
2003-11-29 20:04:13 +00:00
Chris Lattner
839030b3a8
be GCC 3.4 clean
...
llvm-svn: 10264
2003-11-29 19:55:12 +00:00
Chris Lattner
594654f17d
Hrm, how could this compile?
...
llvm-svn: 10263
2003-11-29 19:55:02 +00:00
Chris Lattner
982b285232
Fix compatibility with gcc 3.4
...
llvm-svn: 10262
2003-11-29 19:45:47 +00:00
Chris Lattner
3edb8478a4
Build _lib_crtend.a, not crtend.a
...
llvm-svn: 10260
2003-11-29 10:24:57 +00:00
Chris Lattner
d52319f54e
Don't print out tons of crap
...
llvm-svn: 10259
2003-11-29 10:14:17 +00:00
Chris Lattner
910c8d834e
Rewrite makefile logic to build an archive instead of a .o file. This is
...
intended to address PR142
llvm-svn: 10257
2003-11-29 10:05:30 +00:00
Chris Lattner
fe8f8b4947
Simplify some rules
...
Move LGCCLDPROG from test/Makefile.tests
llvm-svn: 10256
2003-11-29 09:50:15 +00:00
Chris Lattner
462444e1ea
Move rule to top-level makefile
...
llvm-svn: 10255
2003-11-29 09:49:14 +00:00
Chris Lattner
46c6693781
Add readme and spiff up makefile header
...
llvm-svn: 10254
2003-11-29 09:22:53 +00:00
Chris Lattner
212e596ede
Testcase for duplicated cleanup work (PR11). Note that this testcase is not actually
...
tested automatically, so it is practically useless. However, it seemed silly to throw
away my testcase, so here it is.
llvm-svn: 10253
2003-11-29 09:10:50 +00:00
Chris Lattner
8384f97ee4
Fix test: Transforms/LevelRaise/2003-11-28-IllegalTypeConversion.ll
...
Some gep generalization changes
llvm-svn: 10252
2003-11-29 05:31:25 +00:00
Chris Lattner
6d94d10377
new testcase for problem causing 2003-10-12-GlobalVarInitializers failures
...
llvm-svn: 10251
2003-11-29 05:19:15 +00:00
Chris Lattner
8abd7dca76
The function resolving pass must be run, even if -disable-opt is specified
...
llvm-svn: 10250
2003-11-28 09:44:03 +00:00
Chris Lattner
fcaa6fbbd8
* The return value of LinkLibraries is ignored, so remove it.
...
* Finegrainify namespacification of Linker.cpp
* If linking a library in fails, do not STOP LINKING IN LIBRARIES AND
CONTINUE ANYWAY! Instead, just output the warning, and keep going. :)
llvm-svn: 10249
2003-11-28 07:44:09 +00:00