From 837959077001fabc556dbfe553e96dcfa8b8a9b8 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sun, 22 Sep 2019 13:14:21 +0000 Subject: [PATCH] [Lanai] LanaiAsmParser - Silence static analyzer dyn_cast null dereference warnings. NFCI. We were already doing this dyn_cast && isa<> && cast<> pattern for some add*Operands methods, just do this more consistently to stop clang static analyzer warning so much. llvm-svn: 372503 --- llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp b/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp index b629a24..ec82e3a 100644 --- a/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp +++ b/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp @@ -469,13 +469,14 @@ public: else if (isa(getImm())) { #ifndef NDEBUG const LanaiMCExpr *SymbolRefExpr = dyn_cast(getImm()); - assert(SymbolRefExpr->getKind() == LanaiMCExpr::VK_Lanai_ABS_LO); + assert(SymbolRefExpr && + SymbolRefExpr->getKind() == LanaiMCExpr::VK_Lanai_ABS_LO); #endif Inst.addOperand(MCOperand::createExpr(getImm())); } else if (isa(getImm())) { #ifndef NDEBUG const MCBinaryExpr *BinaryExpr = dyn_cast(getImm()); - assert(isa(BinaryExpr->getLHS()) && + assert(BinaryExpr && isa(BinaryExpr->getLHS()) && cast(BinaryExpr->getLHS())->getKind() == LanaiMCExpr::VK_Lanai_ABS_LO); #endif @@ -499,13 +500,14 @@ public: else if (isa(getImm())) { #ifndef NDEBUG const LanaiMCExpr *SymbolRefExpr = dyn_cast(getImm()); - assert(SymbolRefExpr->getKind() == LanaiMCExpr::VK_Lanai_ABS_HI); + assert(SymbolRefExpr && + SymbolRefExpr->getKind() == LanaiMCExpr::VK_Lanai_ABS_HI); #endif Inst.addOperand(MCOperand::createExpr(getImm())); } else if (isa(getImm())) { #ifndef NDEBUG const MCBinaryExpr *BinaryExpr = dyn_cast(getImm()); - assert(isa(BinaryExpr->getLHS()) && + assert(BinaryExpr && isa(BinaryExpr->getLHS()) && cast(BinaryExpr->getLHS())->getKind() == LanaiMCExpr::VK_Lanai_ABS_HI); #endif @@ -544,10 +546,9 @@ public: } else if (isa(getImm())) { #ifndef NDEBUG const MCBinaryExpr *BinaryExpr = dyn_cast(getImm()); - const LanaiMCExpr *SymbolRefExpr = - dyn_cast(BinaryExpr->getLHS()); - assert(SymbolRefExpr && - SymbolRefExpr->getKind() == LanaiMCExpr::VK_Lanai_None); + assert(BinaryExpr && isa(BinaryExpr->getLHS()) && + cast(BinaryExpr->getLHS())->getKind() == + LanaiMCExpr::VK_Lanai_None); #endif Inst.addOperand(MCOperand::createExpr(getImm())); } else -- 2.7.4