From f3b8c7659979ff481e7a15fa3406b280e425cf0d Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 11 Nov 2010 19:23:51 +0000 Subject: [PATCH] Avoid calling alias on non-pointer values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118822 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/Lint.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Analysis/Lint.cpp b/lib/Analysis/Lint.cpp index b27ca47142f..4318a30fa6c 100644 --- a/lib/Analysis/Lint.cpp +++ b/lib/Analysis/Lint.cpp @@ -231,10 +231,11 @@ void Lint::visitCallSite(CallSite CS) { // to do. Known partial overlap is not distinguished from the case // where nothing is known. if (Formal->hasNoAliasAttr() && Actual->getType()->isPointerTy()) - for (CallSite::arg_iterator BI = CS.arg_begin(); BI != AE; ++BI) { - Assert1(AI == BI || AA->alias(*AI, *BI) != AliasAnalysis::MustAlias, + for (CallSite::arg_iterator BI = CS.arg_begin(); BI != AE; ++BI) + Assert1(AI == BI || + !(*BI)->getType()->isPointerTy() || + AA->alias(*AI, *BI) != AliasAnalysis::MustAlias, "Unusual: noalias argument aliases another argument", &I); - } // Check that an sret argument points to valid memory. if (Formal->hasStructRetAttr() && Actual->getType()->isPointerTy()) { -- 2.34.1