[llvm-dev] Query : Profile Guided Basic Block Placement Pass

Xinliang David Li via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 18 16:29:17 PST 2016


On Mon, Jan 18, 2016 at 5:22 AM, vivek pandya via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hello,
>
> Can some one please provide the file name that implements
> *-block-placement* pass?
>

MachineBlockPlacement.cpp

>
> Suggestions required :
> I have been reading about Patterson's branch prediction with VRP. So is it
> possible to use this prediction information in Pettis and Hansen 's basic
> block placement ( -basic-placement pass in llvm ) instead of profile guided
> feedback and thus eliminating profiling from -block-palcement pass ?
>

Block placement pass is a user of the branch probability information which
can be obtained from profile feedback or static branch prediction.  Saying
'eliminating' profling from block-placement pass does not make sense.



> As far as coding part is concern it requires Patterson's VRP and branch
> prediction implementation in LLVM ( I think which is not implemented in
> LLVM ) and then modifying -block-placement pass.
> This VRP implementation can be used to improve other optimizations too as
> mentioned in Patterson's paper.
>

The place where static branch prediction is done is in
BranchProbabilityInfo.cpp which implements a couple of simple heuristics.
The VRP based branch prediction fits better there.

David


> I am thinking to apply for this as GSoC 2016 project under llvm.org .
> Please provide thoughts about this.
>
> Sincerely,
> Vivek Pandya
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160118/fe3f38a7/attachment.html>


More information about the llvm-dev mailing list