llvm-6502/lib/Target/PowerPC
Chris Lattner e61198b323 Implement the first hunk of CompilationCallback. The pieces missing are the
ones noted, which require funny PPC specific inline assembly.

If some angel felt the desire to help me, I think this is that last bit missing
for JIT support (however, generic code emitter might night work right with
the constant pool yet).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18151 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:55:05 +00:00
..
.cvsignore ignore generated files. 2004-11-21 00:00:54 +00:00
LICENSE.TXT
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
PowerPC.td PowerPC instruction definitions use LittleEndian-style encoding [0..31] 2004-10-14 05:54:38 +00:00
PowerPCInstrInfo.h
PowerPCTargetMachine.h Do not provide the non-specialized PowerPCJITInfo object, it is pretty useless. 2004-11-23 05:55:38 +00:00
PPC32.td PowerPC instruction definitions use LittleEndian-style encoding [0..31] 2004-10-14 05:54:38 +00:00
PPC32ISelSimple.cpp Simplify code a bit 2004-11-23 06:05:44 +00:00
PPC32JITInfo.h Implement all of the methods 2004-11-23 05:57:57 +00:00
PPC32RegisterInfo.td
PPC64.td PowerPC instruction definitions use LittleEndian-style encoding [0..31] 2004-10-14 05:54:38 +00:00
PPC64CodeEmitter.cpp getJITStubForFunction is optional and unimplemented, just remove it. 2004-11-20 04:14:44 +00:00
PPC64InstrInfo.cpp
PPC64InstrInfo.h
PPC64ISelSimple.cpp
PPC64JITInfo.h getJITStubForFunction is optional and unimplemented, just remove it. 2004-11-20 04:14:44 +00:00
PPC64RegisterInfo.cpp Eliminate usage of MRegisterInfo::getRegClass(physreg) 2004-10-26 05:40:45 +00:00
PPC64RegisterInfo.h
PPC64RegisterInfo.td
PPC64TargetMachine.h
PPC.h Fix build on Linux/PowerPC64 using SuSE GCC (#undef PPC) 2004-11-14 20:34:01 +00:00
PPCAsmPrinter.cpp Handle GhostLinkage (should not ever reach the assembly printing stage!) 2004-11-14 21:03:30 +00:00
PPCBranchSelector.cpp
PPCCodeEmitter.cpp Emit relocations for the global variable using instructions. This gets us 2004-11-23 05:59:53 +00:00
PPCFrameInfo.h Remove file that is no longer used, and move include of MRegisterInfo.h 2004-10-26 06:02:38 +00:00
PPCInstrBuilder.h
PPCInstrFormats.td DForm_1, particularly used by store instructions, needs the immediate operand to 2004-10-23 06:08:38 +00:00
PPCInstrInfo.cpp
PPCInstrInfo.h
PPCInstrInfo.td LA is really addi. Be consistent with operand ordering to avoid confusing the code emitter 2004-11-23 05:54:25 +00:00
PPCJITInfo.cpp Implement the first hunk of CompilationCallback. The pieces missing are the 2004-11-23 06:55:05 +00:00
PPCJITInfo.h Remove this method, it's not clear how it could be implemented indep of 32 or 64-bit mode 2004-11-20 04:17:17 +00:00
PPCRegisterInfo.cpp Eliminate usage of MRegisterInfo::getRegClass(physreg) 2004-10-26 05:40:45 +00:00
PPCRegisterInfo.h
PPCRegisterInfo.td
PPCRelocations.h Initial checkin of the 32-bit PPC relocation types 2004-11-23 05:57:38 +00:00
PPCTargetMachine.cpp Move JITInfo from PPCTM to PPC32TM 2004-11-23 05:56:40 +00:00
PPCTargetMachine.h Move JITInfo from PPCTM to PPC32TM 2004-11-23 05:56:40 +00:00
README.txt Put int the getReg cast optimization from x86 so that we generate fewer 2004-11-08 02:25:40 +00:00

TODO:
* poor switch statement codegen
* load/store to alloca'd array or struct.
* implement not-R0 register GPR class
* implement scheduling info
* implement do-loop pass
* implement do-loop -> bdnz transform
* implement powerpc-64 for darwin
* implement powerpc-64 for aix
* use stfiwx in float->int
* should hint to the branch select pass that it doesn't need to print the
  second unconditional branch, so we don't end up with things like:
	b .LBBl42__2E_expand_function_8_674	; loopentry.24
	b .LBBl42__2E_expand_function_8_42	; NewDefault
	b .LBBl42__2E_expand_function_8_42	; NewDefault

Currently failing tests that should pass:
* MultiSource
  |- Applications
  |  `- hbd: miscompilation