From: Duncan Sands Date: Thu, 18 Nov 2010 21:16:28 +0000 (+0000) Subject: Fix thinko: we must turn select(anyext, sext) into sext(select) X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b9064bb96458ab48a878e1a7e678cada2e22ab7a;p=oota-llvm.git Fix thinko: we must turn select(anyext, sext) into sext(select) not anyext(select). Spotted by Frits van Bommel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119739 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 53b449309c7..d7057049867 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -6712,7 +6712,8 @@ bool DAGCombiner::SimplifySelectOps(SDNode *TheSelect, SDValue LHS, LLD->isVolatile(), LLD->isNonTemporal(), LLD->getAlignment()); } else { - Load = DAG.getExtLoad(LLD->getExtensionType(), + Load = DAG.getExtLoad(LLD->getExtensionType() == ISD::EXTLOAD ? + RLD->getExtensionType() : LLD->getExtensionType(), TheSelect->getValueType(0), TheSelect->getDebugLoc(), // FIXME: Discards pointer info.