-
Notifications
You must be signed in to change notification settings - Fork 15
Assertion `(IK == IK_FpInduction || Step->getType()->isIntegerTy()) && "StepValue is not an integer"' failed #1383
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
revert requested in https://llvm.org/pr50573 |
Eli has 2 patches up for review that fix this: |
Since 54b64572407c8305c7bb8cc20c46a5e0c66b2979 first landed in release/11.x, I'm inclined to send a kernel patch that disables CONFIG_GFS2_FS if CONFIG_PGO_CLANG=y and CLANG_VERSION < 13. Perhaps something like: diff --git a/fs/gfs2/Kconfig b/fs/gfs2/Kconfig
index 03c966840422..7d8b936291c8 100644
--- a/fs/gfs2/Kconfig
+++ b/fs/gfs2/Kconfig
@@ -28,6 +28,8 @@ config GFS2_FS_LOCKING_DLM
bool "GFS2 DLM locking"
depends on (GFS2_FS!=n) && NET && INET && (IPV6 || IPV6=n) && \
CONFIGFS_FS && SYSFS && (DLM=y || DLM=GFS2_FS)
+ # https://llvm.org/pr50440
+ depends on CC_IS_CLANG=n || (PGO_CLANG=n && CLANG_VERSION >= 130000)
help
Multiple node locking module for GFS2 once fixes land upstream. |
I really do not like that diff for some reason. It feels like a hack to turn off a whole filesystem because of a bug in the compiler but I understand that it is the hand we are dealt. Even then, it should probably be something more like:
I would personally rather Open to discussion around that though once we have an acceptable fix on the compiler side. |
We could also have pgo depend on !GFS2_FS || CLANG_VERSION >= 130000, though I think that would disable PGO for allmodconfig builds (though I haven't tried/checked that) |
diff --git a/kernel/pgo/Kconfig b/kernel/pgo/Kconfig
index d2053df1111c..65efc3fcf554 100644
--- a/kernel/pgo/Kconfig
+++ b/kernel/pgo/Kconfig
@@ -8,7 +8,8 @@ config PGO_CLANG
bool "Enable clang's PGO-based kernel profiling"
depends on DEBUG_FS
depends on ARCH_SUPPORTS_PGO_CLANG
- depends on CC_IS_CLANG && CLANG_VERSION >= 120000
+ depends on CC_IS_CLANG
+ depends on (CLANG_VERSION >= 120000 && GFS2_FS=n) || (CLANG_VERSION >= 130000)
help
This option enables clang's PGO (Profile Guided Optimization) based
code profiling to better optimize the kernel. appears to work.
Correct, although I think that is fair, nobody is going to run an allmodconfig build so if they want to run |
llvm/llvm-project@8a567e5 fixed this. PGO is now gated on LLVM 13.0.0 so we do not need to worry about backporting this to LLVM 12.0.0 because there were a few prerequisite patches. |
Uh oh!
There was an error while loading. Please reload this page.
After the PGO patch set was accepted, I see the following crash with x86_64 allmodconfig:
cvise
spits out:My bisect landed on llvm/llvm-project@54b6457 but that seems obvious since the pass was not present before that commit.
Reported on the upstream LLVM issue tracker: https://llvm.org/pr50440
cc @gwelymernans
The text was updated successfully, but these errors were encountered: