From 76711246d9905575290fa7eebac4d1cad6000c60 Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Thu, 6 Aug 2009 22:45:51 +0000 Subject: [PATCH] Use stripPointerCasts instead of partially rewriting it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78350 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp index c991bae93ba..73b75797d6b 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp @@ -5137,10 +5137,8 @@ void SelectionDAGLowering::visitInlineAsm(CallSite CS) { // BasicBlocks are labels, currently appearing only in asm's. if (OpInfo.CallOperandVal) { // Strip bitcasts, if any. This mostly comes up for functions. - ConstantExpr* CE = NULL; - while ((CE = dyn_cast(OpInfo.CallOperandVal)) && - CE->getOpcode()==Instruction::BitCast) - OpInfo.CallOperandVal = CE->getOperand(0); + OpInfo.CallOperandVal = OpInfo.CallOperandVal->stripPointerCasts(); + if (BasicBlock *BB = dyn_cast(OpInfo.CallOperandVal)) { OpInfo.CallOperand = DAG.getBasicBlock(FuncInfo.MBBMap[BB]); } else { -- 2.34.1