llvm-6502/lib/Target/PowerPC
Nate Begeman d7c4a4a6c0 Necessary changes to codegen cttz efficiently on PowerPC
1. Teach LegalizeDAG how to better legalize CTTZ if the target doesn't have
   CTPOP, but does have CTLZ
2. Teach PPC32 how to do sub x, const -> add x, -const for valid consts
3. Teach PPC32 how to do and (xor a, -1) b -> andc b, a
4. Teach PPC32 that ISD::CTLZ -> PPC::CNTLZW


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21880 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-11 23:43:56 +00:00
..
.cvsignore ignore generated files. 2004-11-21 00:00:54 +00:00
LICENSE.TXT Added Louis Gerbarg. Louis is given credit in the CREDITS.TXT file, so I 2004-08-05 23:46:27 +00:00
Makefile Specify all of the targets built. 2004-12-16 17:26:44 +00:00
PowerPC.td Factor out common .td file chunks. 2004-12-16 16:31:57 +00:00
PowerPCInstrInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PowerPCTargetMachine.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC32.td Factor out common .td file chunks. 2004-12-16 16:31:57 +00:00
PPC32ISelSimple.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
PPC32JITInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC32RegisterInfo.td Initial support for allocation condition registers 2005-04-12 07:04:16 +00:00
PPC64.td Factor out common .td file chunks. 2004-12-16 16:31:57 +00:00
PPC64CodeEmitter.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64InstrInfo.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64InstrInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64ISelPattern.cpp fix typo 2005-05-04 19:25:37 +00:00
PPC64JITInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64RegisterInfo.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
PPC64RegisterInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC64RegisterInfo.td Switch from bytes to bits for alignment. 2004-08-21 20:14:40 +00:00
PPC64TargetMachine.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPC.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCAsmPrinter.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCBranchSelector.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCCodeEmitter.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCFrameInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrBuilder.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrFormats.td switch over the rest of the formats that use RC to use isDOT 2005-04-19 05:21:30 +00:00
PPCInstrInfo.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCInstrInfo.td switch over the rest of the formats that use RC to use isDOT 2005-04-19 05:21:30 +00:00
PPCISelPattern.cpp Necessary changes to codegen cttz efficiently on PowerPC 2005-05-11 23:43:56 +00:00
PPCJITInfo.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCJITInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCRegisterInfo.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
PPCRegisterInfo.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCRegisterInfo.td Revamp the Register class, and allow the use of the RegisterGroup class to 2004-09-14 04:17:02 +00:00
PPCRelocations.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCTargetMachine.cpp Remove trailing whitespace 2005-04-21 23:30:14 +00:00
PPCTargetMachine.h Remove trailing whitespace 2005-04-21 23:30:14 +00:00
README.txt Update PPC readme. Remove things that are done or aren't ppc specific 2005-04-11 20:48:57 +00:00

TODO:
* condition register allocation
* gpr0 allocation
* implement do-loop -> bdnz transform
* implement powerpc-64 for darwin
* 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