[PATCH] D94106: [Local] Treat calls that may not return as being alive (WIP).

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 5 11:53:21 PST 2021


jdoerfert added inline comments.


================
Comment at: llvm/include/llvm/IR/InstrTypes.h:1763
+    return hasFnAttr(Attribute::WillReturn) ||
+           hasFnAttr(Attribute::MustProgress);
+  }
----------------
jdoerfert wrote:
> nikic wrote:
> > This isn't right, MustProgress does not guarantee that the function returns. I'd suggest to take a look at the logic in isGuaranteedToTransferExecutionToSuccessor() (which should be replaced as well).
> `willreturn || (mustprogress && readnone)`
> 
Maybe `readonly` is sufficient given that volatile/atomic read accesses are considered writes, right?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94106



More information about the llvm-commits mailing list