diff options
author | Chris Lattner <sabre@nondot.org> | 2005-10-13 18:16:34 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-10-13 18:16:34 +0000 |
commit | 67a44cd3aa26003a6bc2cd755516c9cc12c36ca0 (patch) | |
tree | 7ecbf8e070965c1861b7da80dfabc81a03fecfdb /lib | |
parent | d223f5ee78536d30bc36b7bd295bb7ae9590c794 (diff) | |
download | external_llvm-67a44cd3aa26003a6bc2cd755516c9cc12c36ca0.zip external_llvm-67a44cd3aa26003a6bc2cd755516c9cc12c36ca0.tar.gz external_llvm-67a44cd3aa26003a6bc2cd755516c9cc12c36ca0.tar.bz2 |
Fix a minor bug in the dag combiner that broke pcompress2 and some other
tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23713 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 547bee1..0a20d9c 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -805,13 +805,12 @@ SDOperand DAGCombiner::visitAND(SDNode *N) { // before Legalize, or the resulting zextload is legal on the target, then // go ahead and do the fold. if ((N1C->getValue() == (1ULL << MVT::getSizeInBits(EVT))-1) && - (!AfterLegalize || - TargetLowering::Legal == TLI.getOperationAction(ISD::ZEXTLOAD, EVT))) { + (!AfterLegalize || TLI.isOperationLegal(ISD::ZEXTLOAD, EVT))) { SDOperand ExtLoad = DAG.getExtLoad(ISD::ZEXTLOAD, VT, N0.getOperand(0), N0.getOperand(1), N0.getOperand(2), EVT); - CombineTo(N0.Val, ExtLoad, ExtLoad.getOperand(0)); WorkList.push_back(N); + CombineTo(N0.Val, ExtLoad, ExtLoad.getValue(1)); return SDOperand(); } } @@ -827,8 +826,8 @@ SDOperand DAGCombiner::visitAND(SDNode *N) { SDOperand ExtLoad = DAG.getExtLoad(ISD::ZEXTLOAD, VT, N0.getOperand(0), N0.getOperand(1), N0.getOperand(2), EVT); - CombineTo(N0.Val, ExtLoad, ExtLoad.getOperand(0)); WorkList.push_back(N); + CombineTo(N0.Val, ExtLoad, ExtLoad.getValue(1)); return SDOperand(); } } |