diff options
author | Arthur Eubanks <aeubanks@google.com> | 2020-10-20 10:57:02 -0700 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2020-11-23 21:09:41 -0800 |
commit | 932e4f88157194986fa9624edfea9abb9fbde77f (patch) | |
tree | 2adb3c05125fafd0d4d7c413f8312d18ba7fe2be /llvm/lib/Analysis/CGSCCPassManager.cpp | |
parent | 1a9c72f8a8d014c2ae6408292e4f48e2e632f139 (diff) | |
download | llvm-932e4f88157194986fa9624edfea9abb9fbde77f.zip llvm-932e4f88157194986fa9624edfea9abb9fbde77f.tar.gz llvm-932e4f88157194986fa9624edfea9abb9fbde77f.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/Analysis/CGSCCPassManager.cpp')
0 files changed, 0 insertions, 0 deletions