mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-23 13:02:52 +02:00
71ed6f04a8
Multiple metadata values for records such as opencl.ocl.version, llvm.ident and similar are created after linking several modules. For some of them, notably opencl.ocl.version, this creates semantic problem because we cannot tell which version of OpenCL the composite module conforms. Moreover, such repetitions of identical values often create a huge list of unneeded metadata, which grows bitcode size both in memory and stored on disk. It can go up to several Mb when linked against our OpenCL library. Lastly, such long lists obscure reading of dumped IR. The pass unifies metadata after linking. Differential Revision: https://reviews.llvm.org/D25381 llvm-svn: 289092
96 lines
2.7 KiB
CMake
96 lines
2.7 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)
|
|
tablegen(LLVM AMDGPUGenDisassemblerTables.inc -gen-disassembler)
|
|
tablegen(LLVM AMDGPUGenMCPseudoLowering.inc -gen-pseudo-lowering)
|
|
add_public_tablegen_target(AMDGPUCommonTableGen)
|
|
|
|
# List of all GlobalISel files.
|
|
set(GLOBAL_ISEL_FILES
|
|
AMDGPUCallLowering.cpp
|
|
)
|
|
|
|
# Add GlobalISel files to the dependencies if the user wants to build it.
|
|
if(LLVM_BUILD_GLOBAL_ISEL)
|
|
set(GLOBAL_ISEL_BUILD_FILES ${GLOBAL_ISEL_FILES})
|
|
else()
|
|
set(GLOBAL_ISEL_BUILD_FILES"")
|
|
set(LLVM_OPTIONAL_SOURCES LLVMGlobalISel ${GLOBAL_ISEL_FILES})
|
|
endif()
|
|
|
|
|
|
add_llvm_target(AMDGPUCodeGen
|
|
AMDILCFGStructurizer.cpp
|
|
AMDGPUAlwaysInlinePass.cpp
|
|
AMDGPUAnnotateKernelFeatures.cpp
|
|
AMDGPUAnnotateUniformValues.cpp
|
|
AMDGPUAsmPrinter.cpp
|
|
AMDGPUCodeGenPrepare.cpp
|
|
AMDGPUFrameLowering.cpp
|
|
AMDGPUTargetObjectFile.cpp
|
|
AMDGPUIntrinsicInfo.cpp
|
|
AMDGPUISelDAGToDAG.cpp
|
|
AMDGPUMCInstLower.cpp
|
|
AMDGPUMachineFunction.cpp
|
|
AMDGPUUnifyMetadata.cpp
|
|
AMDGPUOpenCLImageTypeLoweringPass.cpp
|
|
AMDGPUSubtarget.cpp
|
|
AMDGPUTargetMachine.cpp
|
|
AMDGPUTargetTransformInfo.cpp
|
|
AMDGPUISelLowering.cpp
|
|
AMDGPUInstrInfo.cpp
|
|
AMDGPUPromoteAlloca.cpp
|
|
AMDGPURegisterInfo.cpp
|
|
GCNHazardRecognizer.cpp
|
|
GCNSchedStrategy.cpp
|
|
R600ClauseMergePass.cpp
|
|
R600ControlFlowFinalizer.cpp
|
|
R600EmitClauseMarkers.cpp
|
|
R600ExpandSpecialInstrs.cpp
|
|
R600FrameLowering.cpp
|
|
R600InstrInfo.cpp
|
|
R600ISelLowering.cpp
|
|
R600MachineFunctionInfo.cpp
|
|
R600MachineScheduler.cpp
|
|
R600OptimizeVectorRegisters.cpp
|
|
R600Packetizer.cpp
|
|
R600RegisterInfo.cpp
|
|
SIAnnotateControlFlow.cpp
|
|
SIDebuggerInsertNops.cpp
|
|
SIFixControlFlowLiveIntervals.cpp
|
|
SIFixSGPRCopies.cpp
|
|
SIFoldOperands.cpp
|
|
SIFrameLowering.cpp
|
|
SIInsertSkips.cpp
|
|
SIInsertWaits.cpp
|
|
SIInstrInfo.cpp
|
|
SIISelLowering.cpp
|
|
SILoadStoreOptimizer.cpp
|
|
SILowerControlFlow.cpp
|
|
SILowerI1Copies.cpp
|
|
SIMachineFunctionInfo.cpp
|
|
SIMachineScheduler.cpp
|
|
SIOptimizeExecMasking.cpp
|
|
SIRegisterInfo.cpp
|
|
SIShrinkInstructions.cpp
|
|
SITypeRewriter.cpp
|
|
SIWholeQuadMode.cpp
|
|
${GLOBAL_ISEL_BUILD_FILES}
|
|
)
|
|
|
|
add_subdirectory(AsmParser)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(Disassembler)
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(MCTargetDesc)
|
|
add_subdirectory(Utils)
|