Fix "pointer is null" static analyzer warning. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 8 Jan 2020 16:41:41 +0000 (16:41 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 8 Jan 2020 17:19:08 +0000 (17:19 +0000)
Use castAs<> instead of getAs<> since we know that the pointer will be valid (and is dereferenced immediately below).

clang/lib/CodeGen/CGOpenCLRuntime.cpp

index 191a95c..dbe3752 100644 (file)
@@ -96,7 +96,7 @@ llvm::PointerType *CGOpenCLRuntime::getSamplerType(const Type *T) {
 }
 
 llvm::Value *CGOpenCLRuntime::getPipeElemSize(const Expr *PipeArg) {
-  const PipeType *PipeTy = PipeArg->getType()->getAs<PipeType>();
+  const PipeType *PipeTy = PipeArg->getType()->castAs<PipeType>();
   // The type of the last (implicit) argument to be passed.
   llvm::Type *Int32Ty = llvm::IntegerType::getInt32Ty(CGM.getLLVMContext());
   unsigned TypeSize = CGM.getContext()
@@ -106,7 +106,7 @@ llvm::Value *CGOpenCLRuntime::getPipeElemSize(const Expr *PipeArg) {
 }
 
 llvm::Value *CGOpenCLRuntime::getPipeElemAlign(const Expr *PipeArg) {
-  const PipeType *PipeTy = PipeArg->getType()->getAs<PipeType>();
+  const PipeType *PipeTy = PipeArg->getType()->castAs<PipeType>();
   // The type of the last (implicit) argument to be passed.
   llvm::Type *Int32Ty = llvm::IntegerType::getInt32Ty(CGM.getLLVMContext());
   unsigned TypeSize = CGM.getContext()