[cfe-commits] r105114 - /cfe/trunk/lib/AST/RecordLayoutBuilder.cpp

Anders Carlsson andersca at mac.com
Sat May 29 14:10:24 PDT 2010


Author: andersca
Date: Sat May 29 16:10:24 2010
New Revision: 105114

URL: http://llvm.org/viewvc/llvm-project?rev=105114&view=rev
Log:
Cleanup.

Modified:
    cfe/trunk/lib/AST/RecordLayoutBuilder.cpp

Modified: cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/RecordLayoutBuilder.cpp?rev=105114&r1=105113&r2=105114&view=diff
==============================================================================
--- cfe/trunk/lib/AST/RecordLayoutBuilder.cpp (original)
+++ cfe/trunk/lib/AST/RecordLayoutBuilder.cpp Sat May 29 16:10:24 2010
@@ -198,12 +198,12 @@
     return false;
 
   // Traverse all non-virtual bases.
+  const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
   for (unsigned I = 0, E = Info->Bases.size(); I != E; ++I) {
     BaseSubobjectInfo* Base = Info->Bases[I];
     if (Base->IsVirtual)
       continue;
 
-    const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
     uint64_t BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
 
     if (!CanPlaceBaseSubobjectAtOffset(Base, BaseOffset))
@@ -219,16 +219,13 @@
     }
   }
   
-  const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
-
   // Traverse all member variables.
   unsigned FieldNo = 0;
   for (CXXRecordDecl::field_iterator I = Info->Class->field_begin(), 
        E = Info->Class->field_end(); I != E; ++I, ++FieldNo) {
     const FieldDecl *FD = *I;
-    
+
     uint64_t FieldOffset = Offset + Layout.getFieldOffset(FieldNo);
-    
     if (!CanPlaceFieldSubobjectAtOffset(FD, FieldOffset))
       return false;
   }
@@ -239,16 +236,15 @@
 void EmptySubobjectMap::UpdateEmptyBaseSubobjects(const BaseSubobjectInfo *Info, 
                                                   uint64_t Offset) {
   AddSubobjectAtOffset(Info->Class, Offset);
-  
+
   // Traverse all non-virtual bases.
+  const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
   for (unsigned I = 0, E = Info->Bases.size(); I != E; ++I) {
     BaseSubobjectInfo* Base = Info->Bases[I];
     if (Base->IsVirtual)
       continue;
-    
-    const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
+
     uint64_t BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
-    
     UpdateEmptyBaseSubobjects(Base, BaseOffset);
   }
 
@@ -259,16 +255,13 @@
       UpdateEmptyBaseSubobjects(PrimaryVirtualBaseInfo, Offset);
   }
 
-  const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
-
   // Traverse all member variables.
   unsigned FieldNo = 0;
   for (CXXRecordDecl::field_iterator I = Info->Class->field_begin(), 
        E = Info->Class->field_end(); I != E; ++I, ++FieldNo) {
     const FieldDecl *FD = *I;
-    
+
     uint64_t FieldOffset = Offset + Layout.getFieldOffset(FieldNo);
-    
     UpdateEmptyFieldSubobjects(FD, FieldOffset);
   }
 }





More information about the cfe-commits mailing list