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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits