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);
   }
 
   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

Reply via email to