[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

Michael Kruse via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 5 10:04:23 PDT 2019


Meinersbur added a comment.

This fails with Polly/Linux regression tests:

  ********************
  FAIL: Polly :: Simplify/gemm.ll (1148 of 1149)
  ******************** TEST 'Polly :: Simplify/gemm.ll' FAILED ********************
  Script:
  --
  : 'RUN: at line 1';   opt  -polly-process-unprofitable  -polly-remarks-minimal  -polly-use-llvm-names  -polly-import-jscop-dir=/home/meinersbur/src/llvm/tools/polly/test/Simplify  -polly-codegen-verify  -polly-import-jscop    -polly-import-jscop-postfix=transformed -polly-simplify -analyze < /home/meinersbur/src/llvm/tools/polly/test/Simplify/gemm.ll    | FileCheck /home/meinersbur/src/llvm/tools/polly/test/Simplify/gemm.ll
  --
  Exit Code: 2
  
  Command Output (stderr):
  --
  opt: for the   -o option: may not occur within a group!
  opt: Unknown command line argument '-polly-import-jscop'.  Try: 'opt --help'
  opt: Did you mean '  -o'?
  opt: for the   -p option: may only occur zero or one times!
  opt: for the   -o option: may not occur within a group!
  opt: Unknown command line argument '-polly-simplify'.  Try: 'opt --help'
  opt: Did you mean '  -o'?
  FileCheck error: '-' is empty.
  FileCheck command line:  FileCheck /home/meinersbur/src/llvm/tools/polly/test/Simplify/gemm.ll

I think this means that the Polly passes have not been registered (`initializePollyPasses` must be called someway in opt/clang_cc1/bugpoint). Linking from static libraries will NOT include `Polly.o` (and run its static initializers) unless it is needed to resolve at least one symbol.

PLEASE run `make/ninja check-polly` before uploading a patch.



================
Comment at: llvm/tools/opt/opt.cpp:533
-#ifdef LINK_POLLY_INTO_TOOLS
-  polly::initializePollyPasses(Registry);
-#endif
----------------
Where is the equivalent for this in your change? I see it's been done for `clang_cc1`, but not for `opt`/`bugpoint`.


================
Comment at: polly/CMakeLists.txt:210
 set_target_properties(polly-update-format PROPERTIES FOLDER "Polly")
-
----------------
[nit] Whitespace change


================
Comment at: polly/lib/CMakeLists.txt:27
 add_library(PollyCore OBJECT
+  Polly.cpp
   Analysis/DependenceInfo.cpp
----------------
Why this change? `Polly.cpp` should only be necessary for the loadable module, but not for `LLVM_LINK_POLLY_INTO_TOOLS`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D61446





More information about the cfe-commits mailing list