[llvm-commits] [llvm-gcc-4.2] r93409 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Jim Grosbach
grosbach at apple.com
Thu Jan 14 15:18:23 PST 2010
On Jan 14, 2010, at 2:03 AM, Duncan Sands wrote:
> Hi Evan,
>
>> Add missing memory barrier after binary atomic builtin. r74403
>> apparently left this out by mistake. x86 target will optimize it
>> away but it's looking for the barrier after the operation.
>
> what do you mean by "it's looking for the barrier after the
> operation"?
>
>> +#if defined(TARGET_ARM) && defined(CONFIG_DARWIN_H)
>
> Should this really be conditioned on the OS (darwin)? After all, how
> barriers work should be a processor issue, not an OS one...
>
Unfortunately, it's a bit of both, and there's not a really good way
of expressing everything right now. For example, on ARMv7, which
instructions should be used, and which sharability regions should be
specified, can vary depending on thing like whether the system is
multi-core or not, whether synchronization with peripherals is
required, etc.. For the time being, the OS+Target pair is being used
to express that. I'm not really fond of that aspect, but don't have a
strong answer for a replacement.
-Jim
More information about the llvm-commits
mailing list