[PATCH] D54516: [AMDGPU] Do not mark llvm.amdgcn.set.inactive as IntrNoMem

Connor Abbott via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 14 02:04:46 PST 2018


cwabbott added a comment.

I believe the combination of Convergent + not Speculatable should mean that the compiler shouldn't hoist it to a non-control-equivalent block and shouldn't CSE it. In particular, IIRC it's not guaranteed that that a readnone function always return the same value when it's called with the same arguments, so it's not safe to CSE -- it just means that LLVM can move other things across it, since it doesn't modify *caller-visible* state. What pass is causing a problem? Maybe it's a bug in the pass?


Repository:
  rL LLVM

https://reviews.llvm.org/D54516





More information about the llvm-commits mailing list