Lines Matching refs:dwarf

38   return (getTag() == dwarf::DW_TAG_LLVM_ptrauth_type ? 0 : SubclassData32);  in getAlignInBits()
288 dwarf::Tag DINode::getTag() const { return (dwarf::Tag)SubclassData16; } in getTag()
391 dwarf::Tag GenericDINode::getTag() const { return (dwarf::Tag)SubclassData16; } in getTag()
453 : DINode(C, DISubrangeKind, Storage, dwarf::DW_TAG_subrange_type, Ops) {} in DISubrange()
566 : DINode(C, DIGenericSubrangeKind, Storage, dwarf::DW_TAG_generic_subrange, in DIGenericSubrange()
650 : DINode(C, DIEnumeratorKind, Storage, dwarf::DW_TAG_enumerator, Ops), in DIEnumerator()
678 case dwarf::DW_ATE_signed: in getSignedness()
679 case dwarf::DW_ATE_signed_char: in getSignedness()
681 case dwarf::DW_ATE_unsigned: in getSignedness()
682 case dwarf::DW_ATE_unsigned_char: in getSignedness()
706 assert(getTag() == dwarf::DW_TAG_ptr_to_member_type); in getClassType()
710 assert(getTag() == dwarf::DW_TAG_inheritance); in getVBPtrOffset()
717 assert(getTag() == dwarf::DW_TAG_member && isBitField()); in getStorageOffsetInBits()
724 assert((getTag() == dwarf::DW_TAG_member || in getConstant()
725 getTag() == dwarf::DW_TAG_variable) && in getConstant()
732 assert(getTag() == dwarf::DW_TAG_member && !isStaticMember()); in getDiscriminantValue()
759 return getTag() == dwarf::DW_TAG_LLVM_ptrauth_type in getPtrAuthData()
869 : DIType(C, DISubroutineTypeKind, Storage, dwarf::DW_TAG_subroutine_type, 0, in DISubroutineType()
885 : DIScope(C, DIFileKind, Storage, dwarf::DW_TAG_file_type, Ops), in DIFile()
933 : DIScope(C, DICompileUnitKind, Storage, dwarf::DW_TAG_compile_unit, Ops), in DICompileUnit()
1026 : DILocalScope(C, DISubprogramKind, Storage, dwarf::DW_TAG_subprogram, Ops), in DISubprogram()
1029 static_assert(dwarf::DW_VIRTUALITY_max < 4, "Virtuality out of range"); in DISubprogram()
1035 static_assert(int(SPFlagVirtual) == int(dwarf::DW_VIRTUALITY_virtual) && in toSPFlags()
1037 int(dwarf::DW_VIRTUALITY_pure_virtual), in toSPFlags()
1172 : DILocalScope(C, ID, Storage, dwarf::DW_TAG_lexical_block, Ops) {} in DILexicalBlockBase()
1200 : DIScope(Context, DINamespaceKind, Storage, dwarf::DW_TAG_namespace, Ops) { in DINamespace()
1215 : DIScope(Context, DICommonBlockKind, Storage, dwarf::DW_TAG_common_block, in DICommonBlock()
1232 : DIScope(Context, DIModuleKind, Storage, dwarf::DW_TAG_module, Ops) { in DIModule()
1254 dwarf::DW_TAG_template_type_parameter, IsDefault, in DITemplateTypeParameter()
1324 : DINode(C, ID, Storage, dwarf::DW_TAG_variable, Ops), Line(Line) { in DIVariable()
1352 : DINode(C, DILabelKind, Storage, dwarf::DW_TAG_label, Ops) { in DILabel()
1374 (*singleLocElts)[0] == dwarf::DW_OP_LLVM_entry_value; in isEntryValue()
1381 (*singleLocElts)[0] == dwarf::DW_OP_deref; in startsWithDeref()
1387 (*singleLocElts)[0] == dwarf::DW_OP_deref; in isDeref()
1401 if (Op >= dwarf::DW_OP_breg0 && Op <= dwarf::DW_OP_breg31) in getSize()
1405 case dwarf::DW_OP_LLVM_convert: in getSize()
1406 case dwarf::DW_OP_LLVM_fragment: in getSize()
1407 case dwarf::DW_OP_LLVM_extract_bits_sext: in getSize()
1408 case dwarf::DW_OP_LLVM_extract_bits_zext: in getSize()
1409 case dwarf::DW_OP_bregx: in getSize()
1411 case dwarf::DW_OP_constu: in getSize()
1412 case dwarf::DW_OP_consts: in getSize()
1413 case dwarf::DW_OP_deref_size: in getSize()
1414 case dwarf::DW_OP_plus_uconst: in getSize()
1415 case dwarf::DW_OP_LLVM_tag_offset: in getSize()
1416 case dwarf::DW_OP_LLVM_entry_value: in getSize()
1417 case dwarf::DW_OP_LLVM_arg: in getSize()
1418 case dwarf::DW_OP_regx: in getSize()
1432 if ((Op >= dwarf::DW_OP_reg0 && Op <= dwarf::DW_OP_reg31) || in isValid()
1433 (Op >= dwarf::DW_OP_breg0 && Op <= dwarf::DW_OP_breg31)) in isValid()
1440 case dwarf::DW_OP_LLVM_fragment: in isValid()
1443 case dwarf::DW_OP_stack_value: { in isValid()
1448 if ((++J)->getOp() != dwarf::DW_OP_LLVM_fragment) in isValid()
1452 case dwarf::DW_OP_swap: { in isValid()
1464 case dwarf::DW_OP_LLVM_entry_value: { in isValid()
1471 if (FirstOp->getOp() == dwarf::DW_OP_LLVM_arg && FirstOp->getArg(0) == 0) in isValid()
1475 case dwarf::DW_OP_LLVM_implicit_pointer: in isValid()
1476 case dwarf::DW_OP_LLVM_convert: in isValid()
1477 case dwarf::DW_OP_LLVM_arg: in isValid()
1478 case dwarf::DW_OP_LLVM_tag_offset: in isValid()
1479 case dwarf::DW_OP_LLVM_extract_bits_sext: in isValid()
1480 case dwarf::DW_OP_LLVM_extract_bits_zext: in isValid()
1481 case dwarf::DW_OP_constu: in isValid()
1482 case dwarf::DW_OP_plus_uconst: in isValid()
1483 case dwarf::DW_OP_plus: in isValid()
1484 case dwarf::DW_OP_minus: in isValid()
1485 case dwarf::DW_OP_mul: in isValid()
1486 case dwarf::DW_OP_div: in isValid()
1487 case dwarf::DW_OP_mod: in isValid()
1488 case dwarf::DW_OP_or: in isValid()
1489 case dwarf::DW_OP_and: in isValid()
1490 case dwarf::DW_OP_xor: in isValid()
1491 case dwarf::DW_OP_shl: in isValid()
1492 case dwarf::DW_OP_shr: in isValid()
1493 case dwarf::DW_OP_shra: in isValid()
1494 case dwarf::DW_OP_deref: in isValid()
1495 case dwarf::DW_OP_deref_size: in isValid()
1496 case dwarf::DW_OP_xderef: in isValid()
1497 case dwarf::DW_OP_lit0: in isValid()
1498 case dwarf::DW_OP_not: in isValid()
1499 case dwarf::DW_OP_dup: in isValid()
1500 case dwarf::DW_OP_regx: in isValid()
1501 case dwarf::DW_OP_bregx: in isValid()
1502 case dwarf::DW_OP_push_object_address: in isValid()
1503 case dwarf::DW_OP_over: in isValid()
1504 case dwarf::DW_OP_consts: in isValid()
1505 case dwarf::DW_OP_eq: in isValid()
1506 case dwarf::DW_OP_ne: in isValid()
1507 case dwarf::DW_OP_gt: in isValid()
1508 case dwarf::DW_OP_ge: in isValid()
1509 case dwarf::DW_OP_lt: in isValid()
1510 case dwarf::DW_OP_le: in isValid()
1528 case dwarf::DW_OP_stack_value: in isImplicit()
1547 case dwarf::DW_OP_LLVM_tag_offset: in isComplex()
1548 case dwarf::DW_OP_LLVM_fragment: in isComplex()
1549 case dwarf::DW_OP_LLVM_arg: in isComplex()
1568 if (ExprOpBegin->getOp() == dwarf::DW_OP_LLVM_arg) { in isSingleLocationExpression()
1575 return Op.getOp() == dwarf::DW_OP_LLVM_arg; in isSingleLocationExpression()
1591 if (getElements()[0] == dwarf::DW_OP_LLVM_arg) in getSingleLocationExpressionElements()
1600 UndefOps.append({dwarf::DW_OP_LLVM_fragment, FragmentInfo->OffsetInBits, in convertToUndefExpression()
1609 return ExprOp.getOp() == dwarf::DW_OP_LLVM_arg; in convertToVariadicExpression()
1614 NewOps.append({dwarf::DW_OP_LLVM_arg, 0}); in convertToVariadicExpression()
1636 return ExprOp.getOp() == dwarf::DW_OP_LLVM_arg; in canonicalizeExpressionOps()
1638 Ops.append({dwarf::DW_OP_LLVM_arg, 0}); in canonicalizeExpressionOps()
1649 if (Op.getOp() == dwarf::DW_OP_stack_value || in canonicalizeExpressionOps()
1650 Op.getOp() == dwarf::DW_OP_LLVM_fragment) { in canonicalizeExpressionOps()
1651 Ops.push_back(dwarf::DW_OP_deref); in canonicalizeExpressionOps()
1657 Ops.push_back(dwarf::DW_OP_deref); in canonicalizeExpressionOps()
1675 if (I->getOp() == dwarf::DW_OP_LLVM_fragment) { in getFragmentInfo()
1692 case dwarf::DW_OP_LLVM_extract_bits_zext: in getActiveBits()
1693 case dwarf::DW_OP_LLVM_extract_bits_sext: { in getActiveBits()
1698 bool OpSigned = (Op.getOp() == dwarf::DW_OP_LLVM_extract_bits_sext); in getActiveBits()
1705 case dwarf::DW_OP_LLVM_fragment: in getActiveBits()
1720 Ops.push_back(dwarf::DW_OP_plus_uconst); in appendOffset()
1723 Ops.push_back(dwarf::DW_OP_constu); in appendOffset()
1728 Ops.push_back(dwarf::DW_OP_minus); in appendOffset()
1744 SingleLocElts[0] == dwarf::DW_OP_plus_uconst) { in extractIfOffset()
1749 if (SingleLocElts.size() == 3 && SingleLocElts[0] == dwarf::DW_OP_constu) { in extractIfOffset()
1750 if (SingleLocElts[2] == dwarf::DW_OP_plus) { in extractIfOffset()
1754 if (SingleLocElts[2] == dwarf::DW_OP_minus) { in extractIfOffset()
1776 if (Op == dwarf::DW_OP_deref || Op == dwarf::DW_OP_deref_size || in extractLeadingOffset()
1777 Op == dwarf::DW_OP_deref_type || Op == dwarf::DW_OP_LLVM_fragment || in extractLeadingOffset()
1778 Op == dwarf::DW_OP_LLVM_extract_bits_zext || in extractLeadingOffset()
1779 Op == dwarf::DW_OP_LLVM_extract_bits_sext) { in extractLeadingOffset()
1781 } else if (Op == dwarf::DW_OP_plus_uconst) { in extractLeadingOffset()
1783 } else if (Op == dwarf::DW_OP_constu) { in extractLeadingOffset()
1786 if (ExprOpIt->getOp() == dwarf::DW_OP_plus) in extractLeadingOffset()
1788 else if (ExprOpIt->getOp() == dwarf::DW_OP_minus) in extractLeadingOffset()
1805 if (ExprOp.getOp() == dwarf::DW_OP_LLVM_arg) in hasAllLocationOps()
1824 SingleLocElts[PatternSize - 4] == dwarf::DW_OP_constu && in extractAddressClass()
1825 SingleLocElts[PatternSize - 2] == dwarf::DW_OP_swap && in extractAddressClass()
1826 SingleLocElts[PatternSize - 1] == dwarf::DW_OP_xderef) { in extractAddressClass()
1842 Ops.push_back(dwarf::DW_OP_deref); in prepend()
1846 Ops.push_back(dwarf::DW_OP_deref); in prepend()
1861 [](auto Op) { return Op.getOp() == dwarf::DW_OP_LLVM_arg; })) { in appendOpsToArg()
1872 if (Op.getOp() == dwarf::DW_OP_stack_value) in appendOpsToArg()
1874 else if (Op.getOp() == dwarf::DW_OP_LLVM_fragment) { in appendOpsToArg()
1875 NewOps.push_back(dwarf::DW_OP_stack_value); in appendOpsToArg()
1880 if (Op.getOp() == dwarf::DW_OP_LLVM_arg && Op.getArg(0) == ArgNo) in appendOpsToArg()
1884 NewOps.push_back(dwarf::DW_OP_stack_value); in appendOpsToArg()
1896 if (Op.getOp() != dwarf::DW_OP_LLVM_arg || Op.getArg(0) < OldArg) { in replaceArg()
1900 NewOps.push_back(dwarf::DW_OP_LLVM_arg); in replaceArg()
1917 Ops.push_back(dwarf::DW_OP_LLVM_entry_value); in prependOpcodes()
1930 if (Op.getOp() == dwarf::DW_OP_stack_value) in prependOpcodes()
1932 else if (Op.getOp() == dwarf::DW_OP_LLVM_fragment) { in prependOpcodes()
1933 Ops.push_back(dwarf::DW_OP_stack_value); in prependOpcodes()
1940 Ops.push_back(dwarf::DW_OP_stack_value); in prependOpcodes()
1952 if (Op.getOp() == dwarf::DW_OP_stack_value || in append()
1953 Op.getOp() == dwarf::DW_OP_LLVM_fragment) { in append()
1974 return Op.getOp() == dwarf::DW_OP_stack_value || in appendToStack()
1975 Op.getOp() == dwarf::DW_OP_LLVM_fragment; in appendToStack()
1988 (ExprOpsBeforeFragment.back() != dwarf::DW_OP_stack_value); in appendToStack()
1995 NewOps.push_back(dwarf::DW_OP_deref); in appendToStack()
1998 NewOps.push_back(dwarf::DW_OP_stack_value); in appendToStack()
2016 case dwarf::DW_OP_shr: in createFragmentExpression()
2017 case dwarf::DW_OP_shra: in createFragmentExpression()
2018 case dwarf::DW_OP_shl: in createFragmentExpression()
2019 case dwarf::DW_OP_plus: in createFragmentExpression()
2020 case dwarf::DW_OP_plus_uconst: in createFragmentExpression()
2021 case dwarf::DW_OP_minus: in createFragmentExpression()
2029 case dwarf::DW_OP_deref: in createFragmentExpression()
2030 case dwarf::DW_OP_deref_size: in createFragmentExpression()
2031 case dwarf::DW_OP_deref_type: in createFragmentExpression()
2032 case dwarf::DW_OP_xderef: in createFragmentExpression()
2033 case dwarf::DW_OP_xderef_size: in createFragmentExpression()
2034 case dwarf::DW_OP_xderef_type: in createFragmentExpression()
2039 case dwarf::DW_OP_stack_value: in createFragmentExpression()
2044 case dwarf::DW_OP_LLVM_fragment: { in createFragmentExpression()
2059 case dwarf::DW_OP_LLVM_extract_bits_zext: in createFragmentExpression()
2060 case dwarf::DW_OP_LLVM_extract_bits_sext: { in createFragmentExpression()
2087 Ops.push_back(dwarf::DW_OP_LLVM_fragment); in createFragmentExpression()
2182 case dwarf::DW_OP_LLVM_convert: in constantFold()
2186 if (Op.getArg(1) == dwarf::DW_ATE_signed) in constantFold()
2189 assert(Op.getArg(1) == dwarf::DW_ATE_unsigned && "Unexpected operand"); in constantFold()
2205 if (ExprOp.getOp() == dwarf::DW_OP_LLVM_arg) in getNumLocationOperands()
2223 (getElement(0) != dwarf::DW_OP_consts && in isConstant()
2224 getElement(0) != dwarf::DW_OP_constu)) in isConstant()
2227 if (getNumElements() == 2 && getElement(0) == dwarf::DW_OP_consts) in isConstant()
2230 if ((getNumElements() == 3 && getElement(2) != dwarf::DW_OP_stack_value) || in isConstant()
2231 (getNumElements() == 6 && (getElement(2) != dwarf::DW_OP_stack_value || in isConstant()
2232 getElement(3) != dwarf::DW_OP_LLVM_fragment))) in isConstant()
2234 return getElement(0) == dwarf::DW_OP_constu in isConstant()
2241 dwarf::TypeKind TK = Signed ? dwarf::DW_ATE_signed : dwarf::DW_ATE_unsigned; in getExtOps()
2242 DIExpression::ExtOps Ops{{dwarf::DW_OP_LLVM_convert, FromSize, TK, in getExtOps()
2243 dwarf::DW_OP_LLVM_convert, ToSize, TK}}; in getExtOps()
2264 : DINode(C, DIObjCPropertyKind, Storage, dwarf::DW_TAG_APPLE_property, Ops), in DIObjCProperty()