Get rid of more calls to getBaseClassOffsetInBits.
authorAnders Carlsson <andersca@mac.com>
Mon, 1 Nov 2010 00:21:58 +0000 (00:21 +0000)
committerAnders Carlsson <andersca@mac.com>
Mon, 1 Nov 2010 00:21:58 +0000 (00:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117883 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/RecordLayoutBuilder.cpp

index 1fb0775dd4ccbc949d2170d79c41a0ed61f7d951..c878c25f416578e29c273d1248a5ab3a02dbd121 100644 (file)
@@ -244,8 +244,7 @@ EmptySubobjectMap::CanPlaceBaseSubobjectAtOffset(const BaseSubobjectInfo *Info,
     if (Base->IsVirtual)
       continue;
 
-    CharUnits BaseOffset =
-      Offset + toCharUnits(Layout.getBaseClassOffsetInBits(Base->Class));
+    CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
 
     if (!CanPlaceBaseSubobjectAtOffset(Base, BaseOffset))
       return false;
@@ -297,8 +296,7 @@ void EmptySubobjectMap::UpdateEmptyBaseSubobjects(const BaseSubobjectInfo *Info,
     if (Base->IsVirtual)
       continue;
 
-    CharUnits BaseOffset = 
-      Offset + toCharUnits(Layout.getBaseClassOffsetInBits(Base->Class));
+    CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
     UpdateEmptyBaseSubobjects(Base, BaseOffset, PlacingEmptyBase);
   }
 
@@ -362,8 +360,7 @@ EmptySubobjectMap::CanPlaceFieldSubobjectAtOffset(const CXXRecordDecl *RD,
     const CXXRecordDecl *BaseDecl =
       cast<CXXRecordDecl>(I->getType()->getAs<RecordType>()->getDecl());
 
-    CharUnits BaseOffset =
-      Offset + toCharUnits(Layout.getBaseClassOffsetInBits(BaseDecl));
+    CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl);
     if (!CanPlaceFieldSubobjectAtOffset(BaseDecl, Class, BaseOffset))
       return false;
   }
@@ -476,8 +473,7 @@ void EmptySubobjectMap::UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD,
     const CXXRecordDecl *BaseDecl =
       cast<CXXRecordDecl>(I->getType()->getAs<RecordType>()->getDecl());
 
-    CharUnits BaseOffset = 
-      Offset + toCharUnits(Layout.getBaseClassOffsetInBits(BaseDecl));
+    CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl);
     UpdateEmptyFieldSubobjects(BaseDecl, Class, BaseOffset);
   }
 
@@ -1065,8 +1061,7 @@ RecordLayoutBuilder::AddPrimaryVirtualBaseOffsets(const BaseSubobjectInfo *Info,
     if (Base->IsVirtual)
       continue;
 
-    CharUnits BaseOffset = 
-      Offset + toCharUnits(Layout.getBaseClassOffsetInBits(Base->Class));
+    CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
     AddPrimaryVirtualBaseOffsets(Base, BaseOffset);
   }
 }