[LLVMdev] RFC - Profile Guided Optimization in LLVM
Jakob Stoklund Olesen
stoklund at 2pi.dk
Wed Jun 12 15:25:03 PDT 2013
On Jun 12, 2013, at 3:15 PM, Chandler Carruth <chandlerc at google.com> wrote:
>
> On Wed, Jun 12, 2013 at 3:10 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
> It predates the block frequency interface. It just needs to be hooked up, patches welcome. It would also be nice to remove the floating point computations from the spill placement code.
>
> Cool, if Diego doesn't beat me to it, I may send you a patch as that seems easy and obviously beneficial.
Sounds good.
The only complication is that the floats are spilling into RAGreedy where they are used in the cost model. I think they can simply be replaced with BlockFrequency everywhere.
If the block frequencies make sense, this should also be unnecessary:
struct SpillPlacement::Node {
/// Scale - Inverse block frequency feeding into[0] or out of[1] the bundle.
/// Ideally, these two numbers should be identical, but inaccuracies in the
/// block frequency estimates means that we need to normalize ingoing and
/// outgoing frequencies separately so they are commensurate.
float Scale[2];
Thanks,
/jakob
More information about the llvm-dev
mailing list