[PATCH] D151943: [InstCombine] Propagate some func/arg/ret attributes from caller to callsite

Noah Goldstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 4 12:05:55 PDT 2023


goldstein.w.n added inline comments.


================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp:3725
+      // callsite's return value if it is used as the return value of the
+      // caller.
+      std::array CallerReturnAttrPropagations = {Attribute::NoUndef,
----------------
nikic wrote:
> goldstein.w.n wrote:
> > nikic wrote:
> > > This is incorrect for UB-implying attributes like noundef, if the call is not guaranteed to transfer to the return.
> > We check that the return of the callsite is the return value of the function. Are you are worried about the return value escaping then an exception or interrupt between the callsite and return?
> Yes.
is that not also a concern of nonnull?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D151943/new/

https://reviews.llvm.org/D151943



More information about the llvm-commits mailing list