Index: llvm/include/llvm/MCA/CustomBehaviour.h =================================================================== --- llvm/include/llvm/MCA/CustomBehaviour.h +++ llvm/include/llvm/MCA/CustomBehaviour.h @@ -63,7 +63,7 @@ const MCInstrInfo &MCII) : STI(STI), SrcMgr(SrcMgr), MCII(MCII) {} - virtual ~CustomBehaviour() {} + virtual ~CustomBehaviour(); // Before the llvm-mca pipeline dispatches an instruction, it first checks // for any register or resource dependencies / hazards. If it doesn't find Index: llvm/lib/MCA/CustomBehaviour.cpp =================================================================== --- llvm/lib/MCA/CustomBehaviour.cpp +++ llvm/lib/MCA/CustomBehaviour.cpp @@ -16,6 +16,8 @@ namespace llvm { namespace mca { +CustomBehaviour::~CustomBehaviour() {} + unsigned CustomBehaviour::checkCustomHazard(ArrayRef IssuedInst, const InstRef &IR) { // 0 signifies that there are no hazards that need to be waited on Index: llvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt =================================================================== --- llvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt +++ llvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt @@ -6,6 +6,7 @@ set(LLVM_LINK_COMPONENTS AMDGPU Core + MCA Support )