return OpaqueI->second;
// Create new OpaqueType now for later use.
+ // FIXME: This creates a lot of opaque types, most of which are not needed.
+ // Reevaluate this when performance analyis finds tons of opaque types.
llvm::OpaqueType *OpaqueTy = llvm::OpaqueType::get();
RecordTypesToResolve[RD] = OpaqueTy;
/// RecordLayouts - This maps llvm struct type with corresponding
/// record layout info.
+ /// FIXME : If RecordLayoutInfo is less than 16 bytes then use
+ /// inline it in the map.
llvm::DenseMap<const llvm::Type*, RecordLayoutInfo *> RecordLayouts;
/// FieldInfo - This maps struct field with corresponding llvm struct type