[PATCH] D123678: [polly] migrate -polly-show to the new pass manager

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 4 00:07:18 PDT 2022


Meinersbur added a comment.

When compiling under Windows with `cmake -DPOLLY_ENABLE_GPGPU_CODEGEN=ON`, I get a linker error:

  Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTOnlyPrinterPass(void)" (?createDOTOnlyPrinterPass at polly@@YAPEAVPass at llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinki
  ng::PollyForcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA at XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
  Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTOnlyViewerPass(void)" (?createDOTOnlyViewerPass at polly@@YAPEAVPass at llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinking
  ::PollyForcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA at XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
  Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTPrinterPass(void)" (?createDOTPrinterPass at polly@@YAPEAVPass at llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinking::Poll
  yForcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA at XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
  Polly.lib(PPCGCodeGeneration.obj) : error LNK2019: unresolved external symbol "class llvm::Pass * __cdecl polly::createDOTViewerPass(void)" (?createDOTViewerPass at polly@@YAPEAVPass at llvm@@XZ) referenced in function "public: __cdecl `anonymous namespace'::PollyForcePassLinking::PollyF
  orcePassLinking(void)" (??0PollyForcePassLinking@?A0x3c23cca7@@QEAA at XZ) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]
  C:\Users\meinersbur\build\llvm-project\debug_vs17\Debug\bin\opt.exe : fatal error LNK1120: 4 unresolved externals [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\opt\opt.vcxproj]

I could not yet find a config that also fails under Linux, but it looks like some library dependencies are wrong.



================
Comment at: polly/lib/Analysis/ScopGraphPrinter.cpp:73-76
+void DOTGraphTraits<ScopDetection>::printRegionCluster(const ScopDetection &SD,
+                                                       const Region *R,
+                                                       raw_ostream &O,
+                                                       unsigned depth = 0) {
----------------
I get a compiler error here:
```
/home/meinersbur/src/llvm-project/polly/lib/Analysis/ScopGraphPrinter.cpp:73:6: error: redeclaration of ‘static void llvm::DOTGraphTraits<polly::ScopDetection>::printRegionCluster(const polly::ScopDetection&, const llvm::Region*, llvm::raw_ostream&, unsigned int)’ may not have default arguments [-fpermissive]
   73 | void DOTGraphTraits<ScopDetection>::printRegionCluster(const ScopDetection &SD,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
The compiler is correct here, default parameters belong to the declaration, not definition. The pre-merge check does not seem to have caught this, maybe using a different compiler version (I am using gcc 11.2)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123678/new/

https://reviews.llvm.org/D123678



More information about the llvm-commits mailing list