diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-09-16 10:35:09 +0000 | 
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-09-16 10:35:09 +0000 | 
| commit | ae625d70cdb36485de9429b1ea26ae74e535a053 (patch) | |
| tree | 0ef34dab7bcf1f7c1c233c8644d4d8e302329b57 /llvm/lib/Transforms/Vectorize | |
| parent | 5f349d56a84336e0c5f7b864129c27a6107a0e87 (diff) | |
| download | bcm5719-llvm-ae625d70cdb36485de9429b1ea26ae74e535a053.tar.gz bcm5719-llvm-ae625d70cdb36485de9429b1ea26ae74e535a053.zip  | |
[SLPVectorizer] Don't dereference a dyn_cast result. NFCI.
The static analyzer is warning about potential null dereferences of dyn_cast<> results - in these cases we can safely use cast<> directly as we know that these cases should all be the correct type, which is why its working atm and anyway cast<> will assert if they aren't.
llvm-svn: 371973
Diffstat (limited to 'llvm/lib/Transforms/Vectorize')
| -rw-r--r-- | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index c18972c5201..a9d8649ce75 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -2273,7 +2273,7 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,                  (unsigned) Instruction::ShuffleVector : S.getOpcode();    switch (ShuffleOrOp) {      case Instruction::PHI: { -      PHINode *PH = dyn_cast<PHINode>(VL0); +      auto *PH = cast<PHINode>(VL0);        // Check for terminator values (e.g. invoke).        for (unsigned j = 0; j < VL.size(); ++j) @@ -2713,7 +2713,7 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,          ValueList Operands;          // Prepare the operand vector.          for (Value *V : VL) { -          CallInst *CI2 = dyn_cast<CallInst>(V); +          auto *CI2 = cast<CallInst>(V);            Operands.push_back(CI2->getArgOperand(i));          }          buildTree_rec(Operands, Depth + 1, {TE, i}); @@ -3676,7 +3676,7 @@ Value *BoUpSLP::vectorizeTree(TreeEntry *E) {        E->isAltShuffle() ? (unsigned)Instruction::ShuffleVector : E->getOpcode();    switch (ShuffleOrOp) {      case Instruction::PHI: { -      PHINode *PH = dyn_cast<PHINode>(VL0); +      auto *PH = cast<PHINode>(VL0);        Builder.SetInsertPoint(PH->getParent()->getFirstNonPHI());        Builder.SetCurrentDebugLocation(PH->getDebugLoc());        PHINode *NewPhi = Builder.CreatePHI(VecTy, PH->getNumIncomingValues()); @@ -3800,7 +3800,7 @@ Value *BoUpSLP::vectorizeTree(TreeEntry *E) {          return E->VectorizedValue;        } -      CastInst *CI = dyn_cast<CastInst>(VL0); +      auto *CI = cast<CastInst>(VL0);        Value *V = Builder.CreateCast(CI->getOpcode(), InVec, VecTy);        if (NeedToShuffleReuses) {          V = Builder.CreateShuffleVector(V, UndefValue::get(VecTy),  | 

