[IR] Mark assume/annotation as InaccessibleMemOnly
authorNikita Popov <nikita.ppv@gmail.com>
Sat, 20 Mar 2021 17:11:17 +0000 (18:11 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 22 Mar 2021 21:01:03 +0000 (22:01 +0100)
commitca28e32359c60da6216960522c545c0c20761a21
tree8828d9f446801437088d792ef8308174811b68d6
parentb00209ed100cf76acca2e7f8c8ae511658fe4816
[IR] Mark assume/annotation as InaccessibleMemOnly

These intrinsics don't need to be marked as arbitrary writing,
it's sufficient to write inaccessible memory (aka "side effect")
to preserve control dependencies. This means less special-casing
in BasicAA. This is intended as an alternative to D98925.

Differential Revision: https://reviews.llvm.org/D99022
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/test/Transforms/Attributor/dereferenceable-1.ll
llvm/test/Transforms/Attributor/lvi-after-jumpthreading.ll
llvm/test/Transforms/Attributor/nofree.ll
llvm/test/Transforms/Attributor/nonnull.ll
llvm/test/Transforms/InstCombine/annotation-intrinsic.ll