Commit Graph

9421 Commits

Author SHA1 Message Date
John Criswell 83fb097ed0 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.

llvm-svn: 10375
2003-12-10 18:06:34 +00:00
Chris Lattner ae974caa05 New testcase
llvm-svn: 10374
2003-12-10 17:57:38 +00:00
Chris Lattner 7710f2f49e Finegrainify namespacification
Fix bug: LoopSimplify/2003-12-10-ExitBlocksProblem.ll

llvm-svn: 10373
2003-12-10 17:20:35 +00:00
Chris Lattner 679b49d7f5 New testcase which caused a bunch of tests to break last night with more
aggressive LICM

llvm-svn: 10372
2003-12-10 17:09:35 +00:00
Chris Lattner 6364314a6e Simplify code
llvm-svn: 10371
2003-12-10 16:58:24 +00:00
Chris Lattner 48b4b852b4 Avoid performing two identical lookups when one will suffice
llvm-svn: 10370
2003-12-10 16:57:24 +00:00
Chris Lattner edda1af35a 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
llvm-svn: 10369
2003-12-10 15:56:24 +00:00
John Criswell cf657689bb 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).

llvm-svn: 10368
2003-12-10 15:43:07 +00:00
Chris Lattner bff5116da6 Finegrainify namespacification
llvm-svn: 10367
2003-12-10 15:34:03 +00:00
Chris Lattner 8dee84159f Finegrainify namespacification
Provide a context module to WriteAsOperand

llvm-svn: 10366
2003-12-10 15:33:59 +00:00
John Criswell c619c3cd14 Added the --host= option to the Sparc configuration directions.
llvm-svn: 10364
2003-12-10 15:27:29 +00:00
John Criswell eaf4835c65 Dummy implementation of the pthread library.
This is needed since libstdc++ uses pthread_once().

llvm-svn: 10360
2003-12-10 14:46:36 +00:00
Chris Lattner 98cd4bf06f Make 'opt -o -' work correctly instead of creating a file named './-'
llvm-svn: 10359
2003-12-10 14:41:33 +00:00
Chris Lattner aaaea51090 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

llvm-svn: 10358
2003-12-10 06:41:05 +00:00
Chris Lattner 289df6b3de new testcase, checking to ensure we handle yet-another spiffy case correctly
llvm-svn: 10357
2003-12-10 05:42:23 +00:00
Brian Gaeke e545345131 Don't assume that system headers define 'uint' or 'ulong' as types.
llvm-svn: 10356
2003-12-10 05:06:38 +00:00
Brian Gaeke 09db53be57 Fix apparent copy-and-paste-o.
Get rid of %debug - Mac OS X bison doesn't have it.  sigh.

llvm-svn: 10352
2003-12-10 04:33:07 +00:00
Brian Gaeke 0f148bcbc0 Add support for installing tool executables.
llvm-svn: 10351
2003-12-10 00:26:28 +00:00
Brian Gaeke a3664d9d18 Add installation directories and commands, standardly provided by configure.
llvm-svn: 10350
2003-12-10 00:25:32 +00:00
Chris Lattner 9c450fc665 Yet another hard testcase
llvm-svn: 10349
2003-12-09 23:29:25 +00:00
Chris Lattner 6c237bcdf2 Do not insert one entry PHI nodes in split exit blocks!
llvm-svn: 10348
2003-12-09 23:12:55 +00:00
Brian Gaeke ddc088a9e4 Check in the llvm-native-gcc script, which I use in the process of
debugging front-end miscompilations.

llvm-svn: 10347
2003-12-09 22:23:24 +00:00
Chris Lattner 720348331c Add a new testcase which breaks the sinker because the loop canonnicalization
pass does not do a canonnicalization that the sinker wants.

