18 years agoFixed a comma error.
John Criswell [Wed, 10 Dec 2003 20:04:13 +0000 (20:04 +0000)]
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

18 years agoSupport 'make install' for LLVM include files.
Brian Gaeke [Wed, 10 Dec 2003 18:41:20 +0000 (18:41 +0000)]
Support 'make install' for LLVM include files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10378 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpon Chris's suggestion, moved the #ifdef's to the generated C code.
John Criswell [Wed, 10 Dec 2003 18:17:57 +0000 (18:17 +0000)]
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

18 years agoFinegrainify namespacification
Chris Lattner [Wed, 10 Dec 2003 18:06:47 +0000 (18:06 +0000)]
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

18 years agoFixed the CBE on Solaris/Sparc. We need to define the return value of
John Criswell [Wed, 10 Dec 2003 18:06:34 +0000 (18:06 +0000)]
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

18 years agoNew testcase
Chris Lattner [Wed, 10 Dec 2003 17:57:38 +0000 (17:57 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10374 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFinegrainify namespacification
Chris Lattner [Wed, 10 Dec 2003 17:20:35 +0000 (17:20 +0000)]
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

18 years agoNew testcase which caused a bunch of tests to break last night with more
Chris Lattner [Wed, 10 Dec 2003 17:09:35 +0000 (17:09 +0000)]
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

18 years agoSimplify code
Chris Lattner [Wed, 10 Dec 2003 16:58:24 +0000 (16:58 +0000)]
Simplify code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10371 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAvoid performing two identical lookups when one will suffice
Chris Lattner [Wed, 10 Dec 2003 16:57:24 +0000 (16:57 +0000)]
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

18 years agoMake LICM itself a bit more efficient, and make the generated code more efficient...
Chris Lattner [Wed, 10 Dec 2003 15:56:24 +0000 (15:56 +0000)]
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

18 years agoRemoved the pthread_once() function because it doesn't actually do
John Criswell [Wed, 10 Dec 2003 15:43:07 +0000 (15:43 +0000)]
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

18 years agoFinegrainify namespacification
Chris Lattner [Wed, 10 Dec 2003 15:34:03 +0000 (15:34 +0000)]
Finegrainify namespacification

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10367 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFinegrainify namespacification
Chris Lattner [Wed, 10 Dec 2003 15:33:59 +0000 (15:33 +0000)]
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

18 years agoAdded the --host= option to the Sparc configuration directions.
John Criswell [Wed, 10 Dec 2003 15:27:29 +0000 (15:27 +0000)]
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

18 years agoDummy implementation of the pthread library.
John Criswell [Wed, 10 Dec 2003 14:46:36 +0000 (14:46 +0000)]
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

18 years agoMake 'opt -o -' work correctly instead of creating a file named './-'
Chris Lattner [Wed, 10 Dec 2003 14:41:33 +0000 (14:41 +0000)]
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

18 years agoImplement instruction sinking out of loops. This still can do a little bit
Chris Lattner [Wed, 10 Dec 2003 06:41:05 +0000 (06:41 +0000)]
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10358 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase, checking to ensure we handle yet-another spiffy case correctly
Chris Lattner [Wed, 10 Dec 2003 05:42:23 +0000 (05:42 +0000)]
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

18 years agoDon't assume that system headers define 'uint' or 'ulong' as types.
Brian Gaeke [Wed, 10 Dec 2003 05:06:38 +0000 (05:06 +0000)]
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

18 years agoFix apparent copy-and-paste-o.
Brian Gaeke [Wed, 10 Dec 2003 04:33:07 +0000 (04:33 +0000)]
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

18 years agoAdd support for installing tool executables.
Brian Gaeke [Wed, 10 Dec 2003 00:26:28 +0000 (00:26 +0000)]
Add support for installing tool executables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10351 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd installation directories and commands, standardly provided by configure.
Brian Gaeke [Wed, 10 Dec 2003 00:25:32 +0000 (00:25 +0000)]
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

18 years agoYet another hard testcase
Chris Lattner [Tue, 9 Dec 2003 23:29:25 +0000 (23:29 +0000)]
Yet another hard testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10349 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDo not insert one entry PHI nodes in split exit blocks!
Chris Lattner [Tue, 9 Dec 2003 23:12:55 +0000 (23:12 +0000)]
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

18 years agoCheck in the llvm-native-gcc script, which I use in the process of
Brian Gaeke [Tue, 9 Dec 2003 22:23:24 +0000 (22:23 +0000)]
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

18 years agoAdd a new testcase which breaks the sinker because the loop canonnicalization
Chris Lattner [Tue, 9 Dec 2003 22:05:08 +0000 (22:05 +0000)]
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

18 years agoFix buggy test
Chris Lattner [Tue, 9 Dec 2003 21:45:23 +0000 (21:45 +0000)]
Fix buggy test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10345 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase for sinking operations from loops with multiple exits
Chris Lattner [Tue, 9 Dec 2003 21:40:36 +0000 (21:40 +0000)]
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

18 years agoMake the test a bit harder so that we test to ensure that _both_ instructions
Chris Lattner [Tue, 9 Dec 2003 20:50:20 +0000 (20:50 +0000)]
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

18 years agoRefactor code a little bit, eliminating the gratuitous InstVisitor, which
Chris Lattner [Tue, 9 Dec 2003 19:32:44 +0000 (19:32 +0000)]
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

18 years agoFine grainify namespacification
Chris Lattner [Tue, 9 Dec 2003 17:18:00 +0000 (17:18 +0000)]
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

18 years agoNew testcases for LICM improvement: code sinking.
Chris Lattner [Tue, 9 Dec 2003 16:56:51 +0000 (16:56 +0000)]
New testcases for LICM improvement: code sinking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10339 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImprove portability with Mac OS/X
Chris Lattner [Tue, 9 Dec 2003 16:49:12 +0000 (16:49 +0000)]
Improve portability with Mac OS/X

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10338 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImprove testcase portability on OS/X
Chris Lattner [Tue, 9 Dec 2003 16:48:24 +0000 (16:48 +0000)]
Improve testcase portability on OS/X

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10337 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase that is not actually handled yet, but should be in the future.
Chris Lattner [Tue, 9 Dec 2003 16:26:42 +0000 (16:26 +0000)]
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

18 years agoAdded the -h option for compatibility with other linkers.
John Criswell [Tue, 9 Dec 2003 15:39:11 +0000 (15:39 +0000)]
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

18 years agoWhoops, forgot to check this in. :)
Chris Lattner [Mon, 8 Dec 2003 23:41:09 +0000 (23:41 +0000)]
Whoops, forgot to check this in.  :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10334 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement: TailCallElim/accum_recursion_constant_arg.ll
Chris Lattner [Mon, 8 Dec 2003 23:37:35 +0000 (23:37 +0000)]
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

18 years agoImplement: test/Regression/Transforms/TailCallElim/accum_recursion.ll
Chris Lattner [Mon, 8 Dec 2003 23:19:26 +0000 (23:19 +0000)]
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

18 years agoNew testcase for automatic insertion of accumulator variables to eliminate
Chris Lattner [Mon, 8 Dec 2003 23:16:25 +0000 (23:16 +0000)]
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

18 years agoAdd a missing semi colon, which breaks bison 1.5
Chris Lattner [Mon, 8 Dec 2003 20:15:33 +0000 (20:15 +0000)]
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

18 years agoSimplify makefiles by just explicitly listing directories
Chris Lattner [Mon, 8 Dec 2003 20:12:46 +0000 (20:12 +0000)]
Simplify makefiles by just explicitly listing directories

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10324 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdated build instructions for Sparc.
John Criswell [Mon, 8 Dec 2003 19:59:14 +0000 (19:59 +0000)]
Updated build instructions for Sparc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10323 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFixed the dynamic generation of the list of subdirectories to compile.
John Criswell [Mon, 8 Dec 2003 17:52:32 +0000 (17:52 +0000)]
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

18 years agoimplement method
Chris Lattner [Mon, 8 Dec 2003 08:23:04 +0000 (08:23 +0000)]
implement method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10321 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse the new method, though noone currently implements it any better than before
Chris Lattner [Mon, 8 Dec 2003 08:22:48 +0000 (08:22 +0000)]
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

18 years agoadd two new virtual functions:
Chris Lattner [Mon, 8 Dec 2003 08:22:01 +0000 (08:22 +0000)]
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

18 years agoFinegrainify namespacification
Chris Lattner [Mon, 8 Dec 2003 08:06:28 +0000 (08:06 +0000)]
Finegrainify namespacification

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10318 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMakefile updates contributed by Reid
Chris Lattner [Mon, 8 Dec 2003 07:08:00 +0000 (07:08 +0000)]
Makefile updates contributed by Reid

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10317 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew bug
Chris Lattner [Mon, 8 Dec 2003 06:33:19 +0000 (06:33 +0000)]
New bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10316 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago`effect' is the noun, `affect' is the verb.
Misha Brukman [Mon, 8 Dec 2003 06:22:05 +0000 (06:22 +0000)]
`effect' is the noun, `affect' is the verb.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10315 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase for PR165
Chris Lattner [Mon, 8 Dec 2003 06:18:37 +0000 (06:18 +0000)]
New testcase for PR165

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10314 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd note about sucky suse compiler
Chris Lattner [Mon, 8 Dec 2003 05:43:19 +0000 (05:43 +0000)]
Add note about sucky suse compiler

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10313 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCleanup and restructure the code to make it easier to read and maintain.
Chris Lattner [Mon, 8 Dec 2003 05:34:54 +0000 (05:34 +0000)]
Cleanup and restructure the code to make it easier to read and maintain.
The only functionality change is that we now implement:

Which is really kinda pointless, because it means that trivially dead code
does not interfere with -tce, but trivially dead code probably wouldn't be
around anytime when this pass is run anyway.

The point of including this change it to support other more aggressive
transformations when we have the analysis capabilities to do so.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10312 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase, this should be -tailcallelim'inated
Chris Lattner [Mon, 8 Dec 2003 05:32:48 +0000 (05:32 +0000)]
New testcase, this should be -tailcallelim'inated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10311 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSince ssaification of the varargs builtings, the vaarg instruction no longer
Chris Lattner [Mon, 8 Dec 2003 05:29:33 +0000 (05:29 +0000)]
Since ssaification of the varargs builtings, the vaarg instruction no longer
can write to memory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10310 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRegenerated using autoheader-2.57
Brian Gaeke [Mon, 8 Dec 2003 00:57:01 +0000 (00:57 +0000)]
Regenerated using autoheader-2.57

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10309 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoBugpoint had appalingly bad grammar. Fix some of it.
Chris Lattner [Sun, 7 Dec 2003 02:43:09 +0000 (02:43 +0000)]
Bugpoint had appalingly bad grammar.  Fix some of it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10308 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDo not leave a bunch of crud lying around
Chris Lattner [Sun, 7 Dec 2003 02:31:03 +0000 (02:31 +0000)]
Do not leave a bunch of crud lying around

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10307 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoIt is now after pldi. This issue has been fixed, so remove the hack
Chris Lattner [Sun, 7 Dec 2003 01:44:18 +0000 (01:44 +0000)]
It is now after pldi.  This issue has been fixed, so remove the hack

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10306 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement RaiseAllocations/FreeCastConstantExpr.ll
Chris Lattner [Sun, 7 Dec 2003 01:42:08 +0000 (01:42 +0000)]
Implement RaiseAllocations/FreeCastConstantExpr.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10305 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase that the raiseallocations pass should be able to handle.
Chris Lattner [Sun, 7 Dec 2003 01:25:36 +0000 (01:25 +0000)]
New testcase that the raiseallocations pass should be able to handle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10304 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago* Finegrainify namespacification
Chris Lattner [Sun, 7 Dec 2003 01:24:23 +0000 (01:24 +0000)]
* Finegrainify namespacification
* Transform: free <ty>* (cast <ty2>* X to <ty>*) into free <ty2>* X

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10303 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThe recalclulate method was a nasty hack that was once used by the -cee pass,
Chris Lattner [Sun, 7 Dec 2003 00:55:32 +0000 (00:55 +0000)]
The recalclulate method was a nasty hack that was once used by the -cee pass,
which never worked itself.  The cee pass still doesn't work, but it doesn't use
this method anymore anyway, so eliminate the method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10302 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCompletely rewrite domset, idom, and domtree implementation. Now it is based
Chris Lattner [Sun, 7 Dec 2003 00:38:08 +0000 (00:38 +0000)]
Completely rewrite domset, idom, and domtree implementation.  Now it is based
on the algorithm for directly computing immediate dominators presented in this

  A Fast Algorithm for Finding Dominators in a Flowgraph
  T. Lengauer & R. Tarjan, ACM TOPLAS July 1979, pgs 121-141.

This _substantially_ speeds up construction of all dominator related information.
Post-dominators to follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10301 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRewrite dominators implementation. Now domset is constructed from immdom,
Chris Lattner [Sun, 7 Dec 2003 00:36:16 +0000 (00:36 +0000)]
Rewrite dominators implementation.  Now domset is constructed from immdom,
instead of the other way around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10300 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFinegrainify namespacification
Chris Lattner [Sun, 7 Dec 2003 00:35:42 +0000 (00:35 +0000)]
Finegrainify namespacification
Move method out of generic dominators construction code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10299 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMove this method out of the generic dominators calculation code
Chris Lattner [Sun, 7 Dec 2003 00:35:19 +0000 (00:35 +0000)]
Move this method out of the generic dominators calculation code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10298 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew command line parsing. This isn't as perfect as I would have liked. The CommandLin...
Tanya Lattner [Sat, 6 Dec 2003 23:01:25 +0000 (23:01 +0000)]
New command line parsing. This isn't as perfect as I would have liked. The CommandLine Library needs to be extended,\7f\7f in order to parse the options and allow for optional dashes. In addition, the help option isn't correct since I do the parsing mostly myself. But this is in the o\7fcorrect ar format.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10297 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoStop using the -fshort-enum compile option
Chris Lattner [Sat, 6 Dec 2003 20:59:45 +0000 (20:59 +0000)]
Stop using the -fshort-enum compile option

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10296 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix awkward wording
Chris Lattner [Sat, 6 Dec 2003 20:24:46 +0000 (20:24 +0000)]
Fix awkward wording

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10295 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCleanup the release notes in preparation for the release.
Chris Lattner [Sat, 6 Dec 2003 20:22:41 +0000 (20:22 +0000)]
Cleanup the release notes in preparation for the release.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10294 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd check for pthread_mutex_lock() in -lpthread (or otherwise).
Brian Gaeke [Fri, 5 Dec 2003 19:29:01 +0000 (19:29 +0000)]
Add check for pthread_mutex_lock() in -lpthread (or otherwise).
Regenerated configure w/ autoconf-2.57.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10293 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake assertion stricter. Since the source operands are allocated at
Alkis Evlogimenos [Fri, 5 Dec 2003 11:31:39 +0000 (11:31 +0000)]
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

18 years agoFix bug in register spilling when a preallocated live range overlaps a
Alkis Evlogimenos [Fri, 5 Dec 2003 11:17:55 +0000 (11:17 +0000)]
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

18 years agoMove operator<<(std::ostream&, const LiveInterval&) out of the header file.
Alkis Evlogimenos [Fri, 5 Dec 2003 10:38:28 +0000 (10:38 +0000)]
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

18 years agoSort live intervals by increasing start point.
Alkis Evlogimenos [Fri, 5 Dec 2003 10:32:01 +0000 (10:32 +0000)]
Sort live intervals by increasing start point.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10289 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImprove debugging output and clean up some code.
Alkis Evlogimenos [Thu, 4 Dec 2003 03:57:28 +0000 (03:57 +0000)]
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

18 years agoFinegrainify namespacification
Chris Lattner [Tue, 2 Dec 2003 17:43:55 +0000 (17:43 +0000)]
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

18 years agoLock abstraction, introduced with a view toward making the JIT thread-safe.
Brian Gaeke [Mon, 1 Dec 2003 21:33:31 +0000 (21:33 +0000)]
Lock abstraction, introduced with a view toward making the JIT thread-safe.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10284 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake stripped-bytecode a recursive target
Chris Lattner [Mon, 1 Dec 2003 07:28:25 +0000 (07:28 +0000)]
Make stripped-bytecode a recursive target

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10283 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd new block number
Chris Lattner [Mon, 1 Dec 2003 07:08:06 +0000 (07:08 +0000)]
Add new block number

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10281 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoEmit & read more compressed bytecode by not emitting a bytecodeblock for
Chris Lattner [Mon, 1 Dec 2003 07:05:31 +0000 (07:05 +0000)]
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

18 years agoRemove unused enum value
Chris Lattner [Mon, 1 Dec 2003 05:40:37 +0000 (05:40 +0000)]
Remove unused enum value

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10279 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis may fix the "0 dirs" stuff we get in the nightly tests when they are
Brian Gaeke [Mon, 1 Dec 2003 05:31:12 +0000 (05:31 +0000)]
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

18 years agoAdd some "useful" methods
Chris Lattner [Mon, 1 Dec 2003 05:30:29 +0000 (05:30 +0000)]
Add some "useful" methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10277 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd an option to enable the SSA based peephole optimizer.
Chris Lattner [Mon, 1 Dec 2003 05:18:30 +0000 (05:18 +0000)]
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

18 years agoAdd a new SSA-based peephole optimizer which includes copy propagation and
Chris Lattner [Mon, 1 Dec 2003 05:15:28 +0000 (05:15 +0000)]
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

18 years agogeneralize the instruction types permitted a bit
Chris Lattner [Mon, 1 Dec 2003 05:13:56 +0000 (05:13 +0000)]
generalize the instruction types permitted a bit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10274 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix broken link
Chris Lattner [Mon, 1 Dec 2003 05:12:09 +0000 (05:12 +0000)]
fix broken link

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10273 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPrint instructions before register allocation is performed. Also fix
Alkis Evlogimenos [Sun, 30 Nov 2003 23:40:39 +0000 (23:40 +0000)]
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

18 years agoadd missing dependency
Chris Lattner [Sun, 30 Nov 2003 09:22:42 +0000 (09:22 +0000)]
add missing dependency

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10271 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFinegrainify namespacification
Chris Lattner [Sun, 30 Nov 2003 06:13:25 +0000 (06:13 +0000)]
Finegrainify namespacification

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10270 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoA line was missing
Chris Lattner [Sun, 30 Nov 2003 05:46:14 +0000 (05:46 +0000)]
A line was missing

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10269 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove "numReloaded" statistic.
Alkis Evlogimenos [Sun, 30 Nov 2003 05:15:36 +0000 (05:15 +0000)]
Remove "numReloaded" statistic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10268 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoEmit constants to one contiguous block, but this time, respect alignment constraints.
Chris Lattner [Sun, 30 Nov 2003 04:23:21 +0000 (04:23 +0000)]
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

18 years agoGo back to allocating memory for each constant separately. Since SPARCs do not
Misha Brukman [Sun, 30 Nov 2003 00:50:53 +0000 (00:50 +0000)]
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

18 years agobe 3.4 happy
Chris Lattner [Sat, 29 Nov 2003 20:04:13 +0000 (20:04 +0000)]
be 3.4 happy

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10265 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agobe GCC 3.4 clean
Chris Lattner [Sat, 29 Nov 2003 19:55:12 +0000 (19:55 +0000)]
be GCC 3.4 clean

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10264 91177308-0d34-0410-b5e6-96231b3b80d8