reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGDebugInfo.cpp
  102   if (OriginalLocation && !DI->CGM.getExpressionLocationsEnabled())
  173   CurLoc = CGM.getContext().getSourceManager().getExpansionLoc(Loc);
  181   SourceManager &SM = CGM.getContext().getSourceManager();
  222       return getOrCreateType(CGM.getContext().getTypeDeclType(RDecl),
  228   PrintingPolicy PP = CGM.getContext().getPrintingPolicy();
  234   if (CGM.getCodeGenOpts().EmitCodeView)
  256                           CGM.getCodeGenOpts().EmitCodeView;
  333   if (CGM.getCodeGenOpts().EmitCodeView) {
  342     if (CGM.getLangOpts().CPlusPlus) {
  345       ASTContext &Context = CGM.getContext();
  372   if (!CGM.getCodeGenOpts().EmitCodeView &&
  373       CGM.getCodeGenOpts().DwarfVersion < 5)
  376   SourceManager &SM = CGM.getContext().getSourceManager();
  394   if (!CGM.getCodeGenOpts().EmbedSource)
  411   SourceManager &SM = CGM.getContext().getSourceManager();
  489   SourceManager &SM = CGM.getContext().getSourceManager();
  496   if (!Force && !CGM.getCodeGenOpts().DebugColumnInfo)
  502   SourceManager &SM = CGM.getContext().getSourceManager();
  508   if (!CGM.getCodeGenOpts().DebugCompilationDir.empty())
  509     return CGM.getCodeGenOpts().DebugCompilationDir;
  531   SourceManager &SM = CGM.getContext().getSourceManager();
  532   std::string MainFileName = CGM.getCodeGenOpts().MainFileName;
  556       MainFileName = CGM.getModule().getName().str();
  562   const LangOptions &LO = CGM.getLangOpts();
  608   auto &CGOpts = CGM.getCodeGenOpts();
  625       CGM.getTarget().getTriple().isNVPTX()
  665     unsigned Size = CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
  665     unsigned Size = CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
  714     unsigned DiagID = CGM.getDiags().getCustomDiagID(
  717     auto Name = BT->getName(CGM.getContext().getPrintingPolicy());
  718     CGM.getDiags().Report(DiagID) << Name;
  720     return CreateType(cast<const BuiltinType>(CGM.getContext().IntTy));
  812     BTName = BT->getName(CGM.getLangOpts());
  816   uint64_t Size = CGM.getContext().getTypeSize(BT);
  826   uint64_t Size = CGM.getContext().getTypeSize(Ty);
  857   auto *FromTy = getOrCreateType(Qc.apply(CGM.getContext(), T), Unit);
  871     return getOrCreateType(CGM.getContext().getObjCIdType(), Unit);
  976   if (llvm::DIType *T = getTypeOrNull(CGM.getContext().getRecordType(RD)))
  986   SmallString<256> Identifier = getTypeIdentifier(Ty, CGM, TheCU);
  990   if (CGM.getCodeGenOpts().DebugFwdTemplateParams)
 1007   unsigned AddressSpace = CGM.getContext().getTargetAddressSpace(PointeeTy);
 1008   uint64_t Size = CGM.getTarget().getPointerWidth(AddressSpace);
 1009   auto Align = getTypeAlignIfRequired(Ty, CGM.getContext());
 1011       CGM.getTarget().getDWARFAddressSpace(AddressSpace);
 1028   unsigned Size = CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
 1028   unsigned Size = CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
 1045   if (CGM.getLangOpts().OpenCL) {
 1046     FType = CGM.getContext().IntTy;
 1050     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 1050     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 1052     FType = CGM.getContext().IntTy;
 1055     FType = CGM.getContext().getPointerType(Ty->getPointeeType());
 1057     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 1057     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 1058     uint64_t FieldSize = CGM.getContext().getTypeSize(Ty);
 1059     uint32_t FieldAlign = CGM.getContext().getTypeAlign(Ty);
 1077   FType = CGM.getContext().UnsignedLongTy;
 1091   uint64_t Size = CGM.getContext().getTypeSize(Ty);
 1258       CGM.getTypes().getCGRecordLayout(RD).getBitFieldInfo(BitFieldDecl);
 1262       CGM.getContext().toBits(BitFieldInfo.StorageOffset);
 1267   if (CGM.getDataLayout().isBigEndian())
 1290     TypeInfo TI = CGM.getContext().getTypeInfo(type);
 1293       Align = getTypeAlignIfRequired(type, CGM.getContext());
 1307   const ASTRecordLayout &layout = CGM.getContext().getASTRecordLayout(CXXDecl);
 1320       auto Align = getDeclAlignIfRequired(V, CGM.getContext());
 1358         C = llvm::ConstantInt::get(CGM.getLLVMContext(), Value->getInt());
 1360         C = llvm::ConstantFP::get(CGM.getLLVMContext(), Value->getFloat());
 1365   auto Align = getDeclAlignIfRequired(Var, CGM.getContext());
 1387     auto Align = getDeclAlignIfRequired(field, CGM.getContext());
 1398   QualType Ty = CGM.getContext().getTypeDeclType(TD);
 1416     const ASTRecordLayout &layout = CGM.getContext().getASTRecordLayout(record);
 1430         if (CGM.getCodeGenOpts().EmitCodeView &&
 1453       } else if (CGM.getCodeGenOpts().EmitCodeView) {
 1493     unsigned AS = CGM.getContext().getTargetAddressSpace(PointeeTy);
 1494     uint64_t Size = CGM.getTarget().getPointerWidth(AS);
 1495     auto Align = getTypeAlignIfRequired(ThisPtrTy, CGM.getContext());
 1555     MethodLinkageName = CGM.getMangledName(Method);
 1578     if (CGM.getTarget().getCXXABI().isItaniumFamily()) {
 1582         VIndex = CGM.getItaniumVTableContext().getMethodVTableIndex(Method);
 1589           CGM.getMicrosoftVTableContext().getMethodVFTableLocation(GD);
 1603       ThisAdjustment = CGM.getCXXABI()
 1630   if (CGM.getLangOpts().Optimize)
 1691   if (CGM.getCodeGenOpts().EmitCodeView) {
 1703   const ASTRecordLayout &RL = CGM.getContext().getASTRecordLayout(RD);
 1715       if (CGM.getTarget().getCXXABI().isItaniumFamily()) {
 1718         BaseOffset = 0 - CGM.getItaniumVTableContext()
 1725             4 * CGM.getMicrosoftVTableContext().getVBTableIndex(RD, Base);
 1726         VBPtrOffset = CGM.getContext()
 1733       BaseOffset = CGM.getContext().toBits(RL.getBaseClassOffset(Base));
 1764           llvm::ConstantInt::get(CGM.getLLVMContext(), TA.getAsIntegral())));
 1768       QualType T = TA.getParamTypeForDecl().getDesugaredType(CGM.getContext());
 1773       if (!CGM.getLangOpts().CUDA || CGM.getLangOpts().CUDAIsDevice ||
 1773       if (!CGM.getLangOpts().CUDA || CGM.getLangOpts().CUDAIsDevice ||
 1779           V = CGM.GetAddrOfGlobalVar(VD);
 1783           V = CGM.getCXXABI().EmitMemberFunctionPointer(MD);
 1785           V = CGM.GetAddrOfFunction(FD);
 1793           uint64_t fieldOffset = CGM.getContext().getFieldOffset(D);
 1795               CGM.getContext().toCharUnitsFromBits((int64_t)fieldOffset);
 1796           V = CGM.getCXXABI().EmitMemberDataPointer(MPT, chars);
 1817           V = CGM.getCXXABI().EmitNullMemberPointer(MPT);
 1819         V = llvm::ConstantInt::get(CGM.Int8Ty, 0);
 1837         T = CGM.getContext().getLValueReferenceType(T);
 1838       llvm::Constant *V = ConstantEmitter(CGM).emitAbstract(E, T);
 1897   ASTContext &Context = CGM.getContext();
 1904   unsigned VtblPtrAddressSpace = CGM.getTarget().getVtblPtrAddressSpace();
 1906       CGM.getTarget().getDWARFAddressSpace(VtblPtrAddressSpace);
 1924   if (!CGM.getCodeGenOpts().EmitCodeView)
 1982   const ASTRecordLayout &RL = CGM.getContext().getASTRecordLayout(RD);
 1990   bool NeedVTableShape = CGM.getCodeGenOpts().EmitCodeView &&
 1991                          CGM.getTarget().getCXXABI().isMicrosoft();
 1994         CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
 1994         CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
 1996         CGM.getMicrosoftVTableContext().getVFTableLayout(RD, CharUnits::Zero());
 1998         VFTLayout.vtable_components().size() - CGM.getLangOpts().RTTIData;
 2000     unsigned VtblPtrAddressSpace = CGM.getTarget().getVtblPtrAddressSpace();
 2002         CGM.getTarget().getDWARFAddressSpace(VtblPtrAddressSpace);
 2020   unsigned Size = CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
 2020   unsigned Size = CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy);
 2055     node = llvm::MDNode::get(CGM.getLLVMContext(), None);
 2067   QualType Ty = CGM.getContext().getEnumType(ED);
 2079       !CGM.getLangOpts().CPlusPlus)
 2128         CGM.getVTableLinkage(CXXRD) ==
 2142   QualType Ty = CGM.getContext().getRecordType(RD);
 2209   if (shouldOmitDefinition(DebugKind, DebugTypeExtRefs, RD, CGM.getLangOpts()))
 2212   QualType Ty = CGM.getContext().getRecordType(RD);
 2222                                 CGM.getLangOpts())) {
 2382     const auto &PPOpts = CGM.getPreprocessorOpts();
 2411     assert(StringRef(M->Name).startswith(CGM.getLangOpts().ModuleName) &&
 2422     llvm::DIBuilder DIB(CGM.getModule());
 2439                             Mod.getPath(), CGM.getHeaderSearchOpts().Sysroot);
 2452   uint64_t Size = CGM.getContext().getTypeSize(Ty);
 2453   auto Align = getTypeAlignIfRequired(Ty, CGM.getContext());
 2477         getOrCreateType(CGM.getContext().getObjCInterfaceType(SClass), Unit);
 2518   const ASTRecordLayout &RL = CGM.getContext().getASTObjCInterfaceLayout(ID);
 2543                       ? Field->getBitWidthValue(CGM.getContext())
 2544                       : CGM.getContext().getTypeSize(FType);
 2545       FieldAlign = getTypeAlignIfRequired(FType, CGM.getContext());
 2549     if (CGM.getLangOpts().ObjCRuntime.isNonFragile()) {
 2555             CGM.getObjCRuntime().ComputeBitfieldBitOffset(CGM, ID, Field);
 2555             CGM.getObjCRuntime().ComputeBitfieldBitOffset(CGM, ID, Field);
 2556         FieldOffset %= CGM.getContext().getCharWidth();
 2622   uint64_t Size = CGM.getContext().getTypeSize(Ty);
 2623   auto Align = getTypeAlignIfRequired(Ty, CGM.getContext());
 2635     Align = getTypeAlignIfRequired(CGM.getContext().getBaseElementType(VAT),
 2636                                    CGM.getContext());
 2642       Align = getTypeAlignIfRequired(Ty->getElementType(), CGM.getContext());
 2648     Size = CGM.getContext().getTypeSize(Ty);
 2649     Align = getTypeAlignIfRequired(Ty, CGM.getContext());
 2671         if (Size->EvaluateAsInt(Result, CGM.getContext()))
 2709     Size = CGM.getContext().getTypeSize(Ty);
 2712     if (CGM.getTarget().getCXXABI().isMicrosoft()) {
 2761     Size = CGM.getContext().getTypeSize(ED->getTypeForDecl());
 2762     Align = getDeclAlignIfRequired(ED, CGM.getContext());
 2765   SmallString<256> Identifier = getTypeIdentifier(Ty, CGM, TheCU);
 2804     Size = CGM.getContext().getTypeSize(ED->getTypeForDecl());
 2805     Align = getDeclAlignIfRequired(ED, CGM.getContext());
 2808   SmallString<256> Identifier = getTypeIdentifier(Ty, CGM, TheCU);
 2916   Ty = UnwrapTypeForDebugInfo(Ty, CGM.getContext());
 2942   RetainedTypes.push_back(CGM.getContext().getRecordType(&D).getAsOpaquePtr());
 2950   Ty = UnwrapTypeForDebugInfo(Ty, CGM.getContext());
 2970     auto *Reader = CGM.getContext().getExternalSource();
 3122       getTypeOrNull(CGM.getContext().getRecordType(RD)));
 3132   uint64_t Size = CGM.getContext().getTypeSize(Ty);
 3133   auto Align = getDeclAlignIfRequired(D, CGM.getContext());
 3135   SmallString<256> Identifier = getTypeIdentifier(Ty, CGM, TheCU);
 3141     if (CGM.getCXXABI().getRecordArgABI(CXXRD) == CGCXXABI::RAA_Indirect)
 3197   const ASTRecordLayout &RL = CGM.getContext().getASTRecordLayout(RD);
 3201       const ASTRecordLayout &BRL = CGM.getContext().getASTRecordLayout(PBase);
 3220   uint64_t FieldSize = CGM.getContext().getTypeSize(FType);
 3221   auto FieldAlign = getTypeAlignIfRequired(FType, CGM.getContext());
 3239     LinkageName = CGM.getMangledName(GD);
 3245   if (LinkageName == Name || (!CGM.getCodeGenOpts().EmitGcovArcs &&
 3246                               !CGM.getCodeGenOpts().EmitGcovNotes &&
 3247                               !CGM.getCodeGenOpts().DebugInfoForProfiling &&
 3282     QualType ET = CGM.getContext().getAsArrayType(T)->getElementType();
 3284     T = CGM.getContext().getConstantArrayType(ET, ConstVal, nullptr,
 3291     LinkageName = CGM.getMangledName(VD);
 3317     DC = CGM.getContext().getTranslationUnitDecl();
 3343   QualType FnType = CGM.getContext().getFunctionType(
 3347   if (CGM.getLangOpts().Optimize)
 3390   auto Align = getDeclAlignIfRequired(VD, CGM.getContext());
 3407     return getOrCreateType(CGM.getContext().getTypeDeclType(TD),
 3487     if (ResultTy == CGM.getContext().getObjCInstanceType())
 3488       ResultTy = CGM.getContext().getPointerType(
 3504         getOrCreateType(CGM.getContext().getObjCSelType(), F)));
 3596   if (CGM.getLangOpts().Optimize)
 3626   if (CGM.getCodeGenOpts().EnableDebugEntryValues && HasDecl)
 3631   if (CGM.getCodeGenOpts().DwarfVersion >= 5) {
 3695   if (CGM.getLangOpts().Optimize)
 3712   auto &CGOpts = CGM.getCodeGenOpts();
 3713   if (!CGOpts.EnableDebugEntryValues || !CGM.getLangOpts().Optimize ||
 3776       CGM.getTarget().getDWARFAddressSpace(AddressSpace);
 3845   FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 3845   FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 3848   FType = CGM.getContext().IntTy;
 3852   bool HasCopyAndDispose = CGM.getContext().BlockRequiresCopying(Type, VD);
 3854     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 3854     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 3862   if (CGM.getContext().getByrefLifetime(Type, Lifetime,
 3865     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 3865     FType = CGM.getContext().getPointerType(CGM.getContext().VoidTy);
 3870   CharUnits Align = CGM.getContext().getDeclAlign(VD);
 3871   if (Align > CGM.getContext().toCharUnitsFromBits(
 3872                   CGM.getTarget().getPointerAlign(0))) {
 3874         CGM.getContext().toCharUnitsFromBits(FieldOffset);
 3880       FType = CGM.getContext().getConstantArrayType(
 3881           CGM.getContext().CharTy, pad, nullptr, ArrayType::Normal, 0);
 3888   FieldSize = CGM.getContext().getTypeSize(FType);
 3889   FieldAlign = CGM.getContext().toBits(Align);
 3944   auto Align = getDeclAlignIfRequired(VD, CGM.getContext());
 3946   unsigned AddressSpace = CGM.getContext().getTargetAddressSpace(VD->getType());
 3969       offset = CGM.getContext().toCharUnitsFromBits(
 3970           CGM.getTarget().getPointerWidth(0));
 3975       offset = CGM.getContext().toCharUnitsFromBits(XOffset);
 3999         auto FieldAlign = getDeclAlignIfRequired(Field, CGM.getContext());
 4001             Scope, FieldName, Unit, Line, FieldTy, CGM.getLangOpts().Optimize,
 4026                         CGM.getLangOpts().Optimize, Flags)
 4028                                                 CGM.getLangOpts().Optimize,
 4036   if (CGM.getCodeGenOpts().EnableDebugEntryValues && ArgNo) {
 4070       DBuilder.createLabel(Scope, Name, Unit, Line, CGM.getLangOpts().Optimize);
 4117   const llvm::DataLayout &target = CGM.getDataLayout();
 4132         CGM.getContext().toCharUnitsFromBits(target.getPointerSizeInBits(0));
 4137     offset = CGM.getContext().toCharUnitsFromBits(XOffset);
 4142   auto Align = getDeclAlignIfRequired(VD, CGM.getContext());
 4181   if (CGM.getLangOpts().OpenCL) {
 4199     auto FnPtrType = CGM.getContext().getPointerType(FnTy->desugar());
 4218   ASTContext &C = CGM.getContext();
 4231       CGM.getDataLayout().getStructLayout(block.StructureType);
 4305       auto Align = getDeclAlignIfRequired(variable, CGM.getContext());
 4314       << "__block_literal_" << CGM.getUniqueBlockCount();
 4320                                 CGM.getContext().toBits(block.BlockSize), 0,
 4322   type = DBuilder.createPointerType(type, CGM.PointerWidthInBits);
 4330       scope, Name, ArgNo, tunit, line, type, CGM.getLangOpts().Optimize, flags);
 4417     auto Align = getDeclAlignIfRequired(D, CGM.getContext());
 4421         CGM.getContext().getTargetAddressSpace(D->getType());
 4422     if (CGM.getLangOpts().CUDA && CGM.getLangOpts().CUDAIsDevice) {
 4422     if (CGM.getLangOpts().CUDA && CGM.getLangOpts().CUDAIsDevice) {
 4425             CGM.getContext().getTargetAddressSpace(LangAS::cuda_shared);
 4428             CGM.getContext().getTargetAddressSpace(LangAS::cuda_constant);
 4447   auto Align = getDeclAlignIfRequired(VD, CGM.getContext());
 4457     if (CGM.getCodeGenOpts().EmitCodeView) {
 4493         CGM.getContext().getRecordType(RD).getAsOpaquePtr());
 4495     if (!CGM.getCodeGenOpts().EmitCodeView)
 4500         cast<Decl>(CGM.getContext().getTranslationUnitDecl()), TheCU);
 4509   if (CGM.getContext().getTypeSize(VD->getType()) <= 64) {
 4541   if (CGM.getCodeGenOpts().getDebugInfo() < codegenoptions::LimitedDebugInfo)
 4545       CGM.getCodeGenOpts().DebugExplicitImport) {
 4554   if (CGM.getCodeGenOpts().getDebugInfo() < codegenoptions::LimitedDebugInfo)
 4581   if (CGM.getCodeGenOpts().getDebuggerTuning() != llvm::DebuggerKind::LLDB)
 4595   if (CGM.getCodeGenOpts().getDebugInfo() < codegenoptions::LimitedDebugInfo)
 4674   if (CGM.getCodeGenOpts().DwarfVersion >= 5) {
 4735   if (CGM.getCodeGenOpts().EnableDebugEntryValues)
 4737     analyzeParametersModification(CGM.getContext(), SPDefCache, ParamCache);
 4743   if (CGM.getCodeGenOpts().getDebugInfo() < codegenoptions::LimitedDebugInfo)
 4762   if (!CGM.getLangOpts().Optimize || DebugKind == codegenoptions::NoDebugInfo ||
 4770       CGM.getCodeGenOpts().DwarfVersion == 4 &&
 4771       (CGM.getCodeGenOpts().getDebuggerTuning() == llvm::DebuggerKind::LLDB ||
 4772        (CGM.getCodeGenOpts().EnableDebugEntryValues &&
 4773        CGM.getCodeGenOpts().getDebuggerTuning() == llvm::DebuggerKind::GDB));
 4775   if (!SupportsDWARFv4Ext && CGM.getCodeGenOpts().DwarfVersion < 5)