From: Bill Wendling Date: Mon, 8 Sep 2008 01:56:32 +0000 (+0000) Subject: Revert my previous change -- the subtraction of two constants was a no-op X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=9a0d1ba0510ef68f35c21a43861dad957759d86f;p=oota-llvm.git Revert my previous change -- the subtraction of two constants was a no-op before. This is taken care of in the selection DAG pass. In my opinion, this should be in one place or the other. I.e., it should probably be removed from the DAG combiner (along with the other arithmetic transformations on constants that are essentially no-ops). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55889 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 4e4984789bc..2d400bdfb25 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -1111,7 +1111,7 @@ SDValue DAGCombiner::visitSUB(SDNode *N) { return DAG.getConstant(0, N->getValueType(0)); // fold (sub c1, c2) -> c1-c2 if (N0C && N1C) - return DAG.getConstant(N0C->getAPIntValue() - N1C->getAPIntValue(), VT); + return DAG.getNode(ISD::SUB, VT, N0, N1); // fold (sub x, c) -> (add x, -c) if (N1C) return DAG.getNode(ISD::ADD, VT, N0,