[LLVMdev] [PATCH] 3.3 Release fix on ARM - atomics
Rafael EspĂndola
rafael.espindola at gmail.com
Mon May 13 10:38:01 PDT 2013
On 13 May 2013 10:59, Renato Golin <renato.golin at linaro.org> wrote:
> Hi Rafael,
>
> As you mentioned in the bug, we should only apply this change when
> hard-float is set, which it is by default on armv7a, I presume.
>
> From that part of the code, I can infer that by the time
> "MaxAtomicPromoteWidth = 64;", the variable SoftFloat is not properly set,
> so a simple "if (!SoftFloat)" won't cut in there. It seems SoftFloat is
> being set on HandleTargetFeatures() which is a virtual method, probably
> called indirectly. Do you have a better place to set MaxAtomicInlineWidth =
> 64?
I have asked on #gcc what gcc does. I have posted a detailed
description in the bug, but the summary is that there is some
cooperation with the kernel going on that should make it safe to set
MaxAtomicInlineWidth to 64 when targeting linux armv6 or newer. Hard
float using it then just becomes a consequence of it implying armv7.
I know think we need something like the attached patch (with tests and
comments added).
Cheers,
Rafael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: t.patch
Type: application/octet-stream
Size: 1135 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130513/d36a4baf/attachment.obj>
More information about the llvm-dev
mailing list