Home
last modified time | relevance | path

Searched refs:InnerShift (Results 1 – 2 of 2) sorted by relevance

/openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/
H A DInstCombineShifts.cpp475 Instruction *InnerShift, in canEvaluateShiftedShift() argument
477 assert(InnerShift->isLogicalShift() && "Unexpected instruction type"); in canEvaluateShiftedShift()
481 if (!match(InnerShift->getOperand(1), m_APInt(InnerShiftConst))) in canEvaluateShiftedShift()
487 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl; in canEvaluateShiftedShift()
503 unsigned TypeWidth = InnerShift->getType()->getScalarSizeInBits(); in canEvaluateShiftedShift()
509 if (IC.MaskedValueIsZero(InnerShift->getOperand(0), Mask, 0, CxtI)) in canEvaluateShiftedShift()
581 static Value *foldShiftedShift(BinaryOperator *InnerShift, unsigned OuterShAmt, in foldShiftedShift() argument
584 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl; in foldShiftedShift()
585 Type *ShType = InnerShift->getType(); in foldShiftedShift()
590 match(InnerShift->getOperand(1), m_APInt(C1)); in foldShiftedShift()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp6031 unsigned InnerShift; // The opposite direction to the OuterShift. in unfoldExtremeBitClearingToShifts() local
6033 auto matchMask = [&OuterShift, &InnerShift, &Y](SDValue M) -> bool { in unfoldExtremeBitClearingToShifts()
6038 InnerShift = ISD::SRL; in unfoldExtremeBitClearingToShifts()
6040 InnerShift = ISD::SHL; in unfoldExtremeBitClearingToShifts()
6061 SDValue T0 = DAG.getNode(InnerShift, DL, VT, X, Y); in unfoldExtremeBitClearingToShifts()
9790 SDValue InnerShift = N0.getOperand(0); in visitSRL() local
9792 if (auto *N001C = isConstOrConstSplat(InnerShift.getOperand(1))) { in visitSRL()
9795 EVT InnerShiftVT = InnerShift.getValueType(); in visitSRL()
9796 EVT ShiftAmtVT = InnerShift.getOperand(1).getValueType(); in visitSRL()
9806 InnerShift.getOperand(0), NewShiftAmt); in visitSRL()
[all …]