From: Manuel Jacob Date: Mon, 21 Dec 2015 01:26:46 +0000 (+0000) Subject: [RS4GC] Add an assert which fails if there is a (yet unsupported) addrspacecast. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=65021c4392dfc543699cf217e8d8f5458666c6e4;p=oota-llvm.git [RS4GC] Add an assert which fails if there is a (yet unsupported) addrspacecast. The slightly strange indentation comes from clang-format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256132 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp b/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp index 16ee5bbaecb..049a7fc5459 100644 --- a/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp +++ b/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp @@ -454,6 +454,11 @@ static BaseDefiningValueResult findBaseDefiningValue(Value *I) { if (CastInst *CI = dyn_cast(I)) { Value *Def = CI->stripPointerCasts(); + // If stripping pointer casts changes the address space there is an + // addrspacecast in between. + assert(cast(Def->getType())->getAddressSpace() == + cast(CI->getType())->getAddressSpace() && + "unsupported addrspacecast"); // If we find a cast instruction here, it means we've found a cast which is // not simply a pointer cast (i.e. an inttoptr). We don't know how to // handle int->ptr conversion.