Commit Graph

9351 Commits

Author SHA1 Message Date
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
Chris Lattner
f095db1237 Testcase for PR160
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10247 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-28 01:32:03 +00:00
Chris Lattner
2bc9988b1a New testcase for PR158
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10246 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-27 21:25:07 +00:00
Chris Lattner
d8db4eb5d7 Fix grammaro
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10245 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-27 21:17:48 +00:00
Chris Lattner
1f80115a81 testcase for PR159
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10244 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-27 20:47:16 +00:00
Chris Lattner
f5e25aada0 PR11 is now fixed for 1.1!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10243 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-27 09:52:03 +00:00
Chris Lattner
3074b34ad0 PR11 is now fixed for 1.1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10242 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-27 09:51:54 +00:00
Chris Lattner
35976d91af * Squelch warning on Sun
* stdlib and friends are system headers
* 'long long' is the type that consistently turns into the LLVM 'long' type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-27 07:48:45 +00:00
John Criswell
f2ec35be40 Makefiles are now copies over to the object root directory dynamically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10240 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-26 20:09:49 +00:00
John Criswell
1b4fb5a32c Renamed intermediate values that used the same type and name as previous
values.  All of these files should assemble now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10239 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-26 14:45:37 +00:00
Chris Lattner
f733073f96 Bugz die!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10238 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-26 08:20:34 +00:00