mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
0983c108c8
Summary: MIPSR6 introduces a class of branches called compact branches. Unlike the traditional MIPS branches which have a delay slot, compact branches do not have a delay slot. The instruction following the compact branch is only executed if the branch is not taken and must not be a branch. It works by generating compact branches for MIPS32R6 when the delay slot filler cannot fill a delay slot. Then, inspecting the generated code for forbidden slot hazards (a compact branch with an adjacent branch or other CTI) and inserting nops to clear this hazard. Patch by Simon Dardis. Reviewers: vkalintiris, dsanders Subscribers: MatzeB, dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D16353 llvm-svn: 263444
58 lines
1.6 KiB
CMake
58 lines
1.6 KiB
CMake
set(LLVM_TARGET_DEFINITIONS Mips.td)
|
|
|
|
tablegen(LLVM MipsGenRegisterInfo.inc -gen-register-info)
|
|
tablegen(LLVM MipsGenInstrInfo.inc -gen-instr-info)
|
|
tablegen(LLVM MipsGenDisassemblerTables.inc -gen-disassembler)
|
|
tablegen(LLVM MipsGenMCCodeEmitter.inc -gen-emitter)
|
|
tablegen(LLVM MipsGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(LLVM MipsGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(LLVM MipsGenFastISel.inc -gen-fast-isel)
|
|
tablegen(LLVM MipsGenCallingConv.inc -gen-callingconv)
|
|
tablegen(LLVM MipsGenSubtargetInfo.inc -gen-subtarget)
|
|
tablegen(LLVM MipsGenAsmMatcher.inc -gen-asm-matcher)
|
|
tablegen(LLVM MipsGenMCPseudoLowering.inc -gen-pseudo-lowering)
|
|
add_public_tablegen_target(MipsCommonTableGen)
|
|
|
|
add_llvm_target(MipsCodeGen
|
|
Mips16FrameLowering.cpp
|
|
Mips16HardFloat.cpp
|
|
Mips16HardFloatInfo.cpp
|
|
Mips16InstrInfo.cpp
|
|
Mips16ISelDAGToDAG.cpp
|
|
Mips16ISelLowering.cpp
|
|
Mips16RegisterInfo.cpp
|
|
MipsAnalyzeImmediate.cpp
|
|
MipsAsmPrinter.cpp
|
|
MipsCCState.cpp
|
|
MipsConstantIslandPass.cpp
|
|
MipsDelaySlotFiller.cpp
|
|
MipsFastISel.cpp
|
|
MipsHazardSchedule.cpp
|
|
MipsInstrInfo.cpp
|
|
MipsISelDAGToDAG.cpp
|
|
MipsISelLowering.cpp
|
|
MipsFrameLowering.cpp
|
|
MipsLongBranch.cpp
|
|
MipsMCInstLower.cpp
|
|
MipsMachineFunction.cpp
|
|
MipsModuleISelDAGToDAG.cpp
|
|
MipsOptimizePICCall.cpp
|
|
MipsOs16.cpp
|
|
MipsRegisterInfo.cpp
|
|
MipsSEFrameLowering.cpp
|
|
MipsSEInstrInfo.cpp
|
|
MipsSEISelDAGToDAG.cpp
|
|
MipsSEISelLowering.cpp
|
|
MipsSERegisterInfo.cpp
|
|
MipsSubtarget.cpp
|
|
MipsTargetMachine.cpp
|
|
MipsTargetObjectFile.cpp
|
|
)
|
|
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(Disassembler)
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(MCTargetDesc)
|
|
add_subdirectory(AsmParser)
|
|
|