Lines Matching refs:dwarf
184 dwarf::Tag DINode::getTag() const { return (dwarf::Tag)SubclassData16; } in getTag()
287 dwarf::Tag GenericDINode::getTag() const { return (dwarf::Tag)SubclassData16; } in getTag()
350 : DINode(C, DISubrangeKind, Storage, dwarf::DW_TAG_subrange_type, Ops) {} in DISubrange()
463 : DINode(C, DIGenericSubrangeKind, Storage, dwarf::DW_TAG_generic_subrange, in DIGenericSubrange()
547 : DINode(C, DIEnumeratorKind, Storage, dwarf::DW_TAG_enumerator, Ops), in DIEnumerator()
575 case dwarf::DW_ATE_signed: in getSignedness()
576 case dwarf::DW_ATE_signed_char: in getSignedness()
578 case dwarf::DW_ATE_unsigned: in getSignedness()
579 case dwarf::DW_ATE_unsigned_char: in getSignedness()
603 assert(getTag() == dwarf::DW_TAG_ptr_to_member_type); in getClassType()
607 assert(getTag() == dwarf::DW_TAG_inheritance); in getVBPtrOffset()
614 assert(getTag() == dwarf::DW_TAG_member && isBitField()); in getStorageOffsetInBits()
621 assert(getTag() == dwarf::DW_TAG_member && isStaticMember()); in getConstant()
627 assert(getTag() == dwarf::DW_TAG_member && !isStaticMember()); in getDiscriminantValue()
756 : DIType(C, DISubroutineTypeKind, Storage, dwarf::DW_TAG_subroutine_type, 0, in DISubroutineType()
772 : DIScope(C, DIFileKind, Storage, dwarf::DW_TAG_file_type, Ops), in DIFile()
819 : DIScope(C, DICompileUnitKind, Storage, dwarf::DW_TAG_compile_unit, Ops), in DICompileUnit()
909 : DILocalScope(C, DISubprogramKind, Storage, dwarf::DW_TAG_subprogram, Ops), in DISubprogram()
912 static_assert(dwarf::DW_VIRTUALITY_max < 4, "Virtuality out of range"); in DISubprogram()
918 static_assert(int(SPFlagVirtual) == int(dwarf::DW_VIRTUALITY_virtual) && in toSPFlags()
920 int(dwarf::DW_VIRTUALITY_pure_virtual), in toSPFlags()
1026 : DILocalScope(C, ID, Storage, dwarf::DW_TAG_lexical_block, Ops) {} in DILexicalBlockBase()
1054 : DIScope(Context, DINamespaceKind, Storage, dwarf::DW_TAG_namespace, Ops), in DINamespace()
1068 : DIScope(Context, DICommonBlockKind, Storage, dwarf::DW_TAG_common_block, in DICommonBlock()
1084 : DIScope(Context, DIModuleKind, Storage, dwarf::DW_TAG_module, Ops), in DIModule()
1104 dwarf::DW_TAG_template_type_parameter, IsDefault, in DITemplateTypeParameter()
1174 : DINode(C, ID, Storage, dwarf::DW_TAG_variable, Ops), Line(Line), in DIVariable()
1201 : DINode(C, DILabelKind, Storage, dwarf::DW_TAG_label, Ops), Line(Line) {} in DILabel()
1219 return getNumElements() > 0 && getElement(0) == dwarf::DW_OP_LLVM_entry_value; in isEntryValue()
1222 return getNumElements() > 0 && getElement(0) == dwarf::DW_OP_deref; in startsWithDeref()
1228 if (Op >= dwarf::DW_OP_breg0 && Op <= dwarf::DW_OP_breg31) in getSize()
1232 case dwarf::DW_OP_LLVM_convert: in getSize()
1233 case dwarf::DW_OP_LLVM_fragment: in getSize()
1234 case dwarf::DW_OP_bregx: in getSize()
1236 case dwarf::DW_OP_constu: in getSize()
1237 case dwarf::DW_OP_consts: in getSize()
1238 case dwarf::DW_OP_deref_size: in getSize()
1239 case dwarf::DW_OP_plus_uconst: in getSize()
1240 case dwarf::DW_OP_LLVM_tag_offset: in getSize()
1241 case dwarf::DW_OP_LLVM_entry_value: in getSize()
1242 case dwarf::DW_OP_LLVM_arg: in getSize()
1243 case dwarf::DW_OP_regx: in getSize()
1257 if ((Op >= dwarf::DW_OP_reg0 && Op <= dwarf::DW_OP_reg31) || in isValid()
1258 (Op >= dwarf::DW_OP_breg0 && Op <= dwarf::DW_OP_breg31)) in isValid()
1265 case dwarf::DW_OP_LLVM_fragment: in isValid()
1268 case dwarf::DW_OP_stack_value: { in isValid()
1273 if ((++J)->getOp() != dwarf::DW_OP_LLVM_fragment) in isValid()
1277 case dwarf::DW_OP_swap: { in isValid()
1289 case dwarf::DW_OP_LLVM_entry_value: { in isValid()
1297 case dwarf::DW_OP_LLVM_implicit_pointer: in isValid()
1298 case dwarf::DW_OP_LLVM_convert: in isValid()
1299 case dwarf::DW_OP_LLVM_arg: in isValid()
1300 case dwarf::DW_OP_LLVM_tag_offset: in isValid()
1301 case dwarf::DW_OP_constu: in isValid()
1302 case dwarf::DW_OP_plus_uconst: in isValid()
1303 case dwarf::DW_OP_plus: in isValid()
1304 case dwarf::DW_OP_minus: in isValid()
1305 case dwarf::DW_OP_mul: in isValid()
1306 case dwarf::DW_OP_div: in isValid()
1307 case dwarf::DW_OP_mod: in isValid()
1308 case dwarf::DW_OP_or: in isValid()
1309 case dwarf::DW_OP_and: in isValid()
1310 case dwarf::DW_OP_xor: in isValid()
1311 case dwarf::DW_OP_shl: in isValid()
1312 case dwarf::DW_OP_shr: in isValid()
1313 case dwarf::DW_OP_shra: in isValid()
1314 case dwarf::DW_OP_deref: in isValid()
1315 case dwarf::DW_OP_deref_size: in isValid()
1316 case dwarf::DW_OP_xderef: in isValid()
1317 case dwarf::DW_OP_lit0: in isValid()
1318 case dwarf::DW_OP_not: in isValid()
1319 case dwarf::DW_OP_dup: in isValid()
1320 case dwarf::DW_OP_regx: in isValid()
1321 case dwarf::DW_OP_bregx: in isValid()
1322 case dwarf::DW_OP_push_object_address: in isValid()
1323 case dwarf::DW_OP_over: in isValid()
1324 case dwarf::DW_OP_consts: in isValid()
1342 case dwarf::DW_OP_stack_value: in isImplicit()
1343 case dwarf::DW_OP_LLVM_tag_offset: in isImplicit()
1362 case dwarf::DW_OP_LLVM_tag_offset: in isComplex()
1363 case dwarf::DW_OP_LLVM_fragment: in isComplex()
1376 if (I->getOp() == dwarf::DW_OP_LLVM_fragment) { in getFragmentInfo()
1386 Ops.push_back(dwarf::DW_OP_plus_uconst); in appendOffset()
1389 Ops.push_back(dwarf::DW_OP_constu); in appendOffset()
1391 Ops.push_back(dwarf::DW_OP_minus); in appendOffset()
1401 if (getNumElements() == 2 && Elements[0] == dwarf::DW_OP_plus_uconst) { in extractIfOffset()
1406 if (getNumElements() == 3 && Elements[0] == dwarf::DW_OP_constu) { in extractIfOffset()
1407 if (Elements[2] == dwarf::DW_OP_plus) { in extractIfOffset()
1411 if (Elements[2] == dwarf::DW_OP_minus) { in extractIfOffset()
1423 if (ExprOp.getOp() == dwarf::DW_OP_LLVM_arg) in hasAllLocationOps()
1437 Expr->Elements[PatternSize - 4] == dwarf::DW_OP_constu && in extractAddressClass()
1438 Expr->Elements[PatternSize - 2] == dwarf::DW_OP_swap && in extractAddressClass()
1439 Expr->Elements[PatternSize - 1] == dwarf::DW_OP_xderef) { in extractAddressClass()
1455 Ops.push_back(dwarf::DW_OP_deref); in prepend()
1459 Ops.push_back(dwarf::DW_OP_deref); in prepend()
1474 [](auto Op) { return Op.getOp() == dwarf::DW_OP_LLVM_arg; })) { in appendOpsToArg()
1484 if (Op.getOp() == dwarf::DW_OP_LLVM_arg && Op.getArg(0) == ArgNo) in appendOpsToArg()
1498 if (Op.getOp() != dwarf::DW_OP_LLVM_arg || Op.getArg(0) < OldArg) { in replaceArg()
1502 NewOps.push_back(dwarf::DW_OP_LLVM_arg); in replaceArg()
1519 Ops.push_back(dwarf::DW_OP_LLVM_entry_value); in prependOpcodes()
1532 if (Op.getOp() == dwarf::DW_OP_stack_value) in prependOpcodes()
1534 else if (Op.getOp() == dwarf::DW_OP_LLVM_fragment) { in prependOpcodes()
1535 Ops.push_back(dwarf::DW_OP_stack_value); in prependOpcodes()
1542 Ops.push_back(dwarf::DW_OP_stack_value); in prependOpcodes()
1554 if (Op.getOp() == dwarf::DW_OP_stack_value || in append()
1555 Op.getOp() == dwarf::DW_OP_LLVM_fragment) { in append()
1575 return Op == dwarf::DW_OP_stack_value || in appendToStack()
1576 Op == dwarf::DW_OP_LLVM_fragment; in appendToStack()
1589 (ExprOpsBeforeFragment.back() != dwarf::DW_OP_stack_value); in appendToStack()
1596 NewOps.push_back(dwarf::DW_OP_deref); in appendToStack()
1599 NewOps.push_back(dwarf::DW_OP_stack_value); in appendToStack()
1612 case dwarf::DW_OP_shr: in createFragmentExpression()
1613 case dwarf::DW_OP_shra: in createFragmentExpression()
1614 case dwarf::DW_OP_shl: in createFragmentExpression()
1615 case dwarf::DW_OP_plus: in createFragmentExpression()
1616 case dwarf::DW_OP_plus_uconst: in createFragmentExpression()
1617 case dwarf::DW_OP_minus: in createFragmentExpression()
1624 case dwarf::DW_OP_LLVM_fragment: { in createFragmentExpression()
1639 Ops.push_back(dwarf::DW_OP_LLVM_fragment); in createFragmentExpression()
1664 case dwarf::DW_OP_LLVM_convert: in constantFold()
1668 if (Op.getArg(1) == dwarf::DW_ATE_signed) in constantFold()
1671 assert(Op.getArg(1) == dwarf::DW_ATE_unsigned && "Unexpected operand"); in constantFold()
1687 if (ExprOp.getOp() == dwarf::DW_OP_LLVM_arg) in getNumLocationOperands()
1705 (getElement(0) != dwarf::DW_OP_consts && in isConstant()
1706 getElement(0) != dwarf::DW_OP_constu)) in isConstant()
1709 if (getNumElements() == 2 && getElement(0) == dwarf::DW_OP_consts) in isConstant()
1712 if ((getNumElements() == 3 && getElement(2) != dwarf::DW_OP_stack_value) || in isConstant()
1713 (getNumElements() == 6 && (getElement(2) != dwarf::DW_OP_stack_value || in isConstant()
1714 getElement(3) != dwarf::DW_OP_LLVM_fragment))) in isConstant()
1716 return getElement(0) == dwarf::DW_OP_constu in isConstant()
1723 dwarf::TypeKind TK = Signed ? dwarf::DW_ATE_signed : dwarf::DW_ATE_unsigned; in getExtOps()
1724 DIExpression::ExtOps Ops{{dwarf::DW_OP_LLVM_convert, FromSize, TK, in getExtOps()
1725 dwarf::DW_OP_LLVM_convert, ToSize, TK}}; in getExtOps()
1746 : DINode(C, DIObjCPropertyKind, Storage, dwarf::DW_TAG_APPLE_property, Ops), in DIObjCProperty()