Displaying 3 results from an estimated 3 matches for "instructiobns".
Did you mean:
insructions
2012 Sep 08
0
[LLVMdev] isSafeToSpeculativelyExecute() for CallInst
...elyExecute() always returns false for Call instructions.
> This has actual performance implications, because loop-invariant code motion makes this check, and will never hoist instructions that are not safe to speculatively execute.
LICM::canSinkOrHoistInst has special handling for hoisting Call Instructiobns. It looks like readonly functions should be hoisted. Do you have test cases which fail ?
Thanks,
Nadav
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120908/7cbd3fee/attachment.html>
2012 Sep 09
1
[LLVMdev] isSafeToSpeculativelyExecute() for CallInst
...ll
>> instructions.
>> This has actual performance implications, because loop-invariant code motion
>> makes this check, and will never hoist instructions that are not safe to
>> speculatively execute.
>
> LICM::canSinkOrHoistInst has special handling for hoisting Call Instructiobns.
> It looks like readonly functions should be hoisted. Do you have test cases
> which fail ?
a readonly/readnone function may contain divide by zero.
Ciao, Duncan.
2012 Aug 19
2
[LLVMdev] isSafeToSpeculativelyExecute() for CallInst
Hello,
Currently, llvm::isSafeToSpeculativelyExecute() always returns false for Call instructions.
This has actual performance implications, because loop-invariant code motion makes this check, and will never hoist instructions that are not safe to speculatively execute.
Unfortunately, there is currently no way to signal to LICM that a function is safe to speculatively execute. The