set(LLVM_LINK_COMPONENTS
  ${LLVM_TARGETS_TO_BUILD}
  Analysis
  AsmParser
  AsmPrinter
  CodeGen
  CodeGenTypes
  Core
  FileCheck
  IRPrinter
  MC
  MIRParser
  Passes
  ScalarOpts
  SelectionDAG
  Support
  Target
  TargetParser
  TransformUtils
  )

add_llvm_unittest(CodeGenTests
  AllocationOrderTest.cpp
  AMDGPUMetadataTest.cpp
  AsmPrinterDwarfTest.cpp
  CCStateTest.cpp
  DIEHashTest.cpp
  DIETest.cpp
  DroppedVariableStatsMIRTest.cpp
  DwarfStringPoolEntryRefTest.cpp
  GCMetadata.cpp
  InstrRefLDVTest.cpp
  LowLevelTypeTest.cpp
  LexicalScopesTest.cpp
  MachineBasicBlockTest.cpp
  MachineDomTreeUpdaterTest.cpp
  MachineInstrBundleIteratorTest.cpp
  MachineInstrTest.cpp
  MachineOperandTest.cpp
  MIR2VecTest.cpp
  RegAllocScoreTest.cpp
  RegisterTest.cpp
  PassManagerTest.cpp
  ScalableVectorMVTsTest.cpp
  SchedBoundary.cpp
  SelectionDAGAddressAnalysisTest.cpp
  SelectionDAGNodeConstructionTest.cpp
  SelectionDAGPatternMatchTest.cpp
  TypeTraitsTest.cpp
  TargetOptionsTest.cpp
  TestAsmPrinter.cpp
  X86MCInstLowerTest.cpp
  )

add_subdirectory(GlobalISel)
add_subdirectory(CGPluginTest)

target_link_libraries(CodeGenTests PRIVATE LLVMTestingSupport)
