[llvm-dev] [RFC] A new intrinsic, `llvm.blackbox`, to explicitly prevent constprop, die, etc optimizations

Richard Diamond via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 3 12:48:42 PST 2015


On Tue, Nov 3, 2015 at 1:18 PM, Owen Anderson <resistor at mac.com> wrote:

> To add on to what Danny and Krzysztof have said, this proposal doesn’t
> make a lot of sense to me.  You want this intrinsic to inhibit (some)
> optimizations, but you simultaneously want it not to have a performance
> impact.  Those are contradictory goals.  Worse, the proposal doesn’t
> specify what optimizations should/should not be allowed for this intrinsic,
> since apparently you want at least some applied.  Is CSE allowed? DCE?  PRE?
>
>
I apologize for the confusion. I don't think the goals are contradictory.
We're talking about code the developer *specifically* doesn't want
optimized away, but otherwise doesn't care about what optimization
transforms are employed. So yes, I want it to inhibit some optimizations,
but without otherwise having a performance impact outside of the obviously
prevented optimizations.

PRE would be fine, as long as the expression in question doesn't make a
call to this intrinsic.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151103/39e441cb/attachment.html>


More information about the llvm-dev mailing list