Lines Matching refs:UsefulBits

1779 static void getUsefulBits(SDValue Op, APInt &UsefulBits, unsigned Depth = 0);
1781 static void getUsefulBitsFromAndWithImmediate(SDValue Op, APInt &UsefulBits, in getUsefulBitsFromAndWithImmediate() argument
1785 Imm = AArch64_AM::decodeLogicalImmediate(Imm, UsefulBits.getBitWidth()); in getUsefulBitsFromAndWithImmediate()
1786 UsefulBits &= APInt(UsefulBits.getBitWidth(), Imm); in getUsefulBitsFromAndWithImmediate()
1787 getUsefulBits(Op, UsefulBits, Depth + 1); in getUsefulBitsFromAndWithImmediate()
1790 static void getUsefulBitsFromBitfieldMoveOpd(SDValue Op, APInt &UsefulBits, in getUsefulBitsFromBitfieldMoveOpd() argument
1794 APInt OpUsefulBits(UsefulBits); in getUsefulBitsFromBitfieldMoveOpd()
1814 UsefulBits &= OpUsefulBits; in getUsefulBitsFromBitfieldMoveOpd()
1817 static void getUsefulBitsFromUBFM(SDValue Op, APInt &UsefulBits, in getUsefulBitsFromUBFM() argument
1824 getUsefulBitsFromBitfieldMoveOpd(Op, UsefulBits, Imm, MSB, Depth); in getUsefulBitsFromUBFM()
1827 static void getUsefulBitsFromOrWithShiftedReg(SDValue Op, APInt &UsefulBits, in getUsefulBitsFromOrWithShiftedReg() argument
1831 APInt Mask(UsefulBits); in getUsefulBitsFromOrWithShiftedReg()
1852 UsefulBits &= Mask; in getUsefulBitsFromOrWithShiftedReg()
1855 static void getUsefulBitsFromBFM(SDValue Op, SDValue Orig, APInt &UsefulBits, in getUsefulBitsFromBFM() argument
1863 return getUsefulBitsFromBitfieldMoveOpd(Op, UsefulBits, Imm, MSB, Depth); in getUsefulBitsFromBFM()
1865 APInt OpUsefulBits(UsefulBits); in getUsefulBitsFromBFM()
1871 UsefulBits &= ~OpUsefulBits; in getUsefulBitsFromBFM()
1872 getUsefulBits(Op, UsefulBits, Depth + 1); in getUsefulBitsFromBFM()
1876 UsefulBits = ~(OpUsefulBits.shl(OpUsefulBits.getBitWidth() - Imm)); in getUsefulBitsFromBFM()
1877 getUsefulBits(Op, UsefulBits, Depth + 1); in getUsefulBitsFromBFM()
1881 static void getUsefulBitsForUse(SDNode *UserNode, APInt &UsefulBits, in getUsefulBitsForUse() argument
1897 return getUsefulBitsFromAndWithImmediate(SDValue(UserNode, 0), UsefulBits, in getUsefulBitsForUse()
1901 return getUsefulBitsFromUBFM(SDValue(UserNode, 0), UsefulBits, Depth); in getUsefulBitsForUse()
1907 return getUsefulBitsFromOrWithShiftedReg(SDValue(UserNode, 0), UsefulBits, in getUsefulBitsForUse()
1911 return getUsefulBitsFromBFM(SDValue(UserNode, 0), Orig, UsefulBits, Depth); in getUsefulBitsForUse()
1917 UsefulBits &= APInt(UsefulBits.getBitWidth(), 0xff); in getUsefulBitsForUse()
1924 UsefulBits &= APInt(UsefulBits.getBitWidth(), 0xffff); in getUsefulBitsForUse()
1929 static void getUsefulBits(SDValue Op, APInt &UsefulBits, unsigned Depth) { in getUsefulBits() argument
1936 UsefulBits = APInt(Bitwidth, 0); in getUsefulBits()
1937 UsefulBits.flipAllBits(); in getUsefulBits()
1939 APInt UsersUsefulBits(UsefulBits.getBitWidth(), 0); in getUsefulBits()
1943 APInt UsefulBitsForUse = APInt(UsefulBits); in getUsefulBits()
1950 UsefulBits &= UsersUsefulBits; in getUsefulBits()
2136 static bool tryBitfieldInsertOpFromOr(SDNode *N, const APInt &UsefulBits, in tryBitfieldInsertOpFromOr() argument
2149 unsigned NumberOfIgnoredLowBits = UsefulBits.countTrailingZeros(); in tryBitfieldInsertOpFromOr()
2150 unsigned NumberOfIgnoredHighBits = UsefulBits.countLeadingZeros(); in tryBitfieldInsertOpFromOr()