[PATCH] D73426: [Attributor] Derive memory location attributes (argmemonly, ...)
Hideto Ueno via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 13 22:34:37 PST 2020
uenoku added a comment.
Sorry for the delay. I have just completed my bachelor's course so I can take enough time for development.
I think a state without `NO_UNKOWN_MEM` is semantically identical to a pessimistic fixpoint, right?
================
Comment at: llvm/include/llvm/Transforms/IPO/Attributor.h:2578
+
+ /// Return true if we assume that the associated functions has no observable
+ /// accesses.
----------------
nit: functions → function
================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:6120-6121
+ if (auto *Arg = dyn_cast<Argument>(&V)) {
+ if (Arg->hasByValAttr())
+ updateState(T, NO_LOCAL_MEM, I, &V, Changed);
+ else
----------------
Why is byval argument regarded as local memory?
================
Comment at: llvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll:17
; CHECK-LABEL: define {{[^@]+}}@run()
; CHECK-NEXT: entry:
; CHECK-NEXT: unreachable
----------------
Is this change caused by this patch?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73426/new/
https://reviews.llvm.org/D73426
More information about the llvm-commits
mailing list