Deleted Added
full compact
MipsSEISelDAGToDAG.cpp (280031) MipsSEISelDAGToDAG.cpp (283526)
1//===-- MipsSEISelDAGToDAG.cpp - A Dag to Dag Inst Selector for MipsSE ----===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 244 unchanged lines hidden (view full) ---

253 // that SLTu64 produces an i32. We need to fix this in the long run but for
254 // now, just make the DAG type-correct by asserting the upper bits are zero.
255 Carry = CurDAG->getMachineNode(Mips::SUBREG_TO_REG, DL, VT,
256 CurDAG->getTargetConstant(0, VT),
257 SDValue(Carry, 0),
258 CurDAG->getTargetConstant(Mips::sub_32, VT));
259 }
260
1//===-- MipsSEISelDAGToDAG.cpp - A Dag to Dag Inst Selector for MipsSE ----===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 244 unchanged lines hidden (view full) ---

253 // that SLTu64 produces an i32. We need to fix this in the long run but for
254 // now, just make the DAG type-correct by asserting the upper bits are zero.
255 Carry = CurDAG->getMachineNode(Mips::SUBREG_TO_REG, DL, VT,
256 CurDAG->getTargetConstant(0, VT),
257 SDValue(Carry, 0),
258 CurDAG->getTargetConstant(Mips::sub_32, VT));
259 }
260
261 SDNode *AddCarry = CurDAG->getMachineNode(ADDuOp, DL, VT,
262 SDValue(Carry, 0), RHS);
261 // Generate a second addition only if we know that RHS is not a
262 // constant-zero node.
263 SDNode *AddCarry = Carry;
264 ConstantSDNode *C = dyn_cast<ConstantSDNode>(RHS);
265 if (!C || C->getZExtValue())
266 AddCarry = CurDAG->getMachineNode(ADDuOp, DL, VT, SDValue(Carry, 0), RHS);
263
264 return CurDAG->SelectNodeTo(Node, MOp, VT, MVT::Glue, LHS,
265 SDValue(AddCarry, 0));
266}
267
268/// Match frameindex
269bool MipsSEDAGToDAGISel::selectAddrFrameIndex(SDValue Addr, SDValue &Base,
270 SDValue &Offset) const {

--- 625 unchanged lines hidden ---
267
268 return CurDAG->SelectNodeTo(Node, MOp, VT, MVT::Glue, LHS,
269 SDValue(AddCarry, 0));
270}
271
272/// Match frameindex
273bool MipsSEDAGToDAGISel::selectAddrFrameIndex(SDValue Addr, SDValue &Base,
274 SDValue &Offset) const {

--- 625 unchanged lines hidden ---