Lines Matching refs:BitPart
2845 struct BitPart { struct
2846 BitPart(Value *P, unsigned BW) : Provider(P) { in BitPart() function
2889 static const Optional<BitPart> &
2891 std::map<Value *, Optional<BitPart>> &BPS, int Depth, in collectBitParts()
2928 Result = BitPart(A->Provider, BitWidth); in collectBitParts()
2930 if (A->Provenance[BitIdx] != BitPart::Unset && in collectBitParts()
2931 B->Provenance[BitIdx] != BitPart::Unset && in collectBitParts()
2935 if (A->Provenance[BitIdx] == BitPart::Unset) in collectBitParts()
2966 P.insert(P.begin(), BitShift.getZExtValue(), BitPart::Unset); in collectBitParts()
2969 P.insert(P.end(), BitShift.getZExtValue(), BitPart::Unset); in collectBitParts()
2995 Result->Provenance[BitIdx] = BitPart::Unset; in collectBitParts()
3006 Result = BitPart(Res->Provider, BitWidth); in collectBitParts()
3011 Result->Provenance[BitIdx] = BitPart::Unset; in collectBitParts()
3022 Result = BitPart(Res->Provider, BitWidth); in collectBitParts()
3036 Result = BitPart(Res->Provider, BitWidth); in collectBitParts()
3050 Result = BitPart(Res->Provider, BitWidth); in collectBitParts()
3087 Result = BitPart(LHS->Provider, BitWidth); in collectBitParts()
3104 Result = BitPart(V, BitWidth); in collectBitParts()
3146 std::map<Value *, Optional<BitPart>> BPS; in recognizeBSwapOrBitReverseIdiom()
3153 [](int8_t I) { return I == BitPart::Unset || 0 <= I; }) && in recognizeBSwapOrBitReverseIdiom()
3157 if (BitProvenance.back() == BitPart::Unset) { in recognizeBSwapOrBitReverseIdiom()
3158 while (!BitProvenance.empty() && BitProvenance.back() == BitPart::Unset) in recognizeBSwapOrBitReverseIdiom()
3179 if (BitProvenance[BitIdx] == BitPart::Unset) { in recognizeBSwapOrBitReverseIdiom()