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 --- |