[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