[PATCH] D102348: [Instructions]: Calls marked with inaccessiblememonly attribute should be considered to not read/write memory
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 12 13:10:53 PDT 2021
nikic requested changes to this revision.
nikic added a comment.
This revision now requires changes to proceed.
This looks wrong to me. To give one example: Accessing inaccessible memory is the typical way to model side-effects. mayHaveSideEffects() is defined in terms of mayWriteToMemory(). This change makes inaccessiblememonly side-effect free. Oops.
I do think that "only writes accessible memory" is a useful predicate, and many -- but not all -- current callers of mayWriteToMemory() can be switched to it. I would recommend to introduce mayWriteAccessibleMemory() / mayReadAccessibleMemory() and then migrate call-sites after review of the guarantees they actually need.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102348/new/
https://reviews.llvm.org/D102348
More information about the llvm-commits
mailing list