llvm-svn: 10346
2003-12-09 22:05:08 +00:00
Chris Lattner b7924b166a Fix buggy test
llvm-svn: 10345
2003-12-09 21:45:23 +00:00
Chris Lattner 88ca84b809 New testcase for sinking operations from loops with multiple exits
llvm-svn: 10344
2003-12-09 21:40:36 +00:00
Chris Lattner eea64fd916 Make the test a bit harder so that we test to ensure that _both_ instructions
are sunk

llvm-svn: 10343
2003-12-09 20:50:20 +00:00
Chris Lattner 65c1193d55 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

llvm-svn: 10342
2003-12-09 19:32:44 +00:00
Chris Lattner c05176843e Fine grainify namespacification
Code cleanups
Make LICM::SafeToHoist marginally more efficient

llvm-svn: 10341
2003-12-09 17:18:00 +00:00
Chris Lattner d719cd1e5b New testcases for LICM improvement: code sinking.
llvm-svn: 10339
2003-12-09 16:56:51 +00:00
Chris Lattner 9056881d76 Improve portability with Mac OS/X
llvm-svn: 10338
2003-12-09 16:49:12 +00:00
Chris Lattner 9c9240447b Improve testcase portability on OS/X
llvm-svn: 10337
2003-12-09 16:48:24 +00:00
Chris Lattner db677331f2 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.

llvm-svn: 10336
2003-12-09 16:26:42 +00:00
John Criswell 7dd715180d Added the -h option for compatibility with other linkers.
llvm-svn: 10335
2003-12-09 15:39:11 +00:00
Chris Lattner 18b6f0f46d Whoops, forgot to check this in. :)
llvm-svn: 10334
2003-12-08 23:41:09 +00:00
Chris Lattner 50663a1a78 Implement: TailCallElim/accum_recursion_constant_arg.ll
Also make sure to clean up any PHI nodes that are inserted which are pointless.

llvm-svn: 10333
2003-12-08 23:37:35 +00:00
Chris Lattner 198e620752 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.  :)

llvm-svn: 10332
2003-12-08 23:19:26 +00:00
Chris Lattner 3c31f8c5c3 New testcase for automatic insertion of accumulator variables to eliminate
tail recursion

llvm-svn: 10331
2003-12-08 23:16:25 +00:00
Chris Lattner b662b064f6 Add a missing semi colon, which breaks bison 1.5
llvm-svn: 10325
2003-12-08 20:15:33 +00:00
Chris Lattner 102779e12a Simplify makefiles by just explicitly listing directories
llvm-svn: 10324
2003-12-08 20:12:46 +00:00
John Criswell ffc722a7f3 Updated build instructions for Sparc.
llvm-svn: 10323
2003-12-08 19:59:14 +00:00
John Criswell beb0b29871 Fixed the dynamic generation of the list of subdirectories to compile.
llvm-svn: 10322
2003-12-08 17:52:32 +00:00
Chris Lattner 86ad4c05d0 implement method
llvm-svn: 10321
2003-12-08 08:23:04 +00:00
Chris Lattner e6492f1057 Use the new method, though noone currently implements it any better than before
llvm-svn: 10320
2003-12-08 08:22:48 +00:00
Chris Lattner d71a033370 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

llvm-svn: 10319
2003-12-08 08:22:01 +00:00
Chris Lattner c0e1b071b9 Finegrainify namespacification
llvm-svn: 10318
2003-12-08 08:06:28 +00:00
Chris Lattner bd7356a5d3 Makefile updates contributed by Reid
llvm-svn: 10317
2003-12-08 07:08:00 +00:00
Chris Lattner d2a55f3041 New bug
llvm-svn: 10316
2003-12-08 06:33:19 +00:00
Misha Brukman d899432617 `effect' is the noun, `affect' is the verb.
llvm-svn: 10315
2003-12-08 06:22:05 +00:00
Chris Lattner b8d989e055 New testcase for PR165
llvm-svn: 10314
2003-12-08 06:18:37 +00:00
Chris Lattner 408916bc32 Add note about sucky suse compiler
llvm-svn: 10313
2003-12-08 05:43:19 +00:00