From: Chris Lattner Date: Sat, 5 May 2007 23:49:02 +0000 (+0000) Subject: handle gep aliasee X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2bf6e6a632b445b363707f99aa35ca304e7a9176;p=oota-llvm.git handle gep aliasee git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36815 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/Globals.cpp b/lib/VMCore/Globals.cpp index 021d6bf8012..eb0df60757b 100644 --- a/lib/VMCore/Globals.cpp +++ b/lib/VMCore/Globals.cpp @@ -210,7 +210,7 @@ void GlobalAlias::setAliasee(Constant *Aliasee) setOperand(0, Aliasee); } -const GlobalValue *GlobalAlias::getAliasedGlobal() const { +const GlobalValue *GlobalAlias::getAliasedGlobal() const { const Constant *C = getAliasee(); if (C) { if (const GlobalValue *GV = dyn_cast(C)) @@ -218,8 +218,9 @@ const GlobalValue *GlobalAlias::getAliasedGlobal() const { else { const ConstantExpr *CE = 0; if ((CE = dyn_cast(C)) && - (CE->getOpcode() == Instruction::BitCast)) - return cast(CE->getOperand(0)); + (CE->getOpcode() == Instruction::BitCast || + CE->getOpcode() == Instruction::GetElementPtr)) + return dyn_cast(CE->getOperand(0)); else assert(0 && "Unsupported aliasee"); }