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

/freebsd-current/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineShifts.cpp508 /// that have constant shift amounts: OuterShift (InnerShift X, C1), C2.
510 Instruction *InnerShift,
512 assert(InnerShift->isLogicalShift() && "Unexpected instruction type");
516 if (!match(InnerShift->getOperand(1), m_APInt(InnerShiftConst)))
522 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl;
538 unsigned TypeWidth = InnerShift->getType()->getScalarSizeInBits();
544 if (IC.MaskedValueIsZero(InnerShift->getOperand(0), Mask, 0, CxtI))
613 /// Fold OuterShift (InnerShift X, C1), C2.
615 static Value *foldShiftedShift(BinaryOperator *InnerShift, unsigned OuterShAmt, argument
618 bool IsInnerShl = InnerShift
509 canEvaluateShiftedShift(unsigned OuterShAmt, bool IsOuterShl, Instruction *InnerShift, InstCombinerImpl &IC, Instruction *CxtI) argument
[all...]
/freebsd-current/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp6717 unsigned InnerShift; // The opposite direction to the OuterShift. local
6719 auto matchMask = [&OuterShift, &InnerShift, &Y](SDValue M) -> bool {
6724 InnerShift = ISD::SRL;
6726 InnerShift = ISD::SHL;
6747 SDValue T0 = DAG.getNode(InnerShift, DL, VT, X, Y);
10555 SDValue InnerShift = N0.getOperand(0); local
10557 if (auto *N001C = isConstOrConstSplat(InnerShift.getOperand(1))) {
10560 EVT InnerShiftVT = InnerShift.getValueType();
10561 EVT ShiftAmtVT = InnerShift.getOperand(1).getValueType();
10571 InnerShift
[all...]

Completed in 132 milliseconds