diff options
Diffstat (limited to 'lib/CodeGen/SelectionDAG/DAGCombiner.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index f08fd10413..52e8391f37 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -2081,6 +2081,11 @@ SDOperand DAGCombiner::visitSTORE(SDNode *N) { return SDOperand(N, 0); } + // If this is a store of a bit convert, store the input value. + if (Value.getOpcode() == ISD::BIT_CONVERT) + return DAG.getNode(ISD::STORE, MVT::Other, Chain, Value.getOperand(0), + Ptr, SrcValue); + return SDOperand(); } |