Chris Lattner
7d3ced934f
Fix bug: LICM/sink_multiple_exits.ll
...
Thanks for pointing this out John :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10387 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 22:35:56 +00:00
Chris Lattner
df45bd3803
Don't allow dead instructions to stop sinking early.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10386 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 20:43:29 +00:00
Chris Lattner
88369d214f
Fix bug: IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10385 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 20:43:04 +00:00
Chris Lattner
da7d0693b5
A new testcase, reduced by bugpoint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10384 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 20:39:53 +00:00
Chris Lattner
dead99325c
Finegrainify namespacification
...
Fix bug: LowerInvoke/2003-12-10-Crash.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10382 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 20:22:42 +00:00
Chris Lattner
7d104178aa
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10381 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 20:18:09 +00:00
John Criswell
2998d3fde7
Fixed a comma error.
...
Added the --disable-threads option to GCC configure (to avoid pthread errors
when building code with LLVM).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10380 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 20:04:13 +00:00
Brian Gaeke
265f0ec559
Support 'make install' for LLVM include files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10378 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 18:41:20 +00:00
John Criswell
0284a42fd3
Upon Chris's suggestion, moved the #ifdef's to the generated C code.
...
This makes LLVM and the generated C code more portable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10377 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 18:17:57 +00:00
Chris Lattner
ba4f3f6a41
Finegrainify namespacification
...
Reorder #includes
Implement: IndVarsSimplify/2003-12-10-IndVarDeadCode.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10376 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 18:06:47 +00:00
John Criswell
01b2d61311
Fixed the CBE on Solaris/Sparc. We need to define the return value of
...
the write() system call because it returns 64 bits on Solaris 64 bit,
and an implicit return value of int says it returns 32 bits.
Admittedly, this is a bit of a hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10375 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 18:06:34 +00:00
Chris Lattner
7277826d7e
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10374 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 17:57:38 +00:00
Chris Lattner
66ea98e85c
Finegrainify namespacification
...
Fix bug: LoopSimplify/2003-12-10-ExitBlocksProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10373 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 17:20:35 +00:00
Chris Lattner
baf9d2ea62
New testcase which caused a bunch of tests to break last night with more
...
aggressive LICM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10372 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 17:09:35 +00:00
Chris Lattner
e3cfe8d563
Simplify code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10371 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 16:58:24 +00:00
Chris Lattner
f594a03197
Avoid performing two identical lookups when one will suffice
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10370 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 16:57:24 +00:00
Chris Lattner
0ed2da9ac7
Make LICM itself a bit more efficient, and make the generated code more efficient too: don't insert a store in every exit block, because a particular block may be exited to more than once by a loop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10369 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 15:56:24 +00:00
John Criswell
5be28c59c6
Removed the pthread_once() function because it doesn't actually do
...
what it's supposed to do.
Just leave this library as a dummy library for now until we have time to
port a real pthread library (or get glibc working).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10368 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 15:43:07 +00:00
Chris Lattner
381bf79ae1
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10367 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 15:34:03 +00:00
Chris Lattner
9a4f8ef787
Finegrainify namespacification
...
Provide a context module to WriteAsOperand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10366 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 15:33:59 +00:00
John Criswell
a84962c4d7
Added the --host= option to the Sparc configuration directions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10364 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 15:27:29 +00:00
John Criswell
61eae03b44
Dummy implementation of the pthread library.
...
This is needed since libstdc++ uses pthread_once().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10360 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 14:46:36 +00:00
Chris Lattner
b592fc2b8d
Make 'opt -o -' work correctly instead of creating a file named './-'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10359 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 14:41:33 +00:00
Chris Lattner
a2706518f9
Implement instruction sinking out of loops. This still can do a little bit
...
better job, but this is the majority of the work. This implements
LICM/sink*.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10358 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 06:41:05 +00:00
Chris Lattner
94046b2cc9
new testcase, checking to ensure we handle yet-another spiffy case correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10357 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 05:42:23 +00:00
Brian Gaeke
47c1b6d740
Don't assume that system headers define 'uint' or 'ulong' as types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10356 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 05:06:38 +00:00
Brian Gaeke
c745b4950d
Fix apparent copy-and-paste-o.
...
Get rid of %debug - Mac OS X bison doesn't have it. sigh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10352 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 04:33:07 +00:00
Brian Gaeke
44909cf54a
Add support for installing tool executables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10351 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 00:26:28 +00:00
Brian Gaeke
5339ada5ab
Add installation directories and commands, standardly provided by configure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10350 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10 00:25:32 +00:00
Chris Lattner
a8d9c83ebe
Yet another hard testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10349 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 23:29:25 +00:00
Chris Lattner
010ba10032
Do not insert one entry PHI nodes in split exit blocks!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10348 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 23:12:55 +00:00
Brian Gaeke
73d8d55e0e
Check in the llvm-native-gcc script, which I use in the process of
...
debugging front-end miscompilations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10347 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 22:23:24 +00:00
Chris Lattner
d0069a08b9
Add a new testcase which breaks the sinker because the loop canonnicalization
...
pass does not do a canonnicalization that the sinker wants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10346 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 22:05:08 +00:00
Chris Lattner
caef3cccf5
Fix buggy test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10345 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 21:45:23 +00:00
Chris Lattner
87d9e69995
New testcase for sinking operations from loops with multiple exits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10344 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 21:40:36 +00:00
Chris Lattner
8f25f46843
Make the test a bit harder so that we test to ensure that _both_ instructions
...
are sunk
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10343 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 20:50:20 +00:00
Chris Lattner
ed6dfc2856
Refactor code a little bit, eliminating the gratuitous InstVisitor, which
...
should make subsequent changes simpler. This also allows us to hoist vaarg
and vanext instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10342 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 19:32:44 +00:00
Chris Lattner
92094b4d92
Fine grainify namespacification
...
Code cleanups
Make LICM::SafeToHoist marginally more efficient
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10341 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 17:18:00 +00:00
Chris Lattner
2faaddab60
New testcases for LICM improvement: code sinking.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10339 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 16:56:51 +00:00
Chris Lattner
612ac2dfaa
Improve portability with Mac OS/X
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10338 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 16:49:12 +00:00
Chris Lattner
16442cba7c
Improve testcase portability on OS/X
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10337 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 16:48:24 +00:00
Chris Lattner
bb9fc2c461
New testcase that is not actually handled yet, but should be in the future.
...
This is here to remind me to get back to this after a while.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10336 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 16:26:42 +00:00
John Criswell
aa2a47d813
Added the -h option for compatibility with other linkers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10335 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-09 15:39:11 +00:00
Chris Lattner
6c3a21a368
Whoops, forgot to check this in. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10334 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 23:41:09 +00:00
Chris Lattner
cf2f89251d
Implement: TailCallElim/accum_recursion_constant_arg.ll
...
Also make sure to clean up any PHI nodes that are inserted which are pointless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10333 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 23:37:35 +00:00
Chris Lattner
543d622ef7
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. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10332 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 23:19:26 +00:00
Chris Lattner
62d0f73300
New testcase for automatic insertion of accumulator variables to eliminate
...
tail recursion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10331 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 23:16:25 +00:00
Chris Lattner
1b9ce47603
Add a missing semi colon, which breaks bison 1.5
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10325 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 20:15:33 +00:00
Chris Lattner
b5da7465b7
Simplify makefiles by just explicitly listing directories
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10324 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 20:12:46 +00:00
John Criswell
5507284880
Updated build instructions for Sparc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10323 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 19:59:14 +00:00