Chris Lattner
f2e9ea2106
There is no need for a cast here
...
llvm-svn: 15810
2004-08-16 05:09:58 +00:00
Nate Begeman
ab6b08d937
Update the current state of the world
...
llvm-svn: 15809
2004-08-16 05:06:43 +00:00
Nate Begeman
a6808b8efc
Fix typo of the word 'implicit' I made resolving a CVS conflict. Whoops!
...
llvm-svn: 15808
2004-08-16 02:12:49 +00:00
Nate Begeman
dabf0a52c0
Fix frame pointer handling:
...
Reserve R0 in store/load from stack slot for building >32k offsets from SP
or FP. This also requires we use R11 rather than R0 for holding the LR
value we want to save or restore. Also, tell the register allocator not
to use R31 (our FP) in functions that have a frame pointer. These changes
fix Burg.
llvm-svn: 15807
2004-08-16 01:52:12 +00:00
Nate Begeman
8b44a07246
Fix mismatched adjust down/up of SP in functions that contain variable
...
sized allocas.
llvm-svn: 15806
2004-08-16 01:50:22 +00:00
Chris Lattner
48a3b942ae
Insertion methods now return void instead of #instrs inserted. Also, use
...
more powerful forms of BuildMI to concisify the code
llvm-svn: 15782
2004-08-15 22:15:56 +00:00
Chris Lattner
98de1d7795
These methods no longer take a TargetRegisterClass* operand.
...
llvm-svn: 15774
2004-08-15 21:56:44 +00:00
Alkis Evlogimenos
4922e2e8ef
Make this compile on gc 3.4.1 (static_cast to non-const type was not
...
allowed).
llvm-svn: 15766
2004-08-15 09:18:55 +00:00
Nate Begeman
78862c3717
Add future optimization opportunity
...
llvm-svn: 15760
2004-08-15 06:43:10 +00:00
Nate Begeman
373744c6dc
Fix float to int codepath by always allocating 8 bytes for the target of a double store; optimize cmplwi generation.
...
llvm-svn: 15759
2004-08-15 06:42:28 +00:00
Chris Lattner
7dfaac4300
Zimm16 is now dead. Its entry is not removed from the enum, to avoid having
...
to renumber everything. Similar elimination should be applied to other
operand enum values that are only used to format printing in the .s file.
llvm-svn: 15755
2004-08-15 05:48:47 +00:00
Chris Lattner
da2e56fb0c
Convert all of the DForm_6* operations, which makes all of the Zimm16 users
...
dead.
llvm-svn: 15754
2004-08-15 05:46:14 +00:00
Chris Lattner
94ab6273b6
Reenable the CCRC
...
llvm-svn: 15752
2004-08-15 05:31:15 +00:00
Chris Lattner
8a796858da
Convert the DForm_4 over to the asmprintergen
...
llvm-svn: 15751
2004-08-15 05:20:16 +00:00
Nate Begeman
abc8173b18
Remove dead code
...
llvm-svn: 15750
2004-08-15 00:31:02 +00:00
Chris Lattner
ec1cc1b861
Print mflr using the asmwriter generator
...
llvm-svn: 15749
2004-08-14 23:27:29 +00:00
Nate Begeman
412602d7d9
Replace PowerPCPEI.cpp with target independant PrologEpilogInserter
...
llvm-svn: 15746
2004-08-14 22:16:36 +00:00
Nate Begeman
0c8c0346f8
Add support for frame pointers, and large offsets from stack and frame pointers. Adopt elimination of MachineFunction& arg from eliminateFrameIndex.
...
llvm-svn: 15745
2004-08-14 22:13:58 +00:00
Nate Begeman
9c7ddc3e21
Add indexed forms of load doubleword and load word algebraic for 64 bit targets
...
llvm-svn: 15743
2004-08-14 22:12:20 +00:00
Nate Begeman
caeb78e720
Fix handling of FP constants with single precision, and loading of internal linkage function addresses
...
llvm-svn: 15742
2004-08-14 22:11:38 +00:00
Nate Begeman
0ad7f813d8
Add initial support for using the generated asm writer. Also, fix FP constant printing to always print 8 byte intializers. Move printing of LinkOnce stubs.
...
llvm-svn: 15741
2004-08-14 22:09:10 +00:00
Nate Begeman
8536df7dbe
Add generation of asm writer from tablegen files to Makefile
...
llvm-svn: 15740
2004-08-14 22:06:38 +00:00
Nate Begeman
6e5010d935
Remove an unneeded header and forward declaration
...
llvm-svn: 15722
2004-08-13 09:33:17 +00:00
Nate Begeman
5bf9bfe398
Fix siod by switching BoolTy to byte rather than int until CFE changes for
...
Darwin. Also, change asm printer to output proper stubs for external
functions whose address is passed as an argument to aid in bugpointing.
llvm-svn: 15721
2004-08-13 09:32:01 +00:00
Nate Begeman
420213f3c5
Fix 177.mesa compilation, don't use floating point regs for base addresses!
...
llvm-svn: 15720
2004-08-13 04:45:14 +00:00
Nate Begeman
2f1d849271
Fix llc crasher compiling siod by giving BuildMI the correct number of arguments
...
llvm-svn: 15719
2004-08-13 03:56:49 +00:00
Nate Begeman
2e8bfa2364
Longs are in one register on PowerPC 64; use appropriate instructions to operate on them.
...
llvm-svn: 15711
2004-08-13 02:20:47 +00:00
Nate Begeman
765cb5f844
Add some more 64 bit instructions we need for the PowerPC-64 ISel to the tablegen files
...
llvm-svn: 15710
2004-08-13 02:19:26 +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
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
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
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
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
Nate Begeman
7526da6ead
Fix 255.vortex by using getClassB instead of getClass
...
llvm-svn: 15648
2004-08-11 03:30:55 +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
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