mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
518c0f18a8
Summary: We were previously selecting all constant loads to SMRD instructions and legalizing the SMRDs with non-uniform addresses during the SIFixSGPRCopesPass. This new solution is more simple and also generates much better code, because the instruction selector is able to take advantage of all the MUBUF addressing modes that are legalization pass wasn't able to. We also no longer need to generate v_add_* instructions when we have a uniform pointer and a non-uniform offset, as this is now folded into the MUBUF instruction during instruction selection. Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15425 llvm-svn: 255672
71 lines
2.1 KiB
CMake
71 lines
2.1 KiB
CMake
set(LLVM_TARGET_DEFINITIONS AMDGPU.td)
|
|
|
|
tablegen(LLVM AMDGPUGenRegisterInfo.inc -gen-register-info)
|
|
tablegen(LLVM AMDGPUGenInstrInfo.inc -gen-instr-info)
|
|
tablegen(LLVM AMDGPUGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(LLVM AMDGPUGenCallingConv.inc -gen-callingconv)
|
|
tablegen(LLVM AMDGPUGenSubtargetInfo.inc -gen-subtarget)
|
|
tablegen(LLVM AMDGPUGenIntrinsics.inc -gen-tgt-intrinsic)
|
|
tablegen(LLVM AMDGPUGenMCCodeEmitter.inc -gen-emitter)
|
|
tablegen(LLVM AMDGPUGenDFAPacketizer.inc -gen-dfa-packetizer)
|
|
tablegen(LLVM AMDGPUGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(LLVM AMDGPUGenAsmMatcher.inc -gen-asm-matcher)
|
|
add_public_tablegen_target(AMDGPUCommonTableGen)
|
|
|
|
add_llvm_target(AMDGPUCodeGen
|
|
AMDILCFGStructurizer.cpp
|
|
AMDGPUAlwaysInlinePass.cpp
|
|
AMDGPUAnnotateKernelFeatures.cpp
|
|
AMDGPUAnnotateUniformValues.cpp
|
|
AMDGPUAsmPrinter.cpp
|
|
AMDGPUDiagnosticInfoUnsupported.cpp
|
|
AMDGPUFrameLowering.cpp
|
|
AMDGPUTargetObjectFile.cpp
|
|
AMDGPUIntrinsicInfo.cpp
|
|
AMDGPUISelDAGToDAG.cpp
|
|
AMDGPUMCInstLower.cpp
|
|
AMDGPUMachineFunction.cpp
|
|
AMDGPUOpenCLImageTypeLoweringPass.cpp
|
|
AMDGPUSubtarget.cpp
|
|
AMDGPUTargetMachine.cpp
|
|
AMDGPUTargetTransformInfo.cpp
|
|
AMDGPUISelLowering.cpp
|
|
AMDGPUInstrInfo.cpp
|
|
AMDGPUPromoteAlloca.cpp
|
|
AMDGPURegisterInfo.cpp
|
|
R600ClauseMergePass.cpp
|
|
R600ControlFlowFinalizer.cpp
|
|
R600EmitClauseMarkers.cpp
|
|
R600ExpandSpecialInstrs.cpp
|
|
R600InstrInfo.cpp
|
|
R600ISelLowering.cpp
|
|
R600MachineFunctionInfo.cpp
|
|
R600MachineScheduler.cpp
|
|
R600OptimizeVectorRegisters.cpp
|
|
R600Packetizer.cpp
|
|
R600RegisterInfo.cpp
|
|
R600TextureIntrinsicsReplacer.cpp
|
|
SIAnnotateControlFlow.cpp
|
|
SIFixControlFlowLiveIntervals.cpp
|
|
SIFixSGPRCopies.cpp
|
|
SIFixSGPRLiveRanges.cpp
|
|
SIFoldOperands.cpp
|
|
SIFrameLowering.cpp
|
|
SIInsertWaits.cpp
|
|
SIInstrInfo.cpp
|
|
SIISelLowering.cpp
|
|
SILoadStoreOptimizer.cpp
|
|
SILowerControlFlow.cpp
|
|
SILowerI1Copies.cpp
|
|
SIMachineFunctionInfo.cpp
|
|
SIRegisterInfo.cpp
|
|
SIShrinkInstructions.cpp
|
|
SITypeRewriter.cpp
|
|
)
|
|
|
|
add_subdirectory(AsmParser)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(MCTargetDesc)
|
|
add_subdirectory(Utils)
|