Displaying 4 results from an estimated 4 matches for "execution_costs".
2008 Mar 29
2
[LLVMdev] Introducing a branch optimization and prediction pass
...if execution_cost_of(body) +
execution_cost_of(cmov)/branch_miss_probability < branch_miss_penalty,
or simply: execution_cost_of(body) < branch_miss_penalty
If it is bigger, then it is faster if we take the miss penalty (and
don't execute the body)
But miss-penalties, and execution_costs are target specific, so use
TargetData here (and teach it about penalties), or
use some heuristic based on number of instruction in basic block?
* if we cannot transform all instructions from the basic block into
instr+cmov, then it is not worth applying this optimization (since we'll
have...
2008 Mar 31
0
[LLVMdev] Introducing a branch optimization and prediction pass
..._of(body) +
> execution_cost_of(cmov)/branch_miss_probability < branch_miss_penalty,
> or simply: execution_cost_of(body) < branch_miss_penalty
> If it is bigger, then it is faster if we take the miss penalty (and
> don't execute the body)
> But miss-penalties, and execution_costs are target specific, so use
> TargetData here (and teach it about penalties), or
> use some heuristic based on number of instruction in basic block?
Sounds reasonable. But it's potentially more complicated than this for
a target like x86 that have very few registers. The speculative...
2008 Mar 31
2
[LLVMdev] Introducing a branch optimization and prediction pass
...execution_cost_of(cmov)/branch_miss_probability < branch_miss_penalty,
>> or simply: execution_cost_of(body) < branch_miss_penalty
>> If it is bigger, then it is faster if we take the miss penalty (and
>> don't execute the body)
>> But miss-penalties, and execution_costs are target specific, so use
>> TargetData here (and teach it about penalties), or
>> use some heuristic based on number of instruction in basic block?
>>
>
> Sounds reasonable. But it's potentially more complicated than this for
> a target like x86 that have...
2008 Mar 31
0
[LLVMdev] Introducing a branch optimization and prediction pass
...ility <
>>> branch_miss_penalty,
>>> or simply: execution_cost_of(body) < branch_miss_penalty
>>> If it is bigger, then it is faster if we take the miss penalty
>>> (and
>>> don't execute the body)
>>> But miss-penalties, and execution_costs are target specific, so
>>> use
>>> TargetData here (and teach it about penalties), or
>>> use some heuristic based on number of instruction in basic block?
>>>
>>
>> Sounds reasonable. But it's potentially more complicated than this
>>...