John Criswell
0607d88385
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.
llvm-svn: 6679
2003-06-11 13:55:44 +00:00
John Criswell
fafd3d2b31
Updated for the new projects Makefile.
...
llvm-svn: 6678
2003-06-11 13:49:11 +00:00
Guochun Shi
c40f66c928
add some comments
...
add a function ModuloScheduling::dumpFinalSchedule() to print out final schedule
llvm-svn: 6677
2003-06-10 20:04:30 +00:00
Guochun Shi
f6b88e55ed
add an brief instruction what this pass is
...
llvm-svn: 6676
2003-06-10 20:03:39 +00:00
Guochun Shi
d2656536f5
a simple introduction to this pass
...
llvm-svn: 6675
2003-06-10 20:02:16 +00:00
Guochun Shi
9766f8c3a2
cleaned code
...
add some comments
llvm-svn: 6674
2003-06-10 19:09:00 +00:00
Guochun Shi
2ee8c115d8
delete useless functions
...
add comment
llvm-svn: 6673
2003-06-08 23:16:07 +00:00
Guochun Shi
1ecd0e0228
change DEBUG to DEBUG_PRINT
...
llvm-svn: 6672
2003-06-08 20:40:47 +00:00
Chris Lattner
6a8642cc7e
Fix bug in environment setting
...
llvm-svn: 6671
2003-06-08 15:33:25 +00:00
Chris Lattner
569358416f
Add #include for older GCC's
...
llvm-svn: 6670
2003-06-08 06:43:57 +00:00
Chris Lattner
706548fca7
Fix bug: LevelRaise/2003-06-07-EmptyArrayTest.ll
...
llvm-svn: 6669
2003-06-07 21:45:42 +00:00
Chris Lattner
210eada263
New testcase
...
llvm-svn: 6668
2003-06-07 21:43:56 +00:00
Chris Lattner
bf2be2163b
Fix compilation problem on GCC 2.9x
...
llvm-svn: 6667
2003-06-07 20:29:58 +00:00
Misha Brukman
366494ab0d
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.
llvm-svn: 6662
2003-06-07 02:34:43 +00:00
Chris Lattner
91ca134e26
Old versions of GCC doesn't have <ostream> :(
...
llvm-svn: 6661
2003-06-06 23:06:20 +00:00
Chris Lattner
235b91e2ea
Fix compilation problem with some versions of G++
...
llvm-svn: 6660
2003-06-06 22:13:01 +00:00
Chris Lattner
efadd781f4
Fix problem with perror
...
llvm-svn: 6659
2003-06-06 21:09:29 +00:00
Chris Lattner
11ecb1d8ca
Fix warnings on Sparc
...
llvm-svn: 6658
2003-06-06 18:25:33 +00:00
Misha Brukman
ff61facc3c
Print address out as hex.
...
llvm-svn: 6657
2003-06-06 09:53:28 +00:00
Misha Brukman
ad2ab66d89
Added 'r' and 'i' versions to WRCCR.
...
llvm-svn: 6656
2003-06-06 09:52:58 +00:00
Misha Brukman
2969ec5266
* 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
llvm-svn: 6655
2003-06-06 09:52:23 +00:00
Misha Brukman
f77c991d3a
Return 'int 0' instead of 'void' so that the test can be seen as successful.
...
llvm-svn: 6654
2003-06-06 08:00:40 +00:00
Misha Brukman
1475599468
Return 'int 0' instead of void so that the test can be considered to pass.
...
llvm-svn: 6653
2003-06-06 07:58:29 +00:00
Misha Brukman
0941cd11c8
* 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
llvm-svn: 6652
2003-06-06 07:11:16 +00:00
Chris Lattner
b630abfd47
Don't output explicit initializers for globals that are zero initialized
...
llvm-svn: 6651
2003-06-06 07:10:24 +00:00
Misha Brukman
0ccdecbdaa
::: 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 :::
llvm-svn: 6650
2003-06-06 06:59:55 +00:00
Misha Brukman
a2b55253c6
Output function address as hex.
...
llvm-svn: 6649
2003-06-06 06:52:35 +00:00
Misha Brukman
6457791dae
Simplify test case: remove declaration of __main() and call to it.
...
llvm-svn: 6648
2003-06-06 06:50:43 +00:00
Misha Brukman
b7f76d32fe
Fixed a bunch of test cases in test/Regression/Jello which could not get the
...
address of a floating-point (allocated via ConstantPool) correctly.
llvm-svn: 6647
2003-06-06 04:41:22 +00:00
Chris Lattner
65d29b87e3
Add statistic for # machine instrs emitted
...
Add GROSS HACK to get CompilationCallback to work when compiled in release mode
llvm-svn: 6646
2003-06-06 04:00:05 +00:00
Misha Brukman
905ffcb780
* 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()
llvm-svn: 6645
2003-06-06 03:35:37 +00:00
Misha Brukman
ee21ccc607
The SUB*i instructions belong to a different class than their SUB*r brethren.
...
llvm-svn: 6644
2003-06-06 03:34:47 +00:00
Misha Brukman
72d7da0397
All debug print statements are now output with the DEBUG() guard to make
...
output clean so that tests can automatically diff the output.
llvm-svn: 6643
2003-06-06 00:27:02 +00:00
Misha Brukman
1c1568ed68
Put all debug print statements under the DEBUG() guard to make output clean so
...
that tests can automatically diff the output.
llvm-svn: 6642
2003-06-06 00:26:11 +00:00
Misha Brukman
6940c8644e
Removed debug print statement.
...
llvm-svn: 6641
2003-06-06 00:00:54 +00:00
Misha Brukman
ee964e2690
Fixed confusion between register classes and register types.
...
Now %fcc registers are recognized correctly.
llvm-svn: 6640
2003-06-05 23:51:10 +00:00
Misha Brukman
97a04b24cc
Added missing directive to store the instruction name.
...
llvm-svn: 6639
2003-06-05 23:35:11 +00:00
Misha Brukman
90fd75efa4
Moved predict and annul fields to the end of each individual instruction
...
class, because they are currently unused.
llvm-svn: 6638
2003-06-05 23:33:15 +00:00
Misha Brukman
fd394b766a
Do not preset the cc register, the instructions actually use it.
...
llvm-svn: 6637
2003-06-05 23:30:27 +00:00
Misha Brukman
1cca1c68e1
* Stop ignoring cc registers, since we actually use them in branches.
...
* Added comment as to why we are still ignoring predict and annul bits.
llvm-svn: 6636
2003-06-05 23:15:25 +00:00
Vikram S. Adve
82dca3714f
Minor tuning -- avoid a non-inlinable function call on every operand.
...
Also, reorder a couple of functions for inlining.
llvm-svn: 6635
2003-06-05 21:12:56 +00:00
Chris Lattner
d295d99664
Fix (bogus) possibly uninitialized warning
...
llvm-svn: 6634
2003-06-05 21:01:26 +00:00
Misha Brukman
27afe52c4c
Added lazy function resolution to the JIT.
...
llvm-svn: 6633
2003-06-05 20:52:06 +00:00
Misha Brukman
9ac56f847f
* 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.
llvm-svn: 6632
2003-06-05 20:51:37 +00:00
Chris Lattner
6bacaa1152
Remove duplicate pass
...
llvm-svn: 6631
2003-06-05 20:51:10 +00:00
Chris Lattner
45789aca97
Fix bug: InstCombine/2003-06-05-BranchInvertInfLoop.ll
...
llvm-svn: 6630
2003-06-05 20:12:51 +00:00
Chris Lattner
e295306e20
New testcase
...
llvm-svn: 6629
2003-06-05 20:12:32 +00:00
Chris Lattner
e14cfcd2b6
Test seteq AND setne
...
llvm-svn: 6628
2003-06-05 20:11:19 +00:00
Chris Lattner
f6db070e65
Implement generation of cmp R, C to not use an extra register
...
llvm-svn: 6627
2003-06-05 19:30:30 +00:00
Chris Lattner
06250116a8
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. :)
llvm-svn: 6626
2003-06-05 18:28:55 +00:00