1set(LLVM_TARGET_DEFINITIONS AMDGPU.td)
2
3tablegen(LLVM AMDGPUGenRegisterInfo.inc -gen-register-info)
4tablegen(LLVM AMDGPUGenInstrInfo.inc -gen-instr-info)
5tablegen(LLVM AMDGPUGenDAGISel.inc -gen-dag-isel)
6tablegen(LLVM AMDGPUGenCallingConv.inc -gen-callingconv)
7tablegen(LLVM AMDGPUGenSubtargetInfo.inc -gen-subtarget)
8tablegen(LLVM AMDGPUGenIntrinsics.inc -gen-tgt-intrinsic)
9tablegen(LLVM AMDGPUGenMCCodeEmitter.inc -gen-emitter)
10tablegen(LLVM AMDGPUGenDFAPacketizer.inc -gen-dfa-packetizer)
11tablegen(LLVM AMDGPUGenAsmWriter.inc -gen-asm-writer)
12tablegen(LLVM AMDGPUGenAsmMatcher.inc -gen-asm-matcher)
13tablegen(LLVM AMDGPUGenDisassemblerTables.inc -gen-disassembler)
14tablegen(LLVM AMDGPUGenMCPseudoLowering.inc -gen-pseudo-lowering)
15add_public_tablegen_target(AMDGPUCommonTableGen)
16
17# List of all GlobalISel files.
18set(GLOBAL_ISEL_FILES
19  AMDGPUCallLowering.cpp
20  )
21
22# Add GlobalISel files to the dependencies if the user wants to build it.
23if(LLVM_BUILD_GLOBAL_ISEL)
24  set(GLOBAL_ISEL_BUILD_FILES ${GLOBAL_ISEL_FILES})
25else()
26  set(GLOBAL_ISEL_BUILD_FILES"")
27  set(LLVM_OPTIONAL_SOURCES LLVMGlobalISel ${GLOBAL_ISEL_FILES})
28endif()
29
30
31add_llvm_target(AMDGPUCodeGen
32  AMDILCFGStructurizer.cpp
33  AMDGPUAlwaysInlinePass.cpp
34  AMDGPUAnnotateKernelFeatures.cpp
35  AMDGPUAnnotateUniformValues.cpp
36  AMDGPUAsmPrinter.cpp
37  AMDGPUCodeGenPrepare.cpp
38  AMDGPUFrameLowering.cpp
39  AMDGPUTargetObjectFile.cpp
40  AMDGPUIntrinsicInfo.cpp
41  AMDGPUISelDAGToDAG.cpp
42  AMDGPUMCInstLower.cpp
43  AMDGPUMachineFunction.cpp
44  AMDGPUUnifyMetadata.cpp
45  AMDGPUOpenCLImageTypeLoweringPass.cpp
46  AMDGPUSubtarget.cpp
47  AMDGPUTargetMachine.cpp
48  AMDGPUTargetTransformInfo.cpp
49  AMDGPUISelLowering.cpp
50  AMDGPUInstrInfo.cpp
51  AMDGPUPromoteAlloca.cpp
52  AMDGPURegisterInfo.cpp
53  GCNHazardRecognizer.cpp
54  GCNSchedStrategy.cpp
55  R600ClauseMergePass.cpp
56  R600ControlFlowFinalizer.cpp
57  R600EmitClauseMarkers.cpp
58  R600ExpandSpecialInstrs.cpp
59  R600FrameLowering.cpp
60  R600InstrInfo.cpp
61  R600ISelLowering.cpp
62  R600MachineFunctionInfo.cpp
63  R600MachineScheduler.cpp
64  R600OptimizeVectorRegisters.cpp
65  R600Packetizer.cpp
66  R600RegisterInfo.cpp
67  SIAnnotateControlFlow.cpp
68  SIDebuggerInsertNops.cpp
69  SIFixControlFlowLiveIntervals.cpp
70  SIFixSGPRCopies.cpp
71  SIFoldOperands.cpp
72  SIFrameLowering.cpp
73  SIInsertSkips.cpp
74  SIInsertWaits.cpp
75  SIInstrInfo.cpp
76  SIISelLowering.cpp
77  SILoadStoreOptimizer.cpp
78  SILowerControlFlow.cpp
79  SILowerI1Copies.cpp
80  SIMachineFunctionInfo.cpp
81  SIMachineScheduler.cpp
82  SIOptimizeExecMasking.cpp
83  SIRegisterInfo.cpp
84  SIShrinkInstructions.cpp
85  SITypeRewriter.cpp
86  SIWholeQuadMode.cpp
87  ${GLOBAL_ISEL_BUILD_FILES}
88  )
89
90add_subdirectory(AsmParser)
91add_subdirectory(InstPrinter)
92add_subdirectory(Disassembler)
93add_subdirectory(TargetInfo)
94add_subdirectory(MCTargetDesc)
95add_subdirectory(Utils)
96