-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
252 lines (242 loc) · 10 KB
/
CMakeLists.txt
File metadata and controls
252 lines (242 loc) · 10 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
#
# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
# (c) Copyright 2023-2026 Advanced Micro Devices, Inc. or its affiliates
add_llvm_component_group(AIE)
set(LLVM_TARGET_DEFINITIONS aie1/AIE1.td)
tablegen(LLVM AIEGenAsmMatcher.inc -gen-asm-matcher)
tablegen(LLVM AIEGenAsmWriter.inc -gen-asm-writer)
tablegen(LLVM AIEGenCallingConv.inc -gen-callingconv)
#tablegen(LLVM AIEGenCompressInstEmitter.inc -gen-compress-inst-emitter)
tablegen(LLVM AIEGenDAGISel.inc -gen-dag-isel)
tablegen(LLVM AIEGenDisassemblerTables.inc -gen-disassembler)
tablegen(LLVM AIEGenGlobalISel.inc -gen-global-isel)
tablegen(LLVM AIEGenFormats.inc -gen-instr-format)
tablegen(LLVM AIEGenInstrInfo.inc -gen-instr-info -base-instrinfo-class AIEBaseInstrInfo)
tablegen(LLVM AIEGenMCCodeEmitter.inc -gen-emitter)
tablegen(LLVM AIEGenMCPseudoLowering.inc -gen-pseudo-lowering)
tablegen(LLVM AIEGenRegisterBank.inc -gen-register-bank -base-register-bank-class AIEBaseRegisterBankInfo)
tablegen(LLVM AIEGenRegisterInfo.inc -gen-register-info -base-registerinfo-class AIEBaseRegisterInfo)
tablegen(LLVM AIEGenSubtargetInfo.inc -gen-subtarget -base-subtargetinfo-class AIEBaseSubtarget)
#tablegen(LLVM AIEGenSystemOperands.inc -gen-searchable-tables)
#aie2
set(LLVM_TARGET_DEFINITIONS AIE2.td)
tablegen(LLVM AIE2GenAsmMatcher.inc -gen-asm-matcher)
tablegen(LLVM AIE2GenAsmWriter.inc -gen-asm-writer)
tablegen(LLVM AIE2GenPreLegalizerGICombiner.inc -gen-global-isel-combiner
-combiners="AIE2PreLegalizerCombiner")
tablegen(LLVM AIE2GenPostLegalizerGIGenericCombiner.inc -gen-global-isel-combiner
-combiners="AIE2PostLegalizerGenericCombiner")
tablegen(LLVM AIE2GenPostLegalizerGICustomCombiner.inc -gen-global-isel-combiner
-combiners="AIE2PostLegalizerCustomCombiner")
tablegen(LLVM AIE2GenCallingConv.inc -gen-callingconv)
tablegen(LLVM AIE2GenDisassemblerTables.inc -gen-disassembler)
tablegen(LLVM AIE2GenFormats.inc -gen-instr-format)
tablegen(LLVM AIE2GenInstrInfo.inc -gen-instr-info -base-instrinfo-class AIEBaseInstrInfo)
tablegen(LLVM AIE2GenMCCodeEmitter.inc -gen-emitter)
tablegen(LLVM AIE2GenMemoryCycles.inc -gen-aie-memory-cycles)
tablegen(LLVM AIE2GenPreSchedLowering.inc -gen-aie-presched-lowering)
tablegen(LLVM AIE2GenSplitInstrTables.inc -gen-aie-split-instr-tables)
tablegen(LLVM AIE2GenVarInstructionItin.inc -gen-aie-alternate-itinerary-emitter)
tablegen(LLVM AIE2GenMCPseudoLowering.inc -gen-pseudo-lowering)
tablegen(LLVM AIE2GenRegisterBank.inc -gen-register-bank -base-register-bank-class AIEBaseRegisterBankInfo)
tablegen(LLVM AIE2GenRegisterInfo.inc -gen-register-info -base-registerinfo-class AIEBaseRegisterInfo)
tablegen(LLVM AIE2GenSubtargetInfo.inc -gen-subtarget -base-subtargetinfo-class AIEBaseSubtarget)
tablegen(LLVM AIE2GenGlobalISel.inc -gen-global-isel --warn-on-skipped-patterns)
#aie2p
set(LLVM_TARGET_DEFINITIONS AIE2P.td)
tablegen(LLVM AIE2PGenInstrInfo.inc -gen-instr-info -base-instrinfo-class AIEBaseInstrInfo)
tablegen(LLVM AIE2PGenRegisterInfo.inc -gen-register-info -base-registerinfo-class AIEBaseRegisterInfo)
tablegen(LLVM AIE2PGenCallingConv.inc -gen-callingconv)
tablegen(LLVM AIE2PGenSubtargetInfo.inc -gen-subtarget -base-subtargetinfo-class AIEBaseSubtarget)
tablegen(LLVM AIE2PGenMemoryCycles.inc -gen-aie-memory-cycles)
tablegen(LLVM AIE2PGenPreSchedLowering.inc -gen-aie-presched-lowering)
tablegen(LLVM AIE2PGenSplitInstrTables.inc -gen-aie-split-instr-tables)
tablegen(LLVM AIE2PGenRegisterBank.inc -gen-register-bank -base-register-bank-class AIEBaseRegisterBankInfo)
tablegen(LLVM AIE2PGenGlobalISel.inc -gen-global-isel --warn-on-skipped-patterns)
tablegen(LLVM AIE2PGenAsmWriter.inc -gen-asm-writer)
tablegen(LLVM AIE2PGenFormats.inc -gen-instr-format)
tablegen(LLVM AIE2PGenMCCodeEmitter.inc -gen-emitter)
tablegen(LLVM AIE2PGenDisassemblerTables.inc -gen-disassembler)
tablegen(LLVM AIE2PGenPreLegalizerGICombiner.inc -gen-global-isel-combiner
-combiners="AIE2PPreLegalizerCombiner")
tablegen(LLVM AIE2PGenPostLegalizerGIGenericCombiner.inc -gen-global-isel-combiner
-combiners="AIE2PPostLegalizerGenericCombiner")
tablegen(LLVM AIE2PGenPostLegalizerGICustomCombiner.inc -gen-global-isel-combiner
-combiners="AIE2PPostLegalizerCustomCombiner")
tablegen(LLVM AIE2PGenAsmMatcher.inc -gen-asm-matcher)
tablegen(LLVM AIE2PGenVarInstructionItin.inc -gen-aie-alternate-itinerary-emitter)
# aie2ps
set(LLVM_TARGET_DEFINITIONS AIE2PS.td)
tablegen(LLVM AIE2PSGenInstrInfo.inc -gen-instr-info -base-instrinfo-class AIEBaseInstrInfo)
tablegen(LLVM AIE2PSGenRegisterInfo.inc -gen-register-info -base-registerinfo-class AIEBaseRegisterInfo)
tablegen(LLVM AIE2PSGenRegisterBank.inc -gen-register-bank -base-register-bank-class AIEBaseRegisterBankInfo)
tablegen(LLVM AIE2PSGenCallingConv.inc -gen-callingconv)
tablegen(LLVM AIE2PSGenGlobalISel.inc -gen-global-isel --warn-on-skipped-patterns)
tablegen(LLVM AIE2PSGenSubtargetInfo.inc -gen-subtarget -base-subtargetinfo-class AIEBaseSubtarget)
tablegen(LLVM AIE2PSGenMemoryCycles.inc -gen-aie-memory-cycles)
tablegen(LLVM AIE2PSGenPreSchedLowering.inc -gen-aie-presched-lowering)
tablegen(LLVM AIE2PSGenSplitInstrTables.inc -gen-aie-split-instr-tables)
tablegen(LLVM AIE2PSGenFormats.inc -gen-instr-format)
tablegen(LLVM AIE2PSGenMCCodeEmitter.inc -gen-emitter)
tablegen(LLVM AIE2PSGenAsmWriter.inc -gen-asm-writer)
tablegen(LLVM AIE2PSGenVarInstructionItin.inc -gen-aie-alternate-itinerary-emitter)
tablegen(LLVM AIE2PSGenDisassemblerTables.inc -gen-disassembler)
tablegen(LLVM AIE2PSGenPreLegalizerGICombiner.inc -gen-global-isel-combiner
-combiners="AIE2PSPreLegalizerCombiner")
tablegen(LLVM AIE2PSGenPostLegalizerGIGenericCombiner.inc -gen-global-isel-combiner
-combiners="AIE2PSPostLegalizerGenericCombiner")
tablegen(LLVM AIE2PSGenPostLegalizerGICustomCombiner.inc -gen-global-isel-combiner
-combiners="AIE2PSPostLegalizerCustomCombiner")
tablegen(LLVM AIE2PSGenAsmMatcher.inc -gen-asm-matcher)
#aie-base-target (shared AIE:: namespace for generic opcodes)
set(LLVM_TARGET_DEFINITIONS AIEBaseTarget.td)
tablegen(LLVM AIEBaseTargetGenInstrInfo.inc -gen-instr-info)
add_public_tablegen_target(AIECommonTableGen)
add_llvm_target(AIECodeGen
AIEAddressSpaceFlattening.cpp
AIEBaseAliasAnalysis.cpp
AIEBaseAsmPrinter.cpp
AIEBaseFrameLowering.cpp
AIEBaseHardwareLoops.cpp
AIEBaseISelLowering.cpp
AIEBaseInstrInfo.cpp
AIEBaseRegisterInfo.cpp
AIEBasePipelinerLoopInfo.cpp
AIEBaseInstructionSelector.cpp
AIEBaseTargetTransformInfo.cpp
AIEClusterBaseAddress.cpp
AIECombinerHelper.cpp
AIEBaseRegisterBankInfo.cpp
AIEBaseSubtarget.cpp
AIEBaseTargetMachine.cpp
AIECallLowering.cpp
AIEDataDependenceHelper.cpp
AIEDumpArtifacts.cpp
AIEEliminateDuplicatePHI.cpp
AIEFinalizeBundle.cpp
AIEGlobalCombiner.cpp
AIEGlobalCombinerPtrMods.cpp
AIEHazardRecognizer.cpp
AIEInterBlockScheduling.cpp
AIEISelDAGToDAG.cpp
AIELegalizerHelper.cpp
AIELiveRegs.cpp
AIELoopClass.cpp
AIEMachineAlignment.cpp
AIEMachineFunctionInfo.cpp
AIEMachineScheduler.cpp
AIEMaxLatencyFinder.cpp
AIEMCInstLower.cpp
AIEMIRFormatter.cpp
AIEMultiSlotInstrMaterializer.cpp
AIEPostPipeliner.cpp
AIEPostSelectOptimize.cpp
AIEPseudoBranchExpansion.cpp
AIEPtrModOptimizer.cpp
AIERegClassConstrainer.cpp
AIERegMemEventTracker.cpp
AIESlotCounts.cpp
AIESpillSlotOptimization.cpp
AIESlotStatistics.cpp
AIESlotUtils.cpp
AIESplitInstructionRewriter.cpp
AIESubRegConstrainer.cpp
AIESWPSolver.cpp
AIESuperRegRewriter.cpp
AIESuperRegUtils.cpp
AIETargetObjectFile.cpp
AIE2AsmPrinter.cpp
AIE2FrameLowering.cpp
AIE2InstrInfo.cpp
AIE2InstructionSelector.cpp
AIE2ISelLowering.cpp
AIE2LegalizerInfo.cpp
AIE2PostLegalizerCustomCombiner.cpp
AIE2PostLegalizerGenericCombiner.cpp
AIE2PreLegalizerCombiner.cpp
AIE2RegisterBankInfo.cpp
AIE2RegisterInfo.cpp
AIE2Subtarget.cpp
AIE2TargetMachine.cpp
AIE2TargetTransformInfo.cpp
AIETiedRegOperands.cpp
AIEUnallocatedSuperRegRewriter.cpp
ReservedRegsLICM.cpp
AIEOutlineMemoryGEP.cpp
AIEWawRegRewriter.cpp
# aie1
aie1/AIE1AsmPrinter.cpp
aie1/AIE1AsmPrinter.cpp
aie1/AIE1DelaySlotFiller.cpp
aie1/AIE1FrameLowering.cpp
aie1/AIEHazardRecognizerPRAS.cpp
aie1/AIE1InstrInfo.cpp
aie1/AIE1InstructionSelector.cpp
aie1/AIE1ISelLowering.cpp
aie1/AIE1LegalizerInfo.cpp
aie1/AIE1MachineBlockPlacement.cpp
aie1/AIE1RegisterBankInfo.cpp
aie1/AIE1RegisterInfo.cpp
aie1/AIE1Subtarget.cpp
aie1/AIE1TargetMachine.cpp
# aie2p
aie2p/AIE2PSubtarget.cpp
aie2p/AIE2PTargetMachine.cpp
aie2p/AIE2PTargetTransformInfo.cpp
aie2p/AIE2PRegisterInfo.cpp
aie2p/AIE2PLegalizerInfo.cpp
aie2p/AIE2PInstrInfo.cpp
aie2p/AIE2PFrameLowering.cpp
aie2p/AIE2PRegisterBankInfo.cpp
aie2p/AIE2PISelLowering.cpp
aie2p/AIE2PInstructionSelector.cpp
aie2p/AIE2PPostLegalizerCustomCombiner.cpp
aie2p/AIE2PPostLegalizerGenericCombiner.cpp
aie2p/AIE2PPreLegalizerCombiner.cpp
# aie2ps
aie2ps/AIE2PSSubtarget.cpp
aie2ps/AIE2PSTargetMachine.cpp
aie2ps/AIE2PSTargetTransformInfo.cpp
aie2ps/AIE2PSRegisterInfo.cpp
aie2ps/AIE2PSLegalizerInfo.cpp
aie2ps/AIE2PSInstrInfo.cpp
aie2ps/AIE2PSFrameLowering.cpp
aie2ps/AIE2PSRegisterBankInfo.cpp
aie2ps/AIE2PSISelLowering.cpp
aie2ps/AIE2PSInstructionSelector.cpp
aie2ps/AIE2PSPostLegalizerCustomCombiner.cpp
aie2ps/AIE2PSPostLegalizerGenericCombiner.cpp
aie2ps/AIE2PSPreLegalizerCombiner.cpp
aie2ps/AIE2PSConvertFP16Operation.cpp
LINK_COMPONENTS
Analysis
AsmPrinter
Core
CodeGen
CodeGenTypes
IPO
MC
AIEAsmPrinter
AIEDesc
AIEInfo
AIEUtils
Scalar
SelectionDAG
Support
Target
TargetParser
TransformUtils
GlobalISel
Vectorize
ADD_TO_COMPONENT
AIE
)
add_subdirectory(AsmParser)
add_subdirectory(Disassembler)
add_subdirectory(InstPrinter)
add_subdirectory(MCTargetDesc)
add_subdirectory(TargetInfo)
add_subdirectory(Utils)