[PATCH] D151432: [NFC][RFC][TableGen] Split GlobalISelEmitter.cpp
Pierre van Houtryve via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 5 00:41:06 PDT 2023
Pierre-vh reopened this revision.
Pierre-vh added a comment.
This revision is now accepted and ready to land.
Had to revert, this is causing build failures (that I didn't see locally) because of undefined symbols:
mold: error: undefined symbol: llvm::CodeGenTarget::getRegNamespace() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::AddRegisterRenderer::emitRenderOpcodes(llvm::gi::MatchTable&, llvm::gi::RuleMatcher&) const)
mold: error: undefined symbol: llvm::CodeGenTarget::ComputeInstrsByEnum() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::InstructionOpcodeMatcher::initOpcodeValuesMap(llvm::CodeGenTarget const&))
mold: error: undefined symbol: llvm::TreePredicateFn::getImmTypeIdentifier() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::(anonymous namespace)::getEnumNameForPredicate[abi:cxx11](llvm::TreePredicateFn const&))>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::InstructionImmPredicateMatcher::emitPredicateOpcodes(llvm::gi::MatchTable&, llvm::gi::RuleMatcher&) const)
mold: error: undefined symbol: llvm::TypeSetByHwMode::getValueTypeByHwMode() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::OperandMatcher::addTypeCheckPredicate(llvm::TypeSetByHwMode const&, bool))>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::OperandMatcher::addTypeCheckPredicate(llvm::TypeSetByHwMode const&, bool))>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::OperandMatcher::addTypeCheckPredicate(llvm::TypeSetByHwMode const&, bool))
mold: error: undefined symbol: llvm::TreePredicateFn::hasGISelPredicateCode() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::(anonymous namespace)::getEnumNameForPredicate[abi:cxx11](llvm::TreePredicateFn const&))
mold: error: undefined symbol: llvm::TreePredicateFn::getFnName[abi:cxx11]() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::(anonymous namespace)::getEnumNameForPredicate[abi:cxx11](llvm::TreePredicateFn const&))>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::(anonymous namespace)::getEnumNameForPredicate[abi:cxx11](llvm::TreePredicateFn const&))
mold: error: undefined symbol: llvm::CodeGenRegisterClass::getQualifiedName[abi:cxx11]() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::RegisterBankOperandMatcher::emitPredicateOpcodes(llvm::gi::MatchTable&, llvm::gi::RuleMatcher&) const)>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::ConstrainOperandToRegClassAction::emitActionOpcodes(llvm::gi::MatchTable&, llvm::gi::RuleMatcher&) const)
mold: error: undefined symbol: llvm::CodeGenSubRegIndex::getQualifiedName[abi:cxx11]() const
>>> referenced by GISelMatchTable.cpp
>>> utils/TableGen/GlobalISel/CMakeFiles/obj.LLVMTableGenGlobalISel.dir/GISelMatchTable.cpp.o:(llvm::gi::TempRegRenderer::emitRenderOpcodes(llvm::gi::MatchTable&, llvm::gi::RuleMatcher&) const)
It seems to be because the "TableGen/GlobalISel" folder is a separate library, for some reason?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D151432/new/
https://reviews.llvm.org/D151432
More information about the llvm-commits
mailing list