llvm-6502/lib/Target/PowerPC
Chris Lattner 9b3d989cb7 Initial implementation of the JIT interfaces. Relocation is done and stubs
for external functions work.  CompilationCallback has not been written, and
stubs for internal functions are not generated yet.  This means you can call
printf and exit, and use global variables, but cannot call functions local to
a module yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18145 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:02:06 +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 LA is really addi. Be consistent with operand ordering to avoid confusing the code emitter 2004-11-23 05:54:25 +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 Several fixes and enhancements to the PPC32 backend. 2004-10-07 22:30:03 +00:00
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 Remove unnecessary header include 2004-10-07 22:24:32 +00:00
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 Add ori reg, reg, 0 as a move instruction. This can be generated from 2004-10-07 22:26:12 +00:00
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 Initial implementation of the JIT interfaces. Relocation is done and stubs 2004-11-23 06:02:06 +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