[LLVMdev] Memset/memcpy: user control of loop-idiom recognizer

Robert Lougher
Fri, 05 Dec 2014 16:02:56 -0000

On 5 December 2014 at 06:49, Sean Silva <chisophugis at gmail.com>
wrote:
>
>
> On Wed, Dec 3, 2014 at 4:23 AM, Robert Lougher <rob.lougher at
gmail.com>
> wrote:
>>
>> Hi,
>>
>> In feedback from game studios a common issue is the replacement of
>> loops with calls to memcpy/memset.  These loops are often
>> hand-optimised, and highly-efficient and the developers strongly want
>> a way to control the compiler (i.e. leave my loop alone).
>
>
> Please provide examples of such "hand-optimised, and
highly-efficient"
> routines and test cases (and execution conditions) that demonstrate a
> performance improvement.
>

This sounds like a cop-out, but we can't share customer code (even if
we could get a small runnable example).  But this is all getting
beside the point.  I discussed performance issues to try and justify
why the user should have control.  That was probably a mistake as it
has subverted the conversation.  The blunt fact is that game
developers don't like their loops being replaced and they want user
control.  The real conversation I wanted was what form should this
user control take.  To be honest, I am surprised at the level of
resistance to giving users *any* control over their codegen.