[llvm] r256715 - [PGO] Cleanup: Use covmap header definition in the template file

Vedant Kumar via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 4 10:33:29 PST 2016


Hi David,

Please update http://llvm.org/docs/CoverageMappingFormat.html accordingly.

thanks
vedant


> On Jan 3, 2016, at 11:26 AM, Xinliang David Li via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> Author: davidxl
> Date: Sun Jan  3 13:26:07 2016
> New Revision: 256715
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=256715&view=rev
> Log:
> [PGO] Cleanup: Use covmap header definition in the template file
> 
> This is one last remaining instrumentatation related structure
> that needs to be migrate to use the centralized template
> definition.  With this change, instrumentation code 
> related to coverage module header will be kept in sync
> with the coverage mapping reader. The remaining code
> which makes implicit assumption about covmap control
> structure layout in the the lowering pass will cleaned
> up in a different patch. This patch is not intended to
> have no functional change.
> 
> 
> 
> Modified:
>    llvm/trunk/lib/Transforms/Instrumentation/InstrProfiling.cpp
> 
> Modified: llvm/trunk/lib/Transforms/Instrumentation/InstrProfiling.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/InstrProfiling.cpp?rev=256715&r1=256714&r2=256715&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Instrumentation/InstrProfiling.cpp (original)
> +++ llvm/trunk/lib/Transforms/Instrumentation/InstrProfiling.cpp Sun Jan  3 13:26:07 2016
> @@ -238,12 +238,12 @@ void InstrProfiling::lowerCoverageData(G
>   CoverageData->setAlignment(8);
> 
>   Constant *Init = CoverageData->getInitializer();
> -  // We're expecting { i32, i32, i32, i32, [n x { i8*, i32, i32 }], [m x i8] }
> +  // We're expecting { [4 x 32], [n x { i8*, i32, i32 }], [m x i8] }
>   // for some C. If not, the frontend's given us something broken.
> -  assert(Init->getNumOperands() == 6 && "bad number of fields in coverage map");
> -  assert(isa<ConstantArray>(Init->getAggregateElement(4)) &&
> +  assert(Init->getNumOperands() == 3 && "bad number of fields in coverage map");
> +  assert(isa<ConstantArray>(Init->getAggregateElement(1)) &&
>          "invalid function list in coverage map");
> -  ConstantArray *Records = cast<ConstantArray>(Init->getAggregateElement(4));
> +  ConstantArray *Records = cast<ConstantArray>(Init->getAggregateElement(1));
>   for (unsigned I = 0, E = Records->getNumOperands(); I < E; ++I) {
>     Constant *Record = Records->getOperand(I);
>     Value *V = const_cast<Value *>(Record->getOperand(0))->stripPointerCasts();
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list