From 88a981b47c7face1b1fdaa9074256245107b9ca9 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Thu, 1 Nov 2007 19:11:01 +0000 Subject: Rename classes and collections that maintain record layout information. Now, at AST level record info is maintained by ASTRecordLayout class. Now, at code gen level record info is maintained by CGRecordLayout class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43619 91177308-0d34-0410-b5e6-96231b3b80d8 --- CodeGen/CodeGenTypes.cpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'CodeGen/CodeGenTypes.cpp') diff --git a/CodeGen/CodeGenTypes.cpp b/CodeGen/CodeGenTypes.cpp index d19b0a9efd..08dcf2465a 100644 --- a/CodeGen/CodeGenTypes.cpp +++ b/CodeGen/CodeGenTypes.cpp @@ -22,7 +22,7 @@ using namespace clang; using namespace CodeGen; namespace { - /// RecordOrganizer - This helper class, used by RecordLayoutInfo, layouts + /// RecordOrganizer - This helper class, used by CGRecordLayout, layouts /// structs and unions. It manages transient information used during layout. /// FIXME : At the moment assume /// - one to one mapping between AST FieldDecls and @@ -49,7 +49,7 @@ namespace { /// layoutStructFields - Do the actual work and lay out all fields. Create /// corresponding llvm struct type. This should be invoked only after /// all fields are added. - void layoutStructFields(const RecordLayout &RL); + void layoutStructFields(const ASTRecordLayout &RL); /// layoutUnionFields - Do the actual work and lay out all fields. Create /// corresponding llvm struct type. This should be invoked only after @@ -78,11 +78,11 @@ CodeGenTypes::CodeGenTypes(ASTContext &Ctx, llvm::Module& M, } CodeGenTypes::~CodeGenTypes() { - for(llvm::DenseMap::iterator - I = RecordLayouts.begin(), E = RecordLayouts.end(); + for(llvm::DenseMap::iterator + I = CGRecordLayouts.begin(), E = CGRecordLayouts.end(); I != E; ++I) delete I->second; - RecordLayouts.clear(); + CGRecordLayouts.clear(); } /// ConvertType - Convert the specified type to its LLVM form. @@ -258,13 +258,13 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) { RecordOrganizer RO(*this); for (unsigned i = 0, e = RD->getNumMembers(); i != e; ++i) RO.addField(RD->getMember(i)); - const RecordLayout &RL = Context.getRecordLayout(RD, SourceLocation()); + const ASTRecordLayout &RL = Context.getASTRecordLayout(RD, SourceLocation()); RO.layoutStructFields(RL); // Get llvm::StructType. - RecordLayoutInfo *RLI = new RecordLayoutInfo(RO.getLLVMType()); + CGRecordLayout *RLI = new CGRecordLayout(RO.getLLVMType()); ResultType = RLI->getLLVMType(); - RecordLayouts[ResultType] = RLI; + CGRecordLayouts[ResultType] = RLI; // Refine any OpaqueType associated with this RecordDecl. OpaqueTy->refineAbstractTypeTo(ResultType); @@ -285,9 +285,9 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) { RO.layoutUnionFields(); // Get llvm::StructType. - RecordLayoutInfo *RLI = new RecordLayoutInfo(RO.getLLVMType()); + CGRecordLayout *RLI = new CGRecordLayout(RO.getLLVMType()); ResultType = RLI->getLLVMType(); - RecordLayouts[ResultType] = RLI; + CGRecordLayouts[ResultType] = RLI; } else { std::vector Fields; ResultType = llvm::StructType::get(Fields); @@ -339,12 +339,12 @@ void CodeGenTypes::addFieldInfo(const FieldDecl *FD, unsigned No) { FieldInfo[FD] = No; } -/// getRecordLayoutInfo - Return record layout info for the given llvm::Type. -const RecordLayoutInfo * -CodeGenTypes::getRecordLayoutInfo(const llvm::Type* Ty) const { - llvm::DenseMap::iterator I - = RecordLayouts.find(Ty); - assert (I != RecordLayouts.end() +/// getCGRecordLayout - Return record layout info for the given llvm::Type. +const CGRecordLayout * +CodeGenTypes::getCGRecordLayout(const llvm::Type* Ty) const { + llvm::DenseMap::iterator I + = CGRecordLayouts.find(Ty); + assert (I != CGRecordLayouts.end() && "Unable to find record layout information for type"); return I->second; } @@ -364,7 +364,7 @@ void RecordOrganizer::addField(const FieldDecl *FD) { /// - Ignore bit fields /// - Ignore field aligments /// - Ignore packed structs -void RecordOrganizer::layoutStructFields(const RecordLayout &RL) { +void RecordOrganizer::layoutStructFields(const ASTRecordLayout &RL) { // FIXME : Use SmallVector Cursor = 0; FieldNo = 0; -- cgit v1.2.3-70-g09d2