[LLVMdev] Performance regression on ARM
anton at korobeynikov.info
Sat Oct 18 04:27:37 PDT 2014
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
>> > 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...
More information about the llvm-dev