search for: getblockfrequency

Displaying 4 results from an estimated 4 matches for "getblockfrequency".

2013 Jun 12
3
[LLVMdev] RFC - Profile Guided Optimization in LLVM
...Agreed. An important consideration here is WPO vs. LTO vs. TU-at-a-time call graphs. > FWIW, the greedy register allocator’s live range splitting algorithm is > designed to consume profile information so it can push spill code into cold > blocks. The primary interface is SpillPlacement::getBlockFrequency() which > currently returns an estimate based on loop depth only. > It doesn't use MachineBlockFrequency? If it does, it will get a lot more than loop depth: __builtin_expect, cold function attribute, and static branch heuristics. If it doesn't it should, and then it will immediately...
2013 Jun 12
0
[LLVMdev] RFC - Profile Guided Optimization in LLVM
...ght need a way of representing call graph profiling in addition to the existing branch probabilities? FWIW, the greedy register allocator’s live range splitting algorithm is designed to consume profile information so it can push spill code into cold blocks. The primary interface is SpillPlacement::getBlockFrequency() which currently returns an estimate based on loop depth only. /jakob
2013 Jun 12
0
[LLVMdev] RFC - Profile Guided Optimization in LLVM
...> Agreed. An important consideration here is WPO vs. LTO vs. TU-at-a-time call graphs. > > FWIW, the greedy register allocator’s live range splitting algorithm is designed to consume profile information so it can push spill code into cold blocks. The primary interface is SpillPlacement::getBlockFrequency() which currently returns an estimate based on loop depth only. > > It doesn't use MachineBlockFrequency? If it does, it will get a lot more than loop depth: __builtin_expect, cold function attribute, and static branch heuristics. If it doesn't it should, and then it will immediately...
2013 Jun 12
6
[LLVMdev] RFC - Profile Guided Optimization in LLVM
I have started looking at the state of PGO (Profile Guided Optimization) in LLVM.**I want to discuss my high-level plan and make sure I'm not missing anything interesting out. I appreciate any feedback on this, pointers to existing work, patches and anything related to PGO in LLVM. I will be keeping changes to this plan in this web document