Reid Spencer
4260a38ac3
Convert to unix line format.
...
llvm-svn: 15689
2004-08-12 17:52:47 +00:00
Misha Brukman
af77fe4097
Disable PPC64 backend by default because LLC cannot choose automatically between
...
SparcV9 and PowerPC64 without target triples, since they are both 64-bit
big-endian targets.
llvm-svn: 15688
2004-08-12 17:16:43 +00:00
Chris Lattner
cde351ee30
This patch makes the inliner refuse to inline functions that have alloca
...
instructions in the body of the function (not the entry block). This fixes
test/Programs/SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c
and test/Programs/External/SPEC/CINT2000/176.gcc on zion.
This should obviously be pulled into 1.3.
llvm-svn: 15684
2004-08-12 05:45:09 +00:00
Misha Brukman
52a4abc299
* Correct 64-bit version: blr 1 (not 0)
...
* BuildMI() can build 0-param instructions (e.g., NOP)
llvm-svn: 15681
2004-08-12 03:30:03 +00:00
Misha Brukman
5d967b3c5e
* Print out full names for non-GPR or -FPR registers
...
* BuildMI() really *does* handle 0 params!
llvm-svn: 15680
2004-08-12 03:28:47 +00:00
Chris Lattner
7f1c7ede5b
Fix code extraction of unwind blocks. This fixed bugs that bugpoint can
...
run into. This should go into 1.3
llvm-svn: 15679
2004-08-12 03:17:02 +00:00
Misha Brukman
58040a63ee
* Pointers are 8 bytes, hence cLong type on 64-bit PPC
...
* Fix loading of GlobalValues
llvm-svn: 15678
2004-08-12 02:53:01 +00:00
Misha Brukman
6f2e67a726
Eliminate special-casing 14-bit immediate load/store opcodes
...
llvm-svn: 15677
2004-08-12 02:51:38 +00:00
Chris Lattner
a7ba90e672
Hrm, this pass didn't compile. This bugfix should go into 1.3!
...
llvm-svn: 15676
2004-08-12 02:44:23 +00:00
Chris Lattner
af32dfa0f4
If the block extractor fails, actually emit the bc file that failed to extract
...
llvm-svn: 15675
2004-08-12 02:36:50 +00:00
Misha Brukman
5098bd5499
Correctly print out ASCII literal strings on AIX
...
llvm-svn: 15674
2004-08-12 01:01:13 +00:00
Misha Brukman
345399b06e
Mark R2 as available for allocation on Darwin/PPC32, but not AIX/PPC64
...
llvm-svn: 15673
2004-08-12 00:10:01 +00:00
Misha Brukman
c94c0f75f4
* Move AIX into the llvm namespace to be accessed from RegisterInfo
...
* Mark InstrInfo with 32 vs. 64 bit flag
* Enable the 64-bit isel and asm printer
llvm-svn: 15672
2004-08-11 23:47:08 +00:00
Misha Brukman
aea37d65c8
Set the is64bit flag and propagate it to PowerPCRegisterInfo
...
llvm-svn: 15671
2004-08-11 23:45:43 +00:00
Misha Brukman
39f7533b40
* Set the is64bit boolean flag in PowerPCRegisterInfo
...
* Doubles are 8 bytes in 64-bit PowerPC, and use the general register class
* Use double-word loads and stores for restoring from/saving to stack
* Do not allocate R2 if compiling for AIX
llvm-svn: 15670
2004-08-11 23:44:55 +00:00
Misha Brukman
c2a043488a
64-bit instruction selector and AIX-specific 64-bit asm printer
...
llvm-svn: 15669
2004-08-11 23:42:15 +00:00
Misha Brukman
d7344dc9bd
Fix names of 64-bit CMP*D* opcodes, add LWA and STD* opcodes
...
llvm-svn: 15668
2004-08-11 23:33:34 +00:00
Misha Brukman
78c1dcfc3e
Add support for 64-bit CMPDI, CMPLDI, and CMPLD opcodes
...
llvm-svn: 15667
2004-08-11 20:56:14 +00:00
Misha Brukman
28beda9ba4
Add doubleword load/store (64-bit only).
...
llvm-svn: 15665
2004-08-11 15:54:36 +00:00
Misha Brukman
81f6ee8070
Simple hand-coded tests to aid in early development of backends, along with a
...
Makefile to run ad-hoc tests easily.
llvm-svn: 15664
2004-08-11 14:16:34 +00:00
Misha Brukman
7224ee1e4c
Hyphenate ##-bit and remove first-person from comments.
...
llvm-svn: 15663
2004-08-11 13:35:44 +00:00
Nate Begeman
f17ea0f7b7
Clean up 32/64bit and Darwin/AIX split. Next steps: 64 bit ISel, AIX asm printer.
...
llvm-svn: 15662
2004-08-11 07:40:04 +00:00
Chris Lattner
6f0291792e
Fix a case where constantexprs could leak into the PPC isel.
...
llvm-svn: 15661
2004-08-11 07:34:50 +00:00
Chris Lattner
eb34c59930
Remove a bunch of ad-hoc target-specific flags that were only used by the
...
old asmprinter.
llvm-svn: 15660
2004-08-11 07:12:04 +00:00
Chris Lattner
085663c4ec
Remove a dead method
...
llvm-svn: 15659
2004-08-11 07:07:14 +00:00
Chris Lattner
d1bee6ee12
Finally, the entire instruction asmprinter is now generated from tblgen, woo!
...
llvm-svn: 15658
2004-08-11 07:02:04 +00:00
Chris Lattner
a0bafce127
Add asmprintergen support for the last X86 instruction that needs it: pcrelative calls.
...
llvm-svn: 15657
2004-08-11 06:59:12 +00:00
Chris Lattner
5edeb20bbb
This file is long dead
...
llvm-svn: 15656
2004-08-11 06:55:12 +00:00
Chris Lattner
5f4b65e57d
Scrunch memoperands, add a few more for floating point memops
...
Eliminate the FPI*m classes, converting them to use FPI instead.
llvm-svn: 15655
2004-08-11 06:50:10 +00:00
Chris Lattner
b975636f71
Move hacks up
...
llvm-svn: 15654
2004-08-11 06:09:55 +00:00
Chris Lattner
6dd0474edd
Make FPI take asm string and operand list
...
llvm-svn: 15653
2004-08-11 05:54:16 +00:00
Chris Lattner
c52899c3c7
Nuke the Im*i* patterns, by asmprintergenifying all users.
...
llvm-svn: 15652
2004-08-11 05:31:07 +00:00
Chris Lattner
f5c767038a
X86 instructions that read-modify-write memory are not LLVM two-address instructions.
...
llvm-svn: 15651
2004-08-11 05:07:25 +00:00
Chris Lattner
0d7bc2c5da
Get rid of the Im8, Im16, Im32 classes, converting more instructions over to
...
asmprintergeneration
llvm-svn: 15650
2004-08-11 04:31:00 +00:00
Chris Lattner
baa2ecb798
Fix minor bug in previous checkin
...
llvm-svn: 15649
2004-08-11 04:08:36 +00:00
Nate Begeman
7526da6ead
Fix 255.vortex by using getClassB instead of getClass
...
llvm-svn: 15648
2004-08-11 03:30:55 +00:00
Chris Lattner
4dfadc05e6
Remove dead method
...
llvm-svn: 15647
2004-08-11 02:26:39 +00:00
Chris Lattner
09ee05bcdf
Convert asmprinter to new style of instruction printer
...
Start asmprintergen'ifying machine instrs with memory operands.
llvm-svn: 15646
2004-08-11 02:25:00 +00:00
Chris Lattner
c1904dd38f
change how we invoke the printer. Instead of passing in the MO directly,
...
pass in the MI, operand number, and the type of the operand.
llvm-svn: 15645
2004-08-11 02:23:23 +00:00
Chris Lattner
3bc477a237
Start parsing more information from the Operand information
...
llvm-svn: 15644
2004-08-11 02:22:39 +00:00
Chris Lattner
101f3fea82
Remove special case hacks
...
llvm-svn: 15643
2004-08-11 01:53:58 +00:00
Chris Lattner
6bd2d26b56
Fill out immediate operand classes, add a new Operand class
...
llvm-svn: 15642
2004-08-11 01:53:34 +00:00
Chris Lattner
4456da6a4c
Fix InstCombine/2004-08-10-BoolSetCC.ll, a bug that is miscompiling
...
176.gcc. Note that this is apparently not the only bug miscompiling gcc
though. :(
llvm-svn: 15639
2004-08-11 00:50:51 +00:00
Chris Lattner
39884511ee
New testcase that instcombine is getting wrong
...
llvm-svn: 15637
2004-08-11 00:49:50 +00:00
Misha Brukman
e67a212267
Breaking up the PowerPC target into 32- and 64-bit subparts, Part III: the rest.
...
llvm-svn: 15636
2004-08-11 00:11:25 +00:00
Misha Brukman
284086aa4a
Breaking up the PowerPC target into 32- and 64-bit subparts: Part II: 64-bit.
...
llvm-svn: 15635
2004-08-11 00:10:41 +00:00
Misha Brukman
d022a5ac5a
Breaking up the PowerPC target into 32- and 64-bit subparts, Part I: 32-bit.
...
llvm-svn: 15634
2004-08-11 00:09:42 +00:00
Misha Brukman
3decf86fb7
Implement new constructor.
...
llvm-svn: 15633
2004-08-10 23:10:25 +00:00
Misha Brukman
8ca3b7568a
Add new constructor.
...
llvm-svn: 15632
2004-08-10 23:10:21 +00:00
Misha Brukman
dad438bfb9
Renamed PPC32 (namespace for regs, opcodes) to PPC to include 64-bit targets
...
llvm-svn: 15631
2004-08-10 22:47:03 +00:00