mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-01 16:33:37 +01:00
457fa0b3bc
Filling no-ops is done just before emitting of assembly, when the instruction stream is final. No-ops are inserted to align the instructions so the dual-issue of the pipeline is utilized. This speeds up generated code with a minimum of 1% on a select set of algorithms. This pass may be redundant if the instruction scheduler and all subsequent passes that modify the instruction stream (prolog+epilog inserter, register scavenger, are there others?) are made aware of the instruction alignments. llvm-svn: 123226
28 lines
822 B
CMake
28 lines
822 B
CMake
set(LLVM_TARGET_DEFINITIONS SPU.td)
|
|
|
|
tablegen(SPUGenInstrNames.inc -gen-instr-enums)
|
|
tablegen(SPUGenRegisterNames.inc -gen-register-enums)
|
|
tablegen(SPUGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(SPUGenCodeEmitter.inc -gen-emitter)
|
|
tablegen(SPUGenRegisterInfo.h.inc -gen-register-desc-header)
|
|
tablegen(SPUGenRegisterInfo.inc -gen-register-desc)
|
|
tablegen(SPUGenInstrInfo.inc -gen-instr-desc)
|
|
tablegen(SPUGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(SPUGenSubtarget.inc -gen-subtarget)
|
|
tablegen(SPUGenCallingConv.inc -gen-callingconv)
|
|
|
|
add_llvm_target(CellSPUCodeGen
|
|
SPUAsmPrinter.cpp
|
|
SPUHazardRecognizers.cpp
|
|
SPUInstrInfo.cpp
|
|
SPUISelDAGToDAG.cpp
|
|
SPUISelLowering.cpp
|
|
SPUFrameLowering.cpp
|
|
SPUMCAsmInfo.cpp
|
|
SPURegisterInfo.cpp
|
|
SPUSubtarget.cpp
|
|
SPUTargetMachine.cpp
|
|
SPUSelectionDAGInfo.cpp
|
|
SPUNopFiller.cpp
|
|
)
|