[llvmlinux] ARM Integrated Assembler by default

Behan Webster behanw at converseincode.com
Tue Dec 10 19:58:58 UTC 2013

On 12/10/13 07:34, Renato Golin wrote:
> On 10 December 2013 14:09, Behan Webster <behanw at converseincode.com> wrote:
>> For now we've mostly just used "-no-integrated-as" to narrow down our
>> focus of getting the rest working and upstream first.
> Hi Behan,
> Thanks for you answer, this is exactly what I wanted to know. Turning
> on the IAS won't break anything for you guys, as that would be a major
> pain, and I'm happy that we can de-couple both progresses.
Indeed. :)

> I just sent an email to turn it on by default, as is the consensus of
> most ARM maintainers, and we should be doing this soon. We're opening
> bugs in the LLVM bugzilla with all missign support from IAS, so if you
> guys know of anything, please report them, feel free to copy me, and
> we can check later if we add support in the IAS, or we wait for it to
> be fixed in the kernel or GCC.
We'll definitely let you know, and probably lean on you a bit for a fix. ;)

>> The simplest thing to say is that IA on the ARM side doesn't support
>> non-unified ARM ASM format, nor the many GNU extensions used in the
>> kernel code
> Yes, I know. And as you said later, it's not just syntax, it's the
> unwritten contract that gets as low as emitting spurious data
> barriers, which is quite serious, I think.
Agreed. It's both extremely clever and truly awful at the same time.

> If they have to access the stack to emit a data memory barrier, than
> this seems like a bug in both GCC and kernel, and we should have
> enough arguments to fix all three!
Sure, but the kernel community will want to see something at least as
efficient and/or more readable in order to replace it.

Remember the average kernel guy doesn't think that these sorts of things
need fixing since it works with gcc/gas.

> Regardless, I agree we should progress independently, but would be
> very good if you guys could report the known cases, too. I have
> already reported the missing command-line options Vinicius found.
Will do.  Thanks


Behan Webster
behanw at converseincode.com

More information about the LLVMLinux mailing list