mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
0c6deeab94
Similar to PR/25526, fast-regalloc introduces spills at the end of basic blocks. When this occurs in between an ll and sc, the stores can cause the atomic sequence to fail. This patch fixes the issue by introducing more pseudos to represent atomic operations and moving their lowering to after the expansion of postRA pseudos. This version addresses issues with the initial implementation and covers all atomic operations. This resolves PR/32020. Thanks to James Cowgill for reporting the issue! Patch By: Simon Dardis Differential Revision: https://reviews.llvm.org/D31287 llvm-svn: 336328
65 lines
1.9 KiB
CMake
65 lines
1.9 KiB
CMake
set(LLVM_TARGET_DEFINITIONS Mips.td)
|
|
|
|
tablegen(LLVM MipsGenAsmMatcher.inc -gen-asm-matcher)
|
|
tablegen(LLVM MipsGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(LLVM MipsGenCallingConv.inc -gen-callingconv)
|
|
tablegen(LLVM MipsGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(LLVM MipsGenDisassemblerTables.inc -gen-disassembler)
|
|
tablegen(LLVM MipsGenFastISel.inc -gen-fast-isel)
|
|
tablegen(LLVM MipsGenGlobalISel.inc -gen-global-isel)
|
|
tablegen(LLVM MipsGenInstrInfo.inc -gen-instr-info)
|
|
tablegen(LLVM MipsGenMCCodeEmitter.inc -gen-emitter)
|
|
tablegen(LLVM MipsGenMCPseudoLowering.inc -gen-pseudo-lowering)
|
|
tablegen(LLVM MipsGenRegisterBank.inc -gen-register-bank)
|
|
tablegen(LLVM MipsGenRegisterInfo.inc -gen-register-info)
|
|
tablegen(LLVM MipsGenSubtargetInfo.inc -gen-subtarget)
|
|
|
|
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
|
|
MipsCallLowering.cpp
|
|
MipsCCState.cpp
|
|
MipsConstantIslandPass.cpp
|
|
MipsDelaySlotFiller.cpp
|
|
MipsExpandPseudo.cpp
|
|
MipsFastISel.cpp
|
|
MipsInstrInfo.cpp
|
|
MipsInstructionSelector.cpp
|
|
MipsISelDAGToDAG.cpp
|
|
MipsISelLowering.cpp
|
|
MipsFrameLowering.cpp
|
|
MipsLegalizerInfo.cpp
|
|
MipsBranchExpansion.cpp
|
|
MipsMCInstLower.cpp
|
|
MipsMachineFunction.cpp
|
|
MipsModuleISelDAGToDAG.cpp
|
|
MipsOptimizePICCall.cpp
|
|
MipsOs16.cpp
|
|
MipsRegisterBankInfo.cpp
|
|
MipsRegisterInfo.cpp
|
|
MipsSEFrameLowering.cpp
|
|
MipsSEInstrInfo.cpp
|
|
MipsSEISelDAGToDAG.cpp
|
|
MipsSEISelLowering.cpp
|
|
MipsSERegisterInfo.cpp
|
|
MipsSubtarget.cpp
|
|
MipsTargetMachine.cpp
|
|
MipsTargetObjectFile.cpp
|
|
MicroMipsSizeReduction.cpp
|
|
)
|
|
|
|
add_subdirectory(AsmParser)
|
|
add_subdirectory(Disassembler)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(MCTargetDesc)
|
|
add_subdirectory(TargetInfo)
|