ModuleUtils - silence static analyzer dyn_cast<> null dereference warning. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 27 Sep 2019 16:55:49 +0000 (16:55 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 27 Sep 2019 16:55:49 +0000 (16:55 +0000)
The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us.

llvm-svn: 373099

llvm/lib/Transforms/Utils/ModuleUtils.cpp

index c84bece..1ef3757 100644 (file)
@@ -73,7 +73,7 @@ static void appendToUsedList(Module &M, StringRef Name, ArrayRef<GlobalValue *>
   SmallPtrSet<Constant *, 16> InitAsSet;
   SmallVector<Constant *, 16> Init;
   if (GV) {
-    ConstantArray *CA = dyn_cast<ConstantArray>(GV->getInitializer());
+    auto *CA = cast<ConstantArray>(GV->getInitializer());
     for (auto &Op : CA->operands()) {
       Constant *C = cast_or_null<Constant>(Op);
       if (InitAsSet.insert(C).second)