diff options
author | Dale Johannesen <dalej@apple.com> | 2009-08-06 22:45:51 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2009-08-06 22:45:51 +0000 |
commit | 76711246d9905575290fa7eebac4d1cad6000c60 (patch) | |
tree | 64655f866306fa1a090ad47f6e3d921d65428496 | |
parent | 268e35d99fd1de6dec9055f52691424188de161c (diff) | |
download | llvm-76711246d9905575290fa7eebac4d1cad6000c60.tar.gz llvm-76711246d9905575290fa7eebac4d1cad6000c60.tar.bz2 llvm-76711246d9905575290fa7eebac4d1cad6000c60.tar.xz |
Use stripPointerCasts instead of partially rewriting it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78350 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp index c991bae93b..73b75797d6 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<ConstantExpr>(OpInfo.CallOperandVal)) && - CE->getOpcode()==Instruction::BitCast) - OpInfo.CallOperandVal = CE->getOperand(0); + OpInfo.CallOperandVal = OpInfo.CallOperandVal->stripPointerCasts(); + if (BasicBlock *BB = dyn_cast<BasicBlock>(OpInfo.CallOperandVal)) { OpInfo.CallOperand = DAG.getBasicBlock(FuncInfo.MBBMap[BB]); } else { |