oota-llvm.git
21 years agoNew testcase identified by joel
Chris Lattner [Mon, 16 Jun 2003 13:33:59 +0000 (13:33 +0000)]
New testcase identified by joel

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

21 years agoNew testcase identified by joel
Chris Lattner [Mon, 16 Jun 2003 13:16:20 +0000 (13:16 +0000)]
New testcase identified by joel

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

21 years agoFix final linking errors
Chris Lattner [Mon, 16 Jun 2003 12:27:12 +0000 (12:27 +0000)]
Fix final linking errors

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

21 years agoFix link errors by adding main's
Chris Lattner [Mon, 16 Jun 2003 12:25:11 +0000 (12:25 +0000)]
Fix link errors by adding main's

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

21 years agoFix link problem
Chris Lattner [Mon, 16 Jun 2003 12:23:27 +0000 (12:23 +0000)]
Fix link problem

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

21 years agoFix typeo
Chris Lattner [Mon, 16 Jun 2003 12:21:19 +0000 (12:21 +0000)]
Fix typeo

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

21 years agoAdd prototype for the new DAE pass
Chris Lattner [Mon, 16 Jun 2003 12:16:52 +0000 (12:16 +0000)]
Add prototype for the new DAE pass

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

21 years agoFix bug: Linker/2003-06-02-TypeResolveProblem2.ll
Chris Lattner [Mon, 16 Jun 2003 12:11:33 +0000 (12:11 +0000)]
Fix bug: Linker/2003-06-02-TypeResolveProblem2.ll

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

21 years agoFix bug: ADCE/2003-06-11-InvalidCFG.ll
Chris Lattner [Mon, 16 Jun 2003 12:10:45 +0000 (12:10 +0000)]
Fix bug: ADCE/2003-06-11-InvalidCFG.ll
This was because we were deleting large chunks of functions without an exit block, because the post-dominance
information was not useful.  This broke crafty and twolf.

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

21 years agoFix bug: CBackend/2003-06-11-HexConstant.ll
Chris Lattner [Mon, 16 Jun 2003 12:09:09 +0000 (12:09 +0000)]
Fix bug: CBackend/2003-06-11-HexConstant.ll
Fix bug: CBackend/2003-06-11-LiteralStringProblem.ll

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

21 years agoNodes get forwarded when they are collapsed currently.
Chris Lattner [Mon, 16 Jun 2003 12:08:18 +0000 (12:08 +0000)]
Nodes get forwarded when they are collapsed currently.

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

21 years agoRemove bogus assertion: a node with no referrers could be collapsed if field-sensitiv...
Chris Lattner [Mon, 16 Jun 2003 12:07:39 +0000 (12:07 +0000)]
Remove bogus assertion: a node with no referrers could be collapsed if field-sensitivity was disabled

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

21 years agoImplement forwarding from stores to loads of must-aliased pointers.
Chris Lattner [Mon, 16 Jun 2003 12:06:41 +0000 (12:06 +0000)]
Implement forwarding from stores to loads of must-aliased pointers.
This implements: GCSE/2003-06-13-LoadStoreEliminate.ll

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

21 years agoNew testcases for bugs and the new DAE pass
Chris Lattner [Mon, 16 Jun 2003 12:05:38 +0000 (12:05 +0000)]
New testcases for bugs and the new DAE pass

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

21 years agoFix invalid number of arguments problem
Chris Lattner [Mon, 16 Jun 2003 12:03:00 +0000 (12:03 +0000)]
Fix invalid number of arguments problem

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

21 years agoFix testcase to work with store forwarding
Chris Lattner [Mon, 16 Jun 2003 11:59:34 +0000 (11:59 +0000)]
Fix testcase to work with store forwarding

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

21 years agoFix major bug in my last checkin. :(
Chris Lattner [Fri, 13 Jun 2003 16:10:26 +0000 (16:10 +0000)]
Fix major bug in my last checkin.  :(

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

21 years agoReverted back to hand-made HTML.
John Criswell [Thu, 12 Jun 2003 19:34:44 +0000 (19:34 +0000)]
Reverted back to hand-made HTML.
Added in updates for new Makefile variables and corrected some punctuation.

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

21 years agoRemove obsolete comments about llvm-ar
Chris Lattner [Thu, 12 Jun 2003 18:57:42 +0000 (18:57 +0000)]
Remove obsolete comments about llvm-ar

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

21 years agoUpdated the documentation to reflect changes in the Makefiles for building
John Criswell [Wed, 11 Jun 2003 20:46:40 +0000 (20:46 +0000)]
Updated the documentation to reflect changes in the Makefiles for building
projects.
Fixed some small grammatical errors.
Using Netscape Composer seems to have added stuff that makes the page look
exactly the same.  Bah!  Curse my laziness!

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

21 years agoChanged the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
John Criswell [Wed, 11 Jun 2003 19:44:51 +0000 (19:44 +0000)]
Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.

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

21 years agoAdded assert.h so that it compiles under newer versions of GCC.
John Criswell [Wed, 11 Jun 2003 14:17:21 +0000 (14:17 +0000)]
Added assert.h so that it compiles under newer versions of GCC.

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

21 years agoIncluded assert.h so that the code compiles under newer versions of GCC.
John Criswell [Wed, 11 Jun 2003 14:01:36 +0000 (14:01 +0000)]
Included assert.h so that the code compiles under newer versions of GCC.

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

21 years agoUpdated to the new Makefile.common.
John Criswell [Wed, 11 Jun 2003 13:57:48 +0000 (13:57 +0000)]
Updated to the new Makefile.common.
Modified the test rule so that it can be added to the regular test rule
(I believe the term is double dependency?).

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

21 years agoUpdated to use the new Makefile.common.
John Criswell [Wed, 11 Jun 2003 13:56:55 +0000 (13:56 +0000)]
Updated to use the new Makefile.common.
Replaced the hard-coded compiler variable with the one defined by
Makefile.config.

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

21 years agoModified Makefile.common to handle compilation of projects inside and outside
John Criswell [Wed, 11 Jun 2003 13:55:44 +0000 (13:55 +0000)]
Modified Makefile.common to handle compilation of projects inside and outside
of the llvm source directory.
The main modification was to add new environment variables: one set for llvm
entities and another set for source entities current being compiled.
This should make the Makefile more flexible and easier to understand as each
environment variable only does one thing.

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

21 years agoUpdated for the new projects Makefile.
John Criswell [Wed, 11 Jun 2003 13:49:11 +0000 (13:49 +0000)]
Updated for the new projects Makefile.

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

21 years agoadd some comments
Guochun Shi [Tue, 10 Jun 2003 20:04:30 +0000 (20:04 +0000)]
add some comments
add a function ModuloScheduling::dumpFinalSchedule() to print out final schedule

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

21 years agoadd an brief instruction what this pass is
Guochun Shi [Tue, 10 Jun 2003 20:03:39 +0000 (20:03 +0000)]
add an brief instruction what this pass is

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

21 years agoa simple introduction to this pass
Guochun Shi [Tue, 10 Jun 2003 20:02:16 +0000 (20:02 +0000)]
a simple introduction to this pass

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

21 years agocleaned code
Guochun Shi [Tue, 10 Jun 2003 19:09:00 +0000 (19:09 +0000)]
cleaned code
add some comments

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

21 years agodelete useless functions
Guochun Shi [Sun, 8 Jun 2003 23:16:07 +0000 (23:16 +0000)]
delete useless functions
add comment

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

21 years ago change DEBUG to DEBUG_PRINT
Guochun Shi [Sun, 8 Jun 2003 20:40:47 +0000 (20:40 +0000)]
 change DEBUG  to DEBUG_PRINT

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

21 years agoFix bug in environment setting
Chris Lattner [Sun, 8 Jun 2003 15:33:25 +0000 (15:33 +0000)]
Fix bug in environment setting

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

21 years agoAdd #include for older GCC's
Chris Lattner [Sun, 8 Jun 2003 06:43:57 +0000 (06:43 +0000)]
Add #include for older GCC's

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

21 years agoFix bug: LevelRaise/2003-06-07-EmptyArrayTest.ll
Chris Lattner [Sat, 7 Jun 2003 21:45:42 +0000 (21:45 +0000)]
Fix bug: LevelRaise/2003-06-07-EmptyArrayTest.ll

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

21 years agoNew testcase
Chris Lattner [Sat, 7 Jun 2003 21:43:56 +0000 (21:43 +0000)]
New testcase

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

21 years agoFix compilation problem on GCC 2.9x
Chris Lattner [Sat, 7 Jun 2003 20:29:58 +0000 (20:29 +0000)]
Fix compilation problem on GCC 2.9x

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

21 years agoDo not hastily change the Opcode from 'r' to 'i' type if we're not actually
Misha Brukman [Sat, 7 Jun 2003 02:34:43 +0000 (02:34 +0000)]
Do not hastily change the Opcode from 'r' to 'i' type if we're not actually
SETTING the operand to be an immediate or have verified that one of the operands
is really a SignExtended or Unextended immediate value already, which warrants
an 'i' opcode.

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

21 years agoOld versions of GCC doesn't have <ostream> :(
Chris Lattner [Fri, 6 Jun 2003 23:06:20 +0000 (23:06 +0000)]
Old versions of GCC doesn't have <ostream> :(

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

21 years agoFix compilation problem with some versions of G++
Chris Lattner [Fri, 6 Jun 2003 22:13:01 +0000 (22:13 +0000)]
Fix compilation problem with some versions of G++

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

21 years agoFix problem with perror
Chris Lattner [Fri, 6 Jun 2003 21:09:29 +0000 (21:09 +0000)]
Fix problem with perror

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

21 years agoFix warnings on Sparc
Chris Lattner [Fri, 6 Jun 2003 18:25:33 +0000 (18:25 +0000)]
Fix warnings on Sparc

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

21 years agoPrint address out as hex.
Misha Brukman [Fri, 6 Jun 2003 09:53:28 +0000 (09:53 +0000)]
Print address out as hex.

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

21 years agoAdded 'r' and 'i' versions to WRCCR.
Misha Brukman [Fri, 6 Jun 2003 09:52:58 +0000 (09:52 +0000)]
Added 'r' and 'i' versions to WRCCR.

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

21 years ago* Changed Bcc instructions to behave like BPcc instructions
Misha Brukman [Fri, 6 Jun 2003 09:52:23 +0000 (09:52 +0000)]
* Changed Bcc instructions to behave like BPcc instructions
* BPA and BPN do not take a %cc register as a parameter
* SLL/SRL/SRA{r,i}5 are there for a reason - they are ONLY 32-bit instructions
* Likewise, SLL/SRL/SRAX{r,i}6 are only 64-bit
* Added WRCCR{r,i} opcodes

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

21 years agoReturn 'int 0' instead of 'void' so that the test can be seen as successful.
Misha Brukman [Fri, 6 Jun 2003 08:00:40 +0000 (08:00 +0000)]
Return 'int 0' instead of 'void' so that the test can be seen as successful.

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

21 years agoReturn 'int 0' instead of void so that the test can be considered to pass.
Misha Brukman [Fri, 6 Jun 2003 07:58:29 +0000 (07:58 +0000)]
Return 'int 0' instead of void so that the test can be considered to pass.

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

21 years ago* Removed PreSelection pass because that is now done in the JIT
Misha Brukman [Fri, 6 Jun 2003 07:11:16 +0000 (07:11 +0000)]
* Removed PreSelection pass because that is now done in the JIT
* Removed instruction scheduling as it is too slow to run in a JIT environment
* Removed other passes because they aren't necessary and can slow JIT down

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

21 years agoDon't output explicit initializers for globals that are zero initialized
Chris Lattner [Fri, 6 Jun 2003 07:10:24 +0000 (07:10 +0000)]
Don't output explicit initializers for globals that are zero initialized

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

21 years ago::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::
Misha Brukman [Fri, 6 Jun 2003 06:59:55 +0000 (06:59 +0000)]
::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::

The JIT is designed to code-generate a function at-a-time. That means that any
pass can only make local changes to its function. Period.

Because the Sparc PreSelection pass claims to be a BasicBlock pass while adding
globals to the Module, it cannot be run with the other passes, because by this
time, the globals have been output already by the JIT, and the addresses of any
globals appearing AFTER this point are not recognized.

However, the PreSelection pass is a requirement for correctness in the Sparc
codegen path, so it MUST be run.

::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::

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

21 years agoOutput function address as hex.
Misha Brukman [Fri, 6 Jun 2003 06:52:35 +0000 (06:52 +0000)]
Output function address as hex.

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

21 years agoSimplify test case: remove declaration of __main() and call to it.
Misha Brukman [Fri, 6 Jun 2003 06:50:43 +0000 (06:50 +0000)]
Simplify test case: remove declaration of __main() and call to it.

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

21 years agoFixed a bunch of test cases in test/Regression/Jello which could not get the
Misha Brukman [Fri, 6 Jun 2003 04:41:22 +0000 (04:41 +0000)]
Fixed a bunch of test cases in test/Regression/Jello which could not get the
address of a floating-point (allocated via ConstantPool) correctly.

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

21 years agoAdd statistic for # machine instrs emitted
Chris Lattner [Fri, 6 Jun 2003 04:00:05 +0000 (04:00 +0000)]
Add statistic for # machine instrs emitted
Add GROSS HACK to get CompilationCallback to work when compiled in release mode

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

21 years ago* If a global is not a function, just ask the MachineCodeEmitter for the addr
Misha Brukman [Fri, 6 Jun 2003 03:35:37 +0000 (03:35 +0000)]
* If a global is not a function, just ask the MachineCodeEmitter for the addr
* Do not block a print statement with a DEBUG() guard if we're going to abort()

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

21 years agoThe SUB*i instructions belong to a different class than their SUB*r brethren.
Misha Brukman [Fri, 6 Jun 2003 03:34:47 +0000 (03:34 +0000)]
The SUB*i instructions belong to a different class than their SUB*r brethren.

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

21 years agoAll debug print statements are now output with the DEBUG() guard to make
Misha Brukman [Fri, 6 Jun 2003 00:27:02 +0000 (00:27 +0000)]
All debug print statements are now output with the DEBUG() guard to make
output clean so that tests can automatically diff the output.

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

21 years agoPut all debug print statements under the DEBUG() guard to make output clean so
Misha Brukman [Fri, 6 Jun 2003 00:26:11 +0000 (00:26 +0000)]
Put all debug print statements under the DEBUG() guard to make output clean so
that tests can automatically diff the output.

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

21 years agoRemoved debug print statement.
Misha Brukman [Fri, 6 Jun 2003 00:00:54 +0000 (00:00 +0000)]
Removed debug print statement.

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

21 years agoFixed confusion between register classes and register types.
Misha Brukman [Thu, 5 Jun 2003 23:51:10 +0000 (23:51 +0000)]
Fixed confusion between register classes and register types.
Now %fcc registers are recognized correctly.

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

21 years agoAdded missing directive to store the instruction name.
Misha Brukman [Thu, 5 Jun 2003 23:35:11 +0000 (23:35 +0000)]
Added missing directive to store the instruction name.

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

21 years agoMoved predict and annul fields to the end of each individual instruction
Misha Brukman [Thu, 5 Jun 2003 23:33:15 +0000 (23:33 +0000)]
Moved predict and annul fields to the end of each individual instruction
class, because they are currently unused.

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

21 years agoDo not preset the cc register, the instructions actually use it.
Misha Brukman [Thu, 5 Jun 2003 23:30:27 +0000 (23:30 +0000)]
Do not preset the cc register, the instructions actually use it.

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

21 years ago* Stop ignoring cc registers, since we actually use them in branches.
Misha Brukman [Thu, 5 Jun 2003 23:15:25 +0000 (23:15 +0000)]
* Stop ignoring cc registers, since we actually use them in branches.
* Added comment as to why we are still ignoring predict and annul bits.

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

21 years agoMinor tuning -- avoid a non-inlinable function call on every operand.
Vikram S. Adve [Thu, 5 Jun 2003 21:12:56 +0000 (21:12 +0000)]
Minor tuning -- avoid a non-inlinable function call on every operand.
Also, reorder a couple of functions for inlining.

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

21 years agoFix (bogus) possibly uninitialized warning
Chris Lattner [Thu, 5 Jun 2003 21:01:26 +0000 (21:01 +0000)]
Fix (bogus) possibly uninitialized warning

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

21 years agoAdded lazy function resolution to the JIT.
Misha Brukman [Thu, 5 Jun 2003 20:52:06 +0000 (20:52 +0000)]
Added lazy function resolution to the JIT.

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

21 years ago* The textual output of (non-)predicted FP branches is the same.
Misha Brukman [Thu, 5 Jun 2003 20:51:37 +0000 (20:51 +0000)]
* The textual output of (non-)predicted FP branches is the same.
* Stop mapping FBcc instructions to deprecated opcodes, map to FBPcc instead.
* Fixed opf in FCMPxy instructions.

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

21 years agoRemove duplicate pass
Chris Lattner [Thu, 5 Jun 2003 20:51:10 +0000 (20:51 +0000)]
Remove duplicate pass

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

21 years agoFix bug: InstCombine/2003-06-05-BranchInvertInfLoop.ll
Chris Lattner [Thu, 5 Jun 2003 20:12:51 +0000 (20:12 +0000)]
Fix bug: InstCombine/2003-06-05-BranchInvertInfLoop.ll

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

21 years agoNew testcase
Chris Lattner [Thu, 5 Jun 2003 20:12:32 +0000 (20:12 +0000)]
New testcase

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

21 years agoTest seteq AND setne
Chris Lattner [Thu, 5 Jun 2003 20:11:19 +0000 (20:11 +0000)]
Test seteq AND setne

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

21 years agoImplement generation of cmp R, C to not use an extra register
Chris Lattner [Thu, 5 Jun 2003 19:30:30 +0000 (19:30 +0000)]
Implement generation of cmp R, C to not use an extra register

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

21 years agoSpecial case simple binary operator X op C
Chris Lattner [Thu, 5 Jun 2003 18:28:55 +0000 (18:28 +0000)]
Special case simple binary operator X op C

  This avoid generating a register to hold C, which in turn speeds up the
  register allocator by a lot: ~9% on 164.gzip and ~17% on 256.bzip2.  This
  also speeds up other passes.  This also speeds up execution of the program
  marginally, and makes the asm much easier to read. :)

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

21 years agoAdd instructions for (add|sub|and|or|xor)ri(8|16|32)
Chris Lattner [Thu, 5 Jun 2003 18:25:08 +0000 (18:25 +0000)]
Add instructions for (add|sub|and|or|xor)ri(8|16|32)

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

21 years agoFix bug: Jello/2003-06-04-bzip2-bug.ll
Chris Lattner [Thu, 5 Jun 2003 17:15:04 +0000 (17:15 +0000)]
Fix bug: Jello/2003-06-04-bzip2-bug.ll

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

21 years agoNew testcase, the JIT currently handles this right, I just don't want to
Chris Lattner [Thu, 5 Jun 2003 16:57:55 +0000 (16:57 +0000)]
New testcase, the JIT currently handles this right, I just don't want to
reintroduce a bug that didn't have a testcase.

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

21 years agoFixed a bug so initialization code is always inserted in main
Anand Shukla [Thu, 5 Jun 2003 06:02:46 +0000 (06:02 +0000)]
Fixed a bug so initialization code is always inserted in main

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

21 years agoNew testcase for PHI handling
Chris Lattner [Thu, 5 Jun 2003 05:38:30 +0000 (05:38 +0000)]
New testcase for PHI handling

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

21 years agoUse a constant expr GEP instead of an actual instruction
Chris Lattner [Thu, 5 Jun 2003 04:48:18 +0000 (04:48 +0000)]
Use a constant expr GEP instead of an actual instruction

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

21 years agoAll store instructions really want 'rd' in the first field.
Misha Brukman [Thu, 5 Jun 2003 01:06:10 +0000 (01:06 +0000)]
All store instructions really want 'rd' in the first field.

Special cases: STFSRx and STXFSRx - they operate on predefined rd=0 or rd=1, and
expect %fsr as the parameter in assembly. They are disabled (since not used)
until an encoding, both for code generation and output, is chosen.

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

21 years agoAdded missing 'rs1' field to F3_rdrs1imm13, 'rd' to F3_rdrs1rs2.
Misha Brukman [Thu, 5 Jun 2003 00:39:45 +0000 (00:39 +0000)]
Added missing 'rs1' field to F3_rdrs1imm13, 'rd' to F3_rdrs1rs2.

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

21 years agolib/CodeGen/Mapping/MappingInfo.cpp:
Brian Gaeke [Wed, 4 Jun 2003 22:07:12 +0000 (22:07 +0000)]
lib/CodeGen/Mapping/MappingInfo.cpp:
 Update file comment to contain a bunch of the overview mapping-info
  documentation previously buried within the file.
 Remove some unnecessary include/using stmts.
 Rename pass to MappingInfoCollector.
 Rewrite a lot of it so it doesn't use global instance variables and so
  it outputs into MappingInfo objects and then dumps those out, instead of going
  straight to an assembly file.
 Change name of factory to getMappingInfoCollector.
 Fold prologue & epilogue writers into MappingInfo methods.

lib/Target/Sparc/FInfo.cpp:
 Correct file comment to reflect above change

lib/Target/Sparc/Sparc.cpp:
 Change name of factory to getMappingInfoCollector.

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

21 years agoAdd file comment. Include <vector> and <string>. Update include guards
Brian Gaeke [Wed, 4 Jun 2003 22:02:47 +0000 (22:02 +0000)]
Add file comment. Include <vector> and <string>.  Update include guards
to reflect file's current location.  Add definition of class
MappingInfo.

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

21 years agoRevert brians patch to get mapping info working again
Chris Lattner [Wed, 4 Jun 2003 21:01:12 +0000 (21:01 +0000)]
Revert brians patch to get mapping info working again
sorry dude

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

21 years agoHad to comment out a line in outByte() to get it to compile because Out and tmp were
Tanya Lattner [Wed, 4 Jun 2003 20:53:46 +0000 (20:53 +0000)]
Had to comment out a line in outByte() to get it to compile because Out and tmp were
undeclared. I was not sure what Brian wanted, so I will let him fix this. But now it compiles.

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

21 years agoMake this work with counter > 127
Chris Lattner [Wed, 4 Jun 2003 20:08:47 +0000 (20:08 +0000)]
Make this work with counter > 127

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

21 years ago* Instead of re-inventing the MachineConstantPool emitter that's already given
Misha Brukman [Wed, 4 Jun 2003 20:01:13 +0000 (20:01 +0000)]
* Instead of re-inventing the MachineConstantPool emitter that's already given
  in Emitter.cpp, just convert the Sparc version of the constant pool into
  what's already supported and inter-operate.
* Implemented a first pass at lazy function resolution in the JITResolver. That
  required adding a SparcV9CodeEmitter pointer to simplify generating
  bit-patterns of the instructions.
* SparcV9CodeEmitter now creates and destroys static TheJITResolver, which makes
  sense because the SparcV9CodeEmitter is the only user of TheJITResolver, and
  lives for the entire duration of the JIT (via PassManager which lives in VM).
* Changed all return values in the JITResolver to uint64_t because of the 64-bit
  Sparc architecture.
* Added a new version of getting the value of a GlobalValue in the
  SparcV9CodeEmitter, which now works for already-generated functions (JITted or
  library functions).
* Removed little-used and unused functions, cleaning up the internal view of the
  SparcV9CodeEmitter.

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

21 years agoAdd prerelease license to cvs
Chris Lattner [Wed, 4 Jun 2003 19:46:36 +0000 (19:46 +0000)]
Add prerelease license to cvs

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

21 years ago* Institute a hack for the Sparc call to mmap() to get our generated code to be
Misha Brukman [Wed, 4 Jun 2003 19:45:25 +0000 (19:45 +0000)]
* Institute a hack for the Sparc call to mmap() to get our generated code to be
  laid out closer to the VM so that calls to library functions (e.g. puts()) and
  callback (e.g.  JITResolver::CompilationCallback) fit into 30 bits of the call
  instruction.
* Abort if architecture is not yet supported (not X86 or Sparc) because it
  likely requires a different set of parameters to mmap() .
* Stop using hard-coded values for page size; use sysconf(_SC_PAGESIZE) instead.

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

21 years agoMake writeNumber() void. Get ready to decouple it from .byte directive output.
Brian Gaeke [Wed, 4 Jun 2003 18:17:22 +0000 (18:17 +0000)]
Make writeNumber() void. Get ready to decouple it from .byte directive output.

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

21 years agoModify tracing rules to use opt -trace[m] instead of llc -trace[m].
Vikram S. Adve [Wed, 4 Jun 2003 14:24:52 +0000 (14:24 +0000)]
Modify tracing rules to use opt -trace[m] instead of llc -trace[m].

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

21 years agoMade changes suggested by Chris
Sumant Kowshik [Wed, 4 Jun 2003 08:03:57 +0000 (08:03 +0000)]
Made changes suggested by Chris

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

21 years agoMade changes suggested by Chris; Renamed 'union' function to unionSetsWith
Sumant Kowshik [Wed, 4 Jun 2003 08:00:05 +0000 (08:00 +0000)]
Made changes suggested by Chris; Renamed 'union' function to unionSetsWith

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

21 years agoClean up previous code.
Chris Lattner [Wed, 4 Jun 2003 05:10:11 +0000 (05:10 +0000)]
Clean up previous code.
Add new combination to turn seteq X, 0 -> not(cast X to bool)

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

21 years agoAdd new setCondition member
Chris Lattner [Wed, 4 Jun 2003 05:08:31 +0000 (05:08 +0000)]
Add new setCondition member

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

21 years agoI have finally seen the light. The code to change the opcode must live higher in
Misha Brukman [Wed, 4 Jun 2003 04:54:06 +0000 (04:54 +0000)]
I have finally seen the light. The code to change the opcode must live higher in
the loop, and in both cases. In the first case, it is a VReg that is a constant
so it may be actually converted to a constant. In the second case, it is already
a constant, but then if it doesn't change its type (e.g. to become a register
and have the value loaded from memory if it is too large to live in its
instruction field), we must change the opcode BEFORE the 'continue', otherwise
we miss the opportunity.

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

21 years agoAdded the 4.7 instruction class and all the FMOVcc instructions in them.
Misha Brukman [Wed, 4 Jun 2003 04:48:31 +0000 (04:48 +0000)]
Added the 4.7 instruction class and all the FMOVcc instructions in them.

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

21 years agoModernize testcase
Chris Lattner [Wed, 4 Jun 2003 04:47:40 +0000 (04:47 +0000)]
Modernize testcase

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