Lines Matching defs:UsefulBits

2849 static void getUsefulBits(SDValue Op, APInt &UsefulBits, unsigned Depth = 0);
2851 static void getUsefulBitsFromAndWithImmediate(SDValue Op, APInt &UsefulBits,
2855 Imm = AArch64_AM::decodeLogicalImmediate(Imm, UsefulBits.getBitWidth());
2856 UsefulBits &= APInt(UsefulBits.getBitWidth(), Imm);
2857 getUsefulBits(Op, UsefulBits, Depth + 1);
2860 static void getUsefulBitsFromBitfieldMoveOpd(SDValue Op, APInt &UsefulBits,
2864 APInt OpUsefulBits(UsefulBits);
2884 UsefulBits &= OpUsefulBits;
2887 static void getUsefulBitsFromUBFM(SDValue Op, APInt &UsefulBits,
2894 getUsefulBitsFromBitfieldMoveOpd(Op, UsefulBits, Imm, MSB, Depth);
2897 static void getUsefulBitsFromOrWithShiftedReg(SDValue Op, APInt &UsefulBits,
2901 APInt Mask(UsefulBits);
2922 UsefulBits &= Mask;
2925 static void getUsefulBitsFromBFM(SDValue Op, SDValue Orig, APInt &UsefulBits,
2932 APInt OpUsefulBits(UsefulBits);
2935 APInt ResultUsefulBits(UsefulBits.getBitWidth(), 0);
2937 APInt Mask(UsefulBits.getBitWidth(), 0);
2961 uint64_t LSB = UsefulBits.getBitWidth() - Imm;
2977 UsefulBits &= Mask;
2980 static void getUsefulBitsForUse(SDNode *UserNode, APInt &UsefulBits,
2996 return getUsefulBitsFromAndWithImmediate(SDValue(UserNode, 0), UsefulBits,
3000 return getUsefulBitsFromUBFM(SDValue(UserNode, 0), UsefulBits, Depth);
3005 getUsefulBitsFromOrWithShiftedReg(SDValue(UserNode, 0), UsefulBits,
3010 return getUsefulBitsFromBFM(SDValue(UserNode, 0), Orig, UsefulBits, Depth);
3016 UsefulBits &= APInt(UsefulBits.getBitWidth(), 0xff);
3023 UsefulBits &= APInt(UsefulBits.getBitWidth(), 0xffff);
3028 static void getUsefulBits(SDValue Op, APInt &UsefulBits, unsigned Depth) {
3031 // Initialize UsefulBits
3035 UsefulBits = APInt(Bitwidth, 0);
3036 UsefulBits.flipAllBits();
3038 APInt UsersUsefulBits(UsefulBits.getBitWidth(), 0);
3042 APInt UsefulBitsForUse = APInt(UsefulBits);
3046 // UsefulBits contains the produced bits that are meaningful for the
3049 UsefulBits &= UsersUsefulBits;
3555 static bool tryBitfieldInsertOpFromOr(SDNode *N, const APInt &UsefulBits,
3568 unsigned NumberOfIgnoredLowBits = UsefulBits.countr_zero();
3569 unsigned NumberOfIgnoredHighBits = UsefulBits.countl_zero();