[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