[PATCH] D80911: AArch64+ARM: make LLVM consider system registers volatile to prevent unsound optimizations.
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 2 07:31:20 PDT 2020
jdoerfert added a comment.
As an alternative, and necessary regardless, we need to teach AA that "no-`nosync`" operations can experience the effects of external things. As long as `llvm.read_register` is not marked `nosync` that should prevent hoisting. Should, because AA doesn't know this yet. (https://bugs.llvm.org/show_bug.cgi?id=46210).
I do however see the potential for two intrinsics here, one that is a synchronizing read and one that is not. From that perspective this seems reasonable.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D80911/new/
https://reviews.llvm.org/D80911
More information about the llvm-commits
mailing list