[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