[all-commits] [llvm/llvm-project] 932e4f: [FunctionAttrs][NPM] Fix handling of convergent
aeubanks via All-commits
all-commits at lists.llvm.org
Mon Nov 23 21:10:14 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 932e4f88157194986fa9624edfea9abb9fbde77f
https://github.com/llvm/llvm-project/commit/932e4f88157194986fa9624edfea9abb9fbde77f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/convergent.ll
Log Message:
-----------
[FunctionAttrs][NPM] Fix handling of convergent
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.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D89826
More information about the All-commits
mailing list