Commit Graph

2125 Commits

Author SHA1 Message Date
Misha Brukman 4eab7f3d5b Register classes are target-dependent
llvm-svn: 15861
2004-08-17 05:10:31 +00:00
Misha Brukman 851a54656a #include <map> is not necessary here
llvm-svn: 15860
2004-08-17 05:09:39 +00:00
Misha Brukman fd2df5afab `PowerPC' is no longer a real target
llvm-svn: 15859
2004-08-17 05:09:10 +00:00
Misha Brukman 38c61506a8 Move variables and methods which need PPC{32,64}* distinction to subclasses
llvm-svn: 15858
2004-08-17 05:08:44 +00:00
Misha Brukman ba7fe16dbf No need for an `is64bit' flag
llvm-svn: 15857
2004-08-17 05:06:47 +00:00
Misha Brukman fe3e46a0b3 PowerPCInstrInfo and PowerPCRegisterInfo have gone away; they are replaced
by 32- and 64-bit customized files, named appropriately.

llvm-svn: 15856
2004-08-17 05:05:00 +00:00
Misha Brukman de4fc10733 Consistently name passed with 32 or 64 in their name
llvm-svn: 15855
2004-08-17 05:02:58 +00:00
Misha Brukman 68ede7e9ba PowerPCRegisterInfo no longer takes a bool to differentiate 32 vs 64 bits
llvm-svn: 15854
2004-08-17 05:02:18 +00:00
Misha Brukman d61283f347 The PowerPCInstrInfo class has gone away.
llvm-svn: 15853
2004-08-17 05:00:46 +00:00
Misha Brukman 0674182457 PowerPCInstrInfo has gone away, PPC32 and PPC64 share opcodes.
llvm-svn: 15852
2004-08-17 04:58:50 +00:00
Misha Brukman ac0ae7c215 PowerPC 32-/64-bit split: Part II, 64-bit customizations on PowerPC
llvm-svn: 15851
2004-08-17 04:57:37 +00:00
Misha Brukman 116f9277f6 PowerPC 32-/64-bit split: Part I, PPC32* bit files, adapted from former PowerPC*
llvm-svn: 15850
2004-08-17 04:55:41 +00:00
Chris Lattner a8fbbc0ec3 Print float constants as 4 byte values.
Also, fix endianness problems when cross compiling from little-endian host.

llvm-svn: 15847
2004-08-17 02:48:44 +00:00
Chris Lattner bc9372bf77 Make sure to put an _ prefix on all identifiers!
Also, add some (currently disabled) code to print float's as 32-bits.

llvm-svn: 15846
2004-08-17 02:29:00 +00:00
Chris Lattner 5491774934 More changes to make PPC32 and X86 more similar
llvm-svn: 15842
2004-08-16 23:38:36 +00:00
Chris Lattner b4f1f71bf0 Minor changes to make the diff be nothing against the X86 version
llvm-svn: 15841
2004-08-16 23:30:16 +00:00
Chris Lattner 0ced90583d Finegrainify namespacification
Start using the AsmPrinter base class to factor out a bunch of code

llvm-svn: 15840
2004-08-16 23:25:21 +00:00
Chris Lattner 9cf46456cb 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.

llvm-svn: 15839
2004-08-16 23:16:06 +00:00
Chris Lattner 7e3f28fcdf Moved this file out of lib/CodeGen
llvm-svn: 15837
2004-08-16 22:38:02 +00:00
Chris Lattner 2cb145ceb5 Hacks to make the MachineFunction class be able to delete the MFI object
without knowing anything about it.

llvm-svn: 15836
2004-08-16 22:37:18 +00:00
Chris Lattner 95de5ddbbd Code moved out of lib/CodeGen/MachineFunction.cpp
llvm-svn: 15835
2004-08-16 22:36:54 +00:00
Chris Lattner 9fb30a4257 Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9
llvm-svn: 15830
2004-08-16 21:55:02 +00:00
Brian Gaeke a7ae92436f Update and consolidate comments. Remove some excess whitespace.
llvm-svn: 15824
2004-08-16 18:27:25 +00:00
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 26971f4bc2 V8 never used the instrselectorgenerator
llvm-svn: 15791
2004-08-15 23:07:40 +00:00
Chris Lattner 291de48b59 isdummyclass goes away
llvm-svn: 15790
2004-08-15 23:04:35 +00:00
Chris Lattner aa6a8abc02 disable all of the pattern isel stuff
llvm-svn: 15788
2004-08-15 23:02:34 +00:00
Chris Lattner 1d088db15e Disable the pattern isel
llvm-svn: 15787
2004-08-15 23:02:17 +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 772f0d4106 Code insertion methods now return void instead of #instrs inserted
llvm-svn: 15781
2004-08-15 22:15:30 +00:00
Chris Lattner a0b38d3cb1 Code insertion methods now return void instead of an int.
llvm-svn: 15780
2004-08-15 22:15:11 +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 ae0c2c7583 Add i1imm
llvm-svn: 15753
2004-08-15 05:37:00 +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
Chris Lattner b08d2a2a11 Update to no longer take MF as an argument
llvm-svn: 15748
2004-08-14 22:57:22 +00:00
Chris Lattner 6ffa501d9f 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.

llvm-svn: 15747
2004-08-14 22:50:53 +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