mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204049 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -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);
|
||||
|
Reference in New Issue
Block a user