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