forked from OSchip/llvm-project
parent
d7c0be9c42
commit
e452998b4b
|
@ -1030,7 +1030,7 @@ public:
|
|||
SDNodeFlags Flags;
|
||||
BinaryWithFlagsSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
SDValue X, SDValue Y)
|
||||
: BinarySDNode(Opc, Order, dl, VTs, X, Y), Flags() { }
|
||||
: BinarySDNode(Opc, Order, dl, VTs, X, Y), Flags() {}
|
||||
static bool classof(const SDNode *N) {
|
||||
return isBinOpWithFlags(N->getOpcode());
|
||||
}
|
||||
|
|
|
@ -515,10 +515,9 @@ static void AddNodeIDCustom(FoldingSetNodeID &ID, const SDNode *N) {
|
|||
case ISD::SUB:
|
||||
case ISD::SHL: {
|
||||
const BinaryWithFlagsSDNode *BinNode = cast<BinaryWithFlagsSDNode>(N);
|
||||
AddBinaryNodeIDCustom(ID, N->getOpcode(),
|
||||
BinNode->Flags.hasNoUnsignedWrap(),
|
||||
BinNode->Flags.hasNoSignedWrap(),
|
||||
BinNode->Flags.hasExact());
|
||||
AddBinaryNodeIDCustom(
|
||||
ID, N->getOpcode(), BinNode->Flags.hasNoUnsignedWrap(),
|
||||
BinNode->Flags.hasNoSignedWrap(), BinNode->Flags.hasExact());
|
||||
break;
|
||||
}
|
||||
case ISD::ATOMIC_CMP_SWAP:
|
||||
|
|
|
@ -2658,8 +2658,8 @@ SDValue TargetLowering::BuildExactSDIV(SDValue Op1, SDValue Op2, SDLoc dl,
|
|||
unsigned ShAmt = d.countTrailingZeros();
|
||||
if (ShAmt) {
|
||||
// TODO: For UDIV use SRL instead of SRA.
|
||||
SDValue Amt = DAG.getConstant(ShAmt, dl,
|
||||
getShiftAmountTy(Op1.getValueType()));
|
||||
SDValue Amt =
|
||||
DAG.getConstant(ShAmt, dl, getShiftAmountTy(Op1.getValueType()));
|
||||
Op1 = DAG.getNode(ISD::SRA, dl, Op1.getValueType(), Op1, Amt, false, false,
|
||||
true);
|
||||
d = d.ashr(ShAmt);
|
||||
|
|
Loading…
Reference in New Issue