reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
11464 if (!Op->hasOneUse()) 11465 return Op; 11473 if (Op->getOpcode() == ISD::TRUNCATE && 11474 Bit < Op->getValueType(0).getSizeInBits()) { 11475 return getTestBitOperand(Op->getOperand(0), Bit, Invert, DAG); 11479 if (Op->getOpcode() == ISD::ANY_EXTEND && 11480 Bit < Op->getOperand(0).getValueSizeInBits()) { 11481 return getTestBitOperand(Op->getOperand(0), Bit, Invert, DAG); 11484 if (Op->getNumOperands() != 2) 11485 return Op; 11487 auto *C = dyn_cast<ConstantSDNode>(Op->getOperand(1)); 11489 return Op; 11491 switch (Op->getOpcode()) { 11493 return Op; 11498 return getTestBitOperand(Op->getOperand(0), Bit, Invert, DAG); 11499 return Op; 11504 (Bit - C->getZExtValue()) < Op->getValueType(0).getSizeInBits()) { 11506 return getTestBitOperand(Op->getOperand(0), Bit, Invert, DAG); 11508 return Op; 11513 if (Bit >= Op->getValueType(0).getSizeInBits()) 11514 Bit = Op->getValueType(0).getSizeInBits() - 1; 11515 return getTestBitOperand(Op->getOperand(0), Bit, Invert, DAG); 11519 if ((Bit + C->getZExtValue()) < Op->getValueType(0).getSizeInBits()) { 11521 return getTestBitOperand(Op->getOperand(0), Bit, Invert, DAG); 11523 return Op; 11529 return getTestBitOperand(Op->getOperand(0), Bit, Invert, DAG);