mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-10 22:46:20 +00:00
eacb2ec057
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263444 91177308-0d34-0410-b5e6-96231b3b80d8
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)
|
|
|