[LLVMdev] Performance regression on ARM

Anton Korobeynikov anton at korobeynikov.info
Sat Oct 18 04:27:37 PDT 2014


Hi Chandler,

That's embarrassing how weird this part of clang is. I have a provisional
patch which fixes the problem but underlines clang's problems. I will
submit it tonight for comments.

суббота, 18 октября 2014 г. пользователь Chandler Carruth написал:

>
> On Fri, Oct 17, 2014 at 7:51 AM, Anton Korobeynikov <
> anton at korobeynikov.info
> <javascript:_e(%7B%7D,'cvml','anton at korobeynikov.info');>> wrote:
>
>> > Chandler’s complex arithmetic changes are also in the range: r219557
>> in clang.  We saw it change the code in mandel-2 significantly.
>> mandel-2 is broken on hard FP ABI systems, btw. The reason is simply:
>> we're emitting a call to __muldc3 with AAPCS VFP calling convention,
>> however, the function expects softfp (AAPCS) calling conv and reads
>> garbage from GP registers.
>>
>> I'm working on fix.
>
>
> Thanks for looking at this Anton.
>
> I don't really know what signal should be used here. Several initial
> attempts at this didn't work because of ABI and calling convention issues
> and I thought I had figured out a sound solution by directly forming and
> calling the library routines using Clang's code generation to handle all of
> the ABI issues.... but apparently not.
>
> If you need to back out the patch temporarily or take any other steps to
> mitigate, by all means. =/ Sorry for the fallout.
>


-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141018/958de1a8/attachment.html>


More information about the llvm-dev mailing list