Chris Lattner
eae45cf44b
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10302 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-07 00:55:32 +00:00
Chris Lattner
16addf87bf
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-07 00:38:08 +00:00
Chris Lattner
31b935357d
Rewrite dominators implementation. Now domset is constructed from immdom,
...
instead of the other way around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-07 00:36:16 +00:00
Chris Lattner
cd7c287730
Finegrainify namespacification
...
Move method out of generic dominators construction code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10299 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-07 00:35:42 +00:00
Chris Lattner
677d027ace
Move this method out of the generic dominators calculation code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-07 00:35:19 +00:00
Tanya Lattner
57bd796604
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10297 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-06 23:01:25 +00:00
Chris Lattner
d180300c92
Stop using the -fshort-enum compile option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10296 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-06 20:59:45 +00:00
Chris Lattner
7fcfac033e
Fix awkward wording
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10295 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-06 20:24:46 +00:00
Chris Lattner
a509996df2
Cleanup the release notes in preparation for the release.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-06 20:22:41 +00:00
Brian Gaeke
5f268f7760
Add check for pthread_mutex_lock() in -lpthread (or otherwise).
...
Regenerated configure w/ autoconf-2.57.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-05 19:29:01 +00:00
Alkis Evlogimenos
a327e7fea9
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10292 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-05 11:31:39 +00:00
Alkis Evlogimenos
49787e35c3
Fix bug in register spilling when a preallocated live range overlaps a
...
potential register assignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-05 11:17:55 +00:00
Alkis Evlogimenos
b27ef248f5
Move operator<<(std::ostream&, const LiveInterval&) out of the header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10290 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-05 10:38:28 +00:00
Alkis Evlogimenos
91ceae6d20
Sort live intervals by increasing start point.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10289 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-05 10:32:01 +00:00
Alkis Evlogimenos
69546d5f84
Improve debugging output and clean up some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10288 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-04 03:57:28 +00:00
Chris Lattner
d866473094
Finegrainify namespacification
...
Fix regressions ScalarRepl/basictest.ll & arraytest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10287 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-02 17:43:55 +00:00
Brian Gaeke
59e47e3ee1
Lock abstraction, introduced with a view toward making the JIT thread-safe.
...
Eventually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10284 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 21:33:31 +00:00
Chris Lattner
a8df7bdbac
Make stripped-bytecode a recursive target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10283 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 07:28:25 +00:00
Chris Lattner
7f5dbcc9ea
Add new block number
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10281 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 07:08:06 +00:00
Chris Lattner
8d1dbd2134
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10280 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 07:05:31 +00:00
Chris Lattner
d540e2c995
Remove unused enum value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10279 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:40:37 +00:00
Brian Gaeke
ac5d96b4e3
This may fix the "0 dirs" stuff we get in the nightly tests when they are
...
checking out over remote cvs connections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10278 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:31:12 +00:00
Chris Lattner
786a518f47
Add some "useful" methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10277 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:30:29 +00:00
Chris Lattner
9b527704f7
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. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10276 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:18:30 +00:00
Chris Lattner
4537076ee8
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. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10275 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:15:28 +00:00
Chris Lattner
f2d2925452
generalize the instruction types permitted a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:13:56 +00:00
Chris Lattner
832e2503e5
fix broken link
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-01 05:12:09 +00:00
Alkis Evlogimenos
585870759b
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30 23:40:39 +00:00
Chris Lattner
9ca419e577
add missing dependency
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30 09:22:42 +00:00
Chris Lattner
e1cc79f1cf
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10270 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30 06:13:25 +00:00
Chris Lattner
8522e38c1b
A line was missing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10269 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30 05:46:14 +00:00
Alkis Evlogimenos
99d1a8f048
Remove "numReloaded" statistic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30 05:15:36 +00:00
Chris Lattner
2c0a6a19ef
Emit constants to one contiguous block, but this time, respect alignment constraints.
...
If this doesn't work Misha, feel free to revert it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30 04:23:21 +00:00
Misha Brukman
91de352796
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10266 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-30 00:50:53 +00:00
Chris Lattner
043b9722f5
be 3.4 happy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10265 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 20:04:13 +00:00
Chris Lattner
f17072b79c
be GCC 3.4 clean
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10264 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 19:55:12 +00:00
Chris Lattner
d2aa7b8ee7
Hrm, how could this compile?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10263 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 19:55:02 +00:00
Chris Lattner
9e6f686559
Fix compatibility with gcc 3.4
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10262 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 19:45:47 +00:00
Chris Lattner
f168b7551c
Build _lib_crtend.a, not crtend.a
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10260 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 10:24:57 +00:00
Chris Lattner
53005b00be
Don't print out tons of crap
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 10:14:17 +00:00
Chris Lattner
ef1835df7b
Rewrite makefile logic to build an archive instead of a .o file. This is
...
intended to address PR142
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10257 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 10:05:30 +00:00
Chris Lattner
eefa3d3cfb
Simplify some rules
...
Move LGCCLDPROG from test/Makefile.tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10256 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 09:50:15 +00:00
Chris Lattner
f6968f3886
Move rule to top-level makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10255 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 09:49:14 +00:00
Chris Lattner
e893d649fa
Add readme and spiff up makefile header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10254 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 09:22:53 +00:00
Chris Lattner
b895fb06ec
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 09:10:50 +00:00
Chris Lattner
3607f4d217
Fix test: Transforms/LevelRaise/2003-11-28-IllegalTypeConversion.ll
...
Some gep generalization changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 05:31:25 +00:00
Chris Lattner
7219a21138
new testcase for problem causing 2003-10-12-GlobalVarInitializers failures
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-29 05:19:15 +00:00
Chris Lattner
548e813fa7
The function resolving pass must be run, even if -disable-opt is specified
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10250 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-28 09:44:03 +00:00
Chris Lattner
6cc8ca9229
* 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. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10249 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-28 07:44:09 +00:00
Chris Lattner
d423fb5cbf
fix gcc 3.4 compatibility problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-28 01:46:06 +00:00