Displaying 5 results from an estimated 5 matches for "basefrequency".
2011 Oct 19
3
[LLVMdev] Question regarding basic-block placement optimization
...in->BBEnd = ++MachineFunction::iterator(From);
Does C++ allow this these days? I would prefer llvm::next(MachineFunction::iterator(From))
Note that MachineFunction::iterator decays into an MBB pointer, so you can say FI->canFallThrough() and AnalyzeBranch(*FI...)
+ WeightedEdge WE = { BaseFrequency * MBPI->getEdgeProbability(From, To),
Did we add API for this computation? We intended to add a function that computes this and saturates on overflow etc.
> Still, for the test cases that don't tickle the iteration bug, it generates beautiful, well laid out code. =]
I am sure others ha...
2011 Oct 20
0
[LLVMdev] Question regarding basic-block placement optimization
...to the BlockChain class.
> - Use a separate anonymous namespace per class, and don't indent for the namespace.
>
...
> Note that MachineFunction::iterator decays into an MBB pointer, so you can say FI->canFallThrough() and AnalyzeBranch(*FI...)
>
> + WeightedEdge WE = { BaseFrequency * MBPI->getEdgeProbability(From, To),
>
> Did we add API for this computation? We intended to add a function that computes this and saturates on overflow etc.
Overflow is handled transparently in the overloaded BlockFrequency::operator*(BranchProbability). But you could use the existing...
2011 Oct 19
0
[LLVMdev] Question regarding basic-block placement optimization
On Wed, Oct 19, 2011 at 3:24 AM, Chandler Carruth <chandlerc at google.com>wrote:
> On Tue, Oct 18, 2011 at 6:58 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
>>
>> On Oct 18, 2011, at 5:22 PM, Chandler Carruth wrote:
>>
>> As for why it should be an IR pass, mostly because once the selection
>>> dag runs through the code, we can never
2011 Oct 20
2
[LLVMdev] Question regarding basic-block placement optimization
...Through() and AnalyzeBranch(*FI...)
>
I'm aware, but there were a few weird places where it didn't happen, and
'From' seemed like a more readable name anyways... Lemme know if you'd
really rather I use the iterator everywhere.
> >
> > + WeightedEdge WE = { BaseFrequency * MBPI->getEdgeProbability(From,
> To),
> >
> > Did we add API for this computation? We intended to add a function that
> computes this and saturates on overflow etc.
>
> Overflow is handled transparently in the overloaded
> BlockFrequency::operator*(BranchProbability)...
2011 Oct 19
3
[LLVMdev] Question regarding basic-block placement optimization
On Tue, Oct 18, 2011 at 6:58 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On Oct 18, 2011, at 5:22 PM, Chandler Carruth wrote:
>
> As for why it should be an IR pass, mostly because once the selection dag
>> runs through the code, we can never recover all of the freedom we have at
>> the IR level. To start with, splicing MBBs around requires known about