diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-09-08 01:56:32 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-09-08 01:56:32 +0000 |
commit | 9a0d1ba0510ef68f35c21a43861dad957759d86f (patch) | |
tree | d5dd39275a748bb3a3e3f36448ee5a344f8cb676 | |
parent | ca460d5a39e09836e279405b85e2390fa7e7d859 (diff) | |
download | external_llvm-9a0d1ba0510ef68f35c21a43861dad957759d86f.zip external_llvm-9a0d1ba0510ef68f35c21a43861dad957759d86f.tar.gz external_llvm-9a0d1ba0510ef68f35c21a43861dad957759d86f.tar.bz2 |
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
-rw-r--r-- | lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 4e49847..2d400bd 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, |