Misha Brukman
9e36843964
Rewrite targets/rules to generate files for just PowerPC or PPC{32,64}
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15862 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:11:54 +00:00
Misha Brukman
8283ec7c1c
Register classes are target-dependent
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15861 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:10:31 +00:00
Misha Brukman
6316181ee0
#include <map> is not necessary here
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15860 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:09:39 +00:00
Misha Brukman
1dcddfefbd
`PowerPC' is no longer a real target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15859 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:09:10 +00:00
Misha Brukman
f2f8cfb945
Move variables and methods which need PPC{32,64}* distinction to subclasses
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15858 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:08:44 +00:00
Misha Brukman
66aa3e0e8b
No need for an `is64bit' flag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15857 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:06:47 +00:00
Misha Brukman
a2a27b3c85
PowerPCInstrInfo and PowerPCRegisterInfo have gone away; they are replaced
...
by 32- and 64-bit customized files, named appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15856 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:05:00 +00:00
Misha Brukman
08dde0ba85
Consistently name passed with 32 or 64 in their name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15855 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:02:58 +00:00
Misha Brukman
3d58b8f531
PowerPCRegisterInfo no longer takes a bool to differentiate 32 vs 64 bits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15854 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:02:18 +00:00
Misha Brukman
db50bd3e7a
The PowerPCInstrInfo class has gone away.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15853 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:00:46 +00:00
Misha Brukman
363dd07320
PowerPCInstrInfo has gone away, PPC32 and PPC64 share opcodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15852 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 04:58:50 +00:00
Misha Brukman
adde6994ac
PowerPC 32-/64-bit split: Part II, 64-bit customizations on PowerPC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15851 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 04:57:37 +00:00
Misha Brukman
f2ccb77ee9
PowerPC 32-/64-bit split: Part I, PPC32* bit files, adapted from former PowerPC*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15850 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 04:55:41 +00:00
Chris Lattner
469ab79584
Print float constants as 4 byte values.
...
Also, fix endianness problems when cross compiling from little-endian host.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15847 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 02:48:44 +00:00
Chris Lattner
505e783d8c
Make sure to put an _ prefix on all identifiers!
...
Also, add some (currently disabled) code to print float's as 32-bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15846 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 02:29:00 +00:00
Chris Lattner
416ca3384a
More changes to make PPC32 and X86 more similar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15842 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:38:36 +00:00
Chris Lattner
36aacdb974
Minor changes to make the diff be nothing against the X86 version
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15841 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:30:16 +00:00
Chris Lattner
a3840795a5
Finegrainify namespacification
...
Start using the AsmPrinter base class to factor out a bunch of code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15840 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:25:21 +00:00
Chris Lattner
055acae18c
Start using the AsmPrinter to emit our first class constants. This also
...
drops our half-assed support for cygwin, which noone uses and doesn't work
anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15839 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:16:06 +00:00
Chris Lattner
8b41cba865
Moved this file out of lib/CodeGen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15837 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:38:02 +00:00
Chris Lattner
6b9a5e69f7
Hacks to make the MachineFunction class be able to delete the MFI object
...
without knowing anything about it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15836 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:37:18 +00:00
Chris Lattner
2d19f78e97
Code moved out of lib/CodeGen/MachineFunction.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15835 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:36:54 +00:00
Chris Lattner
85015a0891
Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15830 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 21:55:02 +00:00
Brian Gaeke
52b77edbbd
Update and consolidate comments. Remove some excess whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15824 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 18:27:25 +00:00
Chris Lattner
b6482069f0
There is no need for a cast here
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15810 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 05:09:58 +00:00
Nate Begeman
746a49516c
Update the current state of the world
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15809 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 05:06:43 +00:00
Nate Begeman
7e0fd576d3
Fix typo of the word 'implicit' I made resolving a CVS conflict. Whoops!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15808 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 02:12:49 +00:00
Nate Begeman
1cffdf0798
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15807 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:52:12 +00:00
Nate Begeman
865075ed35
Fix mismatched adjust down/up of SP in functions that contain variable
...
sized allocas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15806 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:50:22 +00:00
Chris Lattner
105a56ac6b
V8 never used the instrselectorgenerator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15791 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 23:07:40 +00:00
Chris Lattner
dd43e3493a
isdummyclass goes away
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15790 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 23:04:35 +00:00
Chris Lattner
9222cdeca0
disable all of the pattern isel stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15788 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 23:02:34 +00:00
Chris Lattner
f60b91cbe3
Disable the pattern isel
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15787 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 23:02:17 +00:00
Chris Lattner
6ff3f83ef0
Insertion methods now return void instead of #instrs inserted. Also, use
...
more powerful forms of BuildMI to concisify the code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15782 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:15:56 +00:00
Chris Lattner
529377d25a
Code insertion methods now return void instead of #instrs inserted
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15781 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:15:30 +00:00
Chris Lattner
01d0efba39
Code insertion methods now return void instead of an int.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15780 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:15:11 +00:00
Chris Lattner
57f1b67c34
These methods no longer take a TargetRegisterClass* operand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 21:56:44 +00:00
Alkis Evlogimenos
8c9b4de574
Make this compile on gc 3.4.1 (static_cast to non-const type was not
...
allowed).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15766 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 09:18:55 +00:00
Nate Begeman
f7bb8c0caa
Add future optimization opportunity
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15760 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 06:43:10 +00:00
Nate Begeman
43d64eae53
Fix float to int codepath by always allocating 8 bytes for the target of a double store; optimize cmplwi generation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15759 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 06:42:28 +00:00
Chris Lattner
08eceec98d
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15755 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:48:47 +00:00
Chris Lattner
0ea3171fbf
Convert all of the DForm_6* operations, which makes all of the Zimm16 users
...
dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:46:14 +00:00
Chris Lattner
fa14683381
Add i1imm
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:37:00 +00:00
Chris Lattner
d15575d39f
Reenable the CCRC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:31:15 +00:00
Chris Lattner
97b2a2e389
Convert the DForm_4 over to the asmprintergen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:20:16 +00:00
Nate Begeman
ad9c242605
Remove dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15750 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 00:31:02 +00:00
Chris Lattner
7bb424fafc
Print mflr using the asmwriter generator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15749 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 23:27:29 +00:00
Chris Lattner
b8ce4c4118
Update to no longer take MF as an argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:57:22 +00:00
Chris Lattner
175580c0f3
Make the AsmWriter a first-class tblgen object. Allow targets to specify
...
name of the generated asmwriter class, and the name of the format string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:50:53 +00:00
Nate Begeman
ca068e861b
Replace PowerPCPEI.cpp with target independant PrologEpilogInserter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:16:36 +00:00