[llvm] 9b0b626 - Use isConvergent helper instead of directly checking attribute
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 27 20:27:07 PDT 2019
Author: Matt Arsenault
Date: 2019-10-27T19:39:14-07:00
New Revision: 9b0b626d2c19802bf3d56272cbc3a13d3c9ee5dd
URL: https://github.com/llvm/llvm-project/commit/9b0b626d2c19802bf3d56272cbc3a13d3c9ee5dd
DIFF: https://github.com/llvm/llvm-project/commit/9b0b626d2c19802bf3d56272cbc3a13d3c9ee5dd.diff
LOG: Use isConvergent helper instead of directly checking attribute
Added:
Modified:
llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
llvm/lib/Transforms/Scalar/Sink.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
index b410df0c5f68..afd0249ac96c 100644
--- a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
@@ -683,7 +683,7 @@ bool LoopUnswitch::processCurrentLoop() {
for (auto &I : *BB) {
auto CS = CallSite(&I);
if (!CS) continue;
- if (CS.hasFnAttr(Attribute::Convergent))
+ if (CS.isConvergent())
return false;
if (auto *II = dyn_cast<InvokeInst>(&I))
if (!II->getUnwindDest()->canSplitPredecessors())
diff --git a/llvm/lib/Transforms/Scalar/Sink.cpp b/llvm/lib/Transforms/Scalar/Sink.cpp
index 90f3a2aa46e1..72b586c85fe1 100644
--- a/llvm/lib/Transforms/Scalar/Sink.cpp
+++ b/llvm/lib/Transforms/Scalar/Sink.cpp
@@ -78,7 +78,7 @@ static bool isSafeToMove(Instruction *Inst, AliasAnalysis &AA,
if (auto *Call = dyn_cast<CallBase>(Inst)) {
// Convergent operations cannot be made control-dependent on additional
// values.
- if (Call->hasFnAttr(Attribute::Convergent))
+ if (Call->isConvergent())
return false;
for (Instruction *S : Stores)
More information about the llvm-commits
mailing list