Commit Graph
9424 Commits
Author SHA1 Message Date
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
John Criswell ea0ac1fbb3 Fixed the dynamic generation of the list of subdirectories to compile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10322 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 17:52:32 +00:00
Chris Lattner e63fc8b46f implement method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 08:23:04 +00:00
Chris Lattner 38f0ebad9a Use the new method, though noone currently implements it any better than before
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10320 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 08:22:48 +00:00
Chris Lattner 18cb4c3c74 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 08:22:01 +00:00
Chris Lattner c19aadee66 Finegrainify namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10318 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 08:06:28 +00:00
Chris Lattner 0c82ee71dc Makefile updates contributed by Reid
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10317 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 07:08:00 +00:00
Chris Lattner 296b2e6af2 New bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10316 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-08 06:33:19 +00:00