diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-03-05 07:30:16 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-03-05 07:30:16 +0000 |
commit | d428e22c073dead59e9ea841e17e367490eb097e (patch) | |
tree | c41239d31933a8c718bbc444423636a99102988b /llvm/lib | |
parent | 3bc405021761c509568302061bf4aa4f5a9220e1 (diff) | |
download | bcm5719-llvm-d428e22c073dead59e9ea841e17e367490eb097e.tar.gz bcm5719-llvm-d428e22c073dead59e9ea841e17e367490eb097e.zip |
Back out fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) for now.
It's causing an infinite loop compiling ldecod on x86 / Darwin.
llvm-svn: 26544
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 1e05d583e83..bf4b39db07b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -1454,13 +1454,6 @@ SDOperand DAGCombiner::visitSHL(SDNode *N) { if (N1C && N0.getOpcode() == ISD::SRA && N1 == N0.getOperand(1)) return DAG.getNode(ISD::AND, VT, N0.getOperand(0), DAG.getConstant(~0ULL << N1C->getValue(), VT)); - // fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) - if (N1C && N0.getOpcode() == ISD::ADD && N0.Val->hasOneUse() && - isa<ConstantSDNode>(N0.getOperand(1))) { - return DAG.getNode(ISD::ADD, VT, - DAG.getNode(ISD::SHL, VT, N0.getOperand(0), N1), - DAG.getNode(ISD::SHL, VT, N0.getOperand(1), N1)); - } return SDOperand(); } |