Details
Diff Detail
Event Timeline
Omitted reversal of NewGVN testcase that slipped in with the original (D49126) commit. It has nothing to do with the unnamed type support.
llvm/test/Transforms/Util/PredicateInfo/testandor.ll | ||
---|---|---|
139 | Good that you asked. The reverted code now also reverses some of the insertions. Working on a fix. |
This patch is causing issues with the EXPENSIVE_CHECKS build, which detects that the pass modified the IR without reporting it has done so via runOnFunction's return value. Would you mind taking a look?
llvm/test/Transforms/Util/PredicateInfo/testandor.ll
Pass modifies its input and doesn't report it: PredicateInfo Printer Pass modifies its input and doesn't report it UNREACHABLE executed at llvm/lib/IR/LegacyPassManager.cpp:1445! PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace. Stack dump:
@jroelofs I tried to run llvm/test/Transforms/Util/PredicateInfo/testandor.ll for both rG77080a1eb6061df2dcfae8ac84b85ad4d1e02031 (the moment of the commit) and rGfb9c5c3dce27b352534641dbb6e3cb8c05da7bc9 (recent main), with -DLLVM_ENABLE_EXPENSIVE_CHECKS=1.
I checked that the -DEXPENSIVE_CHECKS is added to the ninja.build file. But, I am not able to observe the issue you are mentioning. How can I reproduce this problem ?
Are you using the legacy pass manager? From the message Jon shared, it looks like it comes from the legacy PM.
That did the trick. @dberlin Created this pass, but I am not sure he is still active. Although this pass is used to dump information, it does seem to introduce llvm.ssa.copy calls. I'll see how to modify the return value so that it correctly identifies changes.
nit: move to the header?