[llvm-commits] [llvm-gcc-4.2] r60772 - in /llvm-gcc-4.2/trunk/gcc: llvm-debug.cpp llvm-debug.h
Devang Patel
dpatel at apple.com
Tue Dec 9 10:02:40 PST 2008
Author: dpatel
Date: Tue Dec 9 12:02:40 2008
New Revision: 60772
URL: http://llvm.org/viewvc/llvm-project?rev=60772&view=rev
Log:
Cache qualified types' type descriptors.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
llvm-gcc-4.2/trunk/gcc/llvm-debug.h
Modified: llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp?rev=60772&r1=60771&r2=60772&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp Tue Dec 9 12:02:40 2008
@@ -417,18 +417,24 @@
/// AddTypeQualifiers - Add const/volatile qualifiers prior to the type
/// descriptor.
-static TypeDesc *AddTypeQualifiers(tree_node *type, CompileUnitDesc *Unit,
- TypeDesc *TyDesc) {
+TypeDesc *DebugInfo::AddTypeQualifiers(tree_node *type, CompileUnitDesc *Unit,
+ TypeDesc *TyDesc) {
if (TYPE_READONLY(type)) {
DerivedTypeDesc *DerivedTy = new DerivedTypeDesc(DW_TAG_const_type);
DerivedTy->setContext(Unit);
DerivedTy->setFromType(TyDesc);
+ TypeDesc *Slot = TypeCache[TYPE_MAIN_VARIANT(type)];
+ if (!Slot)
+ TypeCache[TYPE_MAIN_VARIANT(type)] = TyDesc;
TyDesc = DerivedTy;
}
if (TYPE_VOLATILE(type)) {
DerivedTypeDesc *DerivedTy = new DerivedTypeDesc(DW_TAG_volatile_type);
DerivedTy->setContext(Unit);
DerivedTy->setFromType(TyDesc);
+ TypeDesc *Slot = TypeCache[TYPE_MAIN_VARIANT(type)];
+ if (!Slot)
+ TypeCache[TYPE_MAIN_VARIANT(type)] = TyDesc;
TyDesc = DerivedTy;
}
Modified: llvm-gcc-4.2/trunk/gcc/llvm-debug.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-debug.h?rev=60772&r1=60771&r2=60772&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.h (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.h Tue Dec 9 12:02:40 2008
@@ -120,6 +120,11 @@
/// necessary.
TypeDesc *getOrCreateType(tree_node *type, CompileUnitDesc *Unit);
+ /// AddTypeQualifiers - Add const/volatile qualifiers prior to the type
+ /// descriptor.
+ TypeDesc *AddTypeQualifiers(tree_node *type, CompileUnitDesc *Unit,
+ TypeDesc *TyDesc);
+
/// getOrCreateCompileUnit - Get the compile unit from the cache or create a
/// new one if necessary.
CompileUnitDesc *getOrCreateCompileUnit(const std::string &FullPath);
More information about the llvm-commits
mailing list