diff options
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp index f54eebb2874a..cafec165f6d6 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp @@ -261,20 +261,20 @@ void LoopVectorizeHints::getHintsFromMetadata() { assert(LoopID->getNumOperands() > 0 && "requires at least one operand"); assert(LoopID->getOperand(0) == LoopID && "invalid loop id"); - for (unsigned i = 1, ie = LoopID->getNumOperands(); i < ie; ++i) { + for (const MDOperand &MDO : llvm::drop_begin(LoopID->operands())) { const MDString *S = nullptr; SmallVector<Metadata *, 4> Args; // The expected hint is either a MDString or a MDNode with the first // operand a MDString. - if (const MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i))) { + if (const MDNode *MD = dyn_cast<MDNode>(MDO)) { if (!MD || MD->getNumOperands() == 0) continue; S = dyn_cast<MDString>(MD->getOperand(0)); for (unsigned i = 1, ie = MD->getNumOperands(); i < ie; ++i) Args.push_back(MD->getOperand(i)); } else { - S = dyn_cast<MDString>(LoopID->getOperand(i)); + S = dyn_cast<MDString>(MDO); assert(Args.size() == 0 && "too many arguments for MDString"); } |
