[PATCH] D89826: [FunctionAttrs][NPM] Fix handling of convergent

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 20 14:34:00 PDT 2020


aeubanks created this revision.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
aeubanks requested review of this revision.

The legacy pass didn't properly detect indirect calls.

We can still remove the convergent attribute when there are indirect
calls. The LangRef says:

> When it appears on a call/invoke, the convergent attribute indicates

that we should treat the call as though we’re calling a convergent
function. This is particularly useful on indirect calls; without this we
may treat such calls as though the target is non-convergent.

So don't skip handling of convergent when there are unknown calls.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D89826

Files:
  llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  llvm/test/Transforms/FunctionAttrs/convergent.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89826.299478.patch
Type: text/x-patch
Size: 8226 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201020/169bc900/attachment.bin>


More information about the llvm-commits mailing list