"Duncan P. N. Exon Smith" <dexonsm...@apple.com> writes: >> On 2015-Jul-01, at 17:42, Justin Bogner <m...@justinbogner.com> wrote: >> >> Author: bogner >> Date: Wed Jul 1 19:42:32 2015 >> New Revision: 241218 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=241218&view=rev >> Log: >> InstrProf: Pack the coverage mapping structs that we write out >> >> When we read this data we treat it as unaligned and packed, so we >> should really be explicit about that when we write it. >> >> Modified: >> cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp >> cfe/trunk/test/CoverageMapping/ir.c >> >> Modified: cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp?rev=241218&r1=241217&r2=241218&view=diff >> ============================================================================== >> --- cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp (original) >> +++ cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp Wed Jul 1 19:42:32 2015 >> @@ -932,7 +932,7 @@ void CoverageMappingModuleGen::addFuncti >> if (!FunctionRecordTy) { >> llvm::Type *FunctionRecordTypes[] = {Int8PtrTy, Int32Ty, Int32Ty, >> Int64Ty}; >> FunctionRecordTy = >> - llvm::StructType::get(Ctx, makeArrayRef(FunctionRecordTypes)); >> + llvm::StructType::get(Ctx, makeArrayRef(FunctionRecordTypes), true); > > Does this mean it's packed? (Can you add a comment?)
Yes. r241296. >> } >> >> llvm::Constant *FunctionRecordVals[] = { >> >> Modified: cfe/trunk/test/CoverageMapping/ir.c >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CoverageMapping/ir.c?rev=241218&r1=241217&r2=241218&view=diff >> ============================================================================== >> --- cfe/trunk/test/CoverageMapping/ir.c (original) >> +++ cfe/trunk/test/CoverageMapping/ir.c Wed Jul 1 19:42:32 2015 >> @@ -9,4 +9,4 @@ int main(void) { >> return 0; >> } >> >> -// CHECK: @__llvm_coverage_mapping = internal constant { i32, i32, >> i32, i32, [2 x { i8*, i32, i32, i64 }], [{{[0-9]+}} x i8] } { i32 2, >> i32 {{[0-9]+}}, i32 {{[0-9]+}}, i32 0, [2 x { i8*, i32, i32, i64 }] >> [{ i8*, i32, i32, i64 } { i8* getelementptr inbounds ([3 x i8], [3 x >> i8]* @__llvm_profile_name_foo, i32 0, i32 0), i32 3, i32 9, i64 >> {{[0-9]+}} }, { i8*, i32, i32, i64 } { i8* getelementptr inbounds >> ([4 x i8], [4 x i8]* @__llvm_profile_name_main, i32 0, i32 0), i32 >> 4, i32 9, i64 {{[0-9]+}} }] >> +// CHECK: @__llvm_coverage_mapping = internal constant { i32, i32, >> i32, i32, [2 x <{ i8*, i32, i32, i64 }>], [{{[0-9]+}} x i8] } { i32 >> 2, i32 {{[0-9]+}}, i32 {{[0-9]+}}, i32 0, [2 x <{ i8*, i32, i32, i64 >> }>] [<{ i8*, i32, i32, i64 }> <{ i8* getelementptr inbounds ([3 x >> i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0), i32 3, i32 >> 9, i64 {{[0-9]+}} }>, <{ i8*, i32, i32, i64 }> <{ i8* getelementptr >> inbounds ([4 x i8], [4 x i8]* @__llvm_profile_name_main, i32 0, i32 >> 0), i32 4, i32 9, i64 {{[0-9]+}} }>] >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits