diff options
author | Eli Bendersky <eliben@google.com> | 2014-03-17 16:19:07 +0000 |
---|---|---|
committer | Eli Bendersky <eliben@google.com> | 2014-03-17 16:19:07 +0000 |
commit | 576ef3c66764a45249780f068bbd5e41c9cb21d6 (patch) | |
tree | d4b3a4d3cfa79362deca1b4cae3d971cd2a3784b /llvm/lib/Analysis/CodeMetrics.cpp | |
parent | 83731469a1be2f81b483a37c8c12739a8fb153c5 (diff) | |
download | llvm-576ef3c66764a45249780f068bbd5e41c9cb21d6.zip llvm-576ef3c66764a45249780f068bbd5e41c9cb21d6.tar.gz llvm-576ef3c66764a45249780f068bbd5e41c9cb21d6.tar.bz2 |
Consistent use of the noduplicate attribute.
The "noduplicate" attribute of call instructions is sometimes queried directly
and sometimes through the cannotDuplicate() predicate. This patch streamlines
all queries to use the cannotDuplicate() predicate. It also adds this predicate
to InvokeInst, to mirror what CallInst has.
llvm-svn: 204049
Diffstat (limited to 'llvm/lib/Analysis/CodeMetrics.cpp')
-rw-r--r-- | llvm/lib/Analysis/CodeMetrics.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/CodeMetrics.cpp b/llvm/lib/Analysis/CodeMetrics.cpp index 4a05888..4c8a093 100644 --- a/llvm/lib/Analysis/CodeMetrics.cpp +++ b/llvm/lib/Analysis/CodeMetrics.cpp @@ -65,11 +65,11 @@ void CodeMetrics::analyzeBasicBlock(const BasicBlock *BB, ++NumVectorInsts; if (const CallInst *CI = dyn_cast<CallInst>(II)) - if (CI->hasFnAttr(Attribute::NoDuplicate)) + if (CI->cannotDuplicate()) notDuplicatable = true; if (const InvokeInst *InvI = dyn_cast<InvokeInst>(II)) - if (InvI->hasFnAttr(Attribute::NoDuplicate)) + if (InvI->cannotDuplicate()) notDuplicatable = true; NumInsts += TTI.getUserCost(&*II); |