search for: typecach

Displaying 5 results from an estimated 5 matches for "typecach".

Did you mean: typecache
2011 Jul 08
0
[LLVMdev] type-system-rewrite branch near landing
...als before use, > so there's nothing else to change. When I thought about this very hard, it made sense. Thanks for the insight! It sounds a bit hard to keep track of which types are based (directly or indirectly) on incomplete types, so for the time being I'm clearing the whole of the TypeCache and the FunctionInfos cache every time any type is completed. I realise this is a bit brutal. Now I'm running into another problem with the implementation: EmitCXXConstructor() and EmitCXXDestructor() don't do most of the stuff that's done for normal functions in EmitGlobalFunctionDef...
2016 Apr 01
0
[cfe-dev] RFC: Up front type information generation in clang and llvm
...CGDebugInfo::completeRequiredType(const RecordDecl *RD) { } void CGDebugInfo::completeClassData(const RecordDecl *RD) { - if (DebugKind <= codegenoptions::DebugLineTablesOnly) - return; - QualType Ty = CGM.getContext().getRecordType(RD); - void *TyPtr = Ty.getAsOpaquePtr(); - auto I = TypeCache.find(TyPtr); - if (I != TypeCache.end() && !cast<llvm::DIType>(I->second)->isForwardDecl()) - return; - llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<RecordType>()); - assert(!Res->isForwardDecl()); - TypeCache[TyPtr].reset(Res); } static bool hasEx...
2011 Jul 07
7
[LLVMdev] type-system-rewrite branch near landing
On Thu, Jul 7, 2011 at 12:55 AM, Jay Foad <jay.foad at gmail.com> wrote: >> 1. Clang - Jay, do you have a patch for this? > > Yes. It's good enough to build most of LLVM+Clang, except for a couple > of files. But I'm running out of time and expertise to be able to fix > the remaining bits. Some specific concerns: > > 1. Many Objective-C(++) tests fail, because
2016 Mar 30
5
[cfe-dev] RFC: Up front type information generation in clang and llvm
On Tue, Mar 29, 2016 at 11:20 PM Robinson, Paul < Paul_Robinson at playstation.sony.com> wrote: > Skipping a serialization and doing something clever about LTO uniquing > sounds awesome. I'm guessing you achieve this by extracting types out of > DI metadata and packaging them as lumps-o-DWARF that the back-end can then > paste together? Reading between the lines a bit
2015 Aug 18
3
[RFC PATCH 1/2] [clang]: Add AuxAttr support
...CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index eaa1e25..99d4230 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -3363,6 +3363,31 @@ void CGDebugInfo::finalize() { RE = RetainedTypes.end(); RI != RE; ++RI) DBuilder.retainType(cast<llvm::DIType>(TypeCache[*RI])); + + if (AuxAttrs.size() > 0) { + for (const auto &p_type : AuxAttrs) { + SmallVector<llvm::Metadata *, 16> Enumerators; + const Type *type = p_type.first; + + for (const auto &p_attr : p_type.second) { + std::string key("." + p_attr.fi...