Eric Christopher
2014-Jan-08 12:23 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
I knew I'd regret leaving that option in for the MIPS port back in 99. Basically this is the only acceptable way for mcpu to exist, but should never have been added to the GCC aarch64 port at all since there's no compatibility with existing build systems to worry about. I would still like you to show this mythical piece of software that needs this compatibility. -eric On Jan 8, 2014 3:06 AM, "Bernie Ogden" <bogden at arm.com> wrote:> I think there's an error in the example here. > http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/AArch64-Options.html still > documents -mcpu, and that march does not take CPUs as arguments. A local > GCC developer tells me that the documentation is wrong in that -mcpu is > actually a shorthand for specifying both -mtune and -march, but that the > option is certainly there. > > > > If we want GCC comptability then that's what we have to do, unless someone > knows that GCC ARM/AArch64 is actually going to move away from this. > > > > Do we want GCC compatibility? > > > > Regards, > > > > Bernie > > > > > > *From:* cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] *On > Behalf Of *Eric Christopher > *Sent:* 07 January 2014 21:37 > *To:* Renato Golin; Amara Emerson; Clang Dev; LLVM Dev > *Subject:* Re: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal > > > > Parsing the arch string is a bit icky, but I don't really have too much of > a problem with it - and it's better than -mcpu so... > > > > -eric > > > > On Tue Jan 07 2014 at 9:23:43 AM, Renato Golin <renato.golin at linaro.org> > wrote: > > On 7 January 2014 17:05, Amara Emerson <amara.emerson at arm.com> wrote: > > We plan on implementing this interface for AArch64 Clang in future, and > completely dropping the current support for -mfpu. This means that -march > will become the preferred way to specify the target CPU/architecture. > > > > Hi Amara, > > > > This is something we were converging on the ARM32 world, too, and I > believe other targets would probably do the same, if not before us. > Hopefully, that'd also help clean up the driver's code in the process. > > > > cheers, > > --renato > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140108/438392df/attachment.html>
Bernard Ogden
2014-Jan-08 12:32 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
I'm just stating that _if_ GCC compatibility is desired then we have to have -mcpu. I don't think there's software that *needs* the compatibility, but it is easier for GCC projects to switch to clang if that compatibility is there - which I think is why we go for GCC compatibility in the first place? (I raised http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718 on the GCC docs.) From: Eric Christopher [mailto:echristo at gmail.com] Sent: 08 January 2014 12:23 To: Bernard Ogden Cc: Renato Golin; LLVM Developers Mailing List; Clang Dev; Amara Emerson Subject: RE: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal I knew I'd regret leaving that option in for the MIPS port back in 99. Basically this is the only acceptable way for mcpu to exist, but should never have been added to the GCC aarch64 port at all since there's no compatibility with existing build systems to worry about. I would still like you to show this mythical piece of software that needs this compatibility. -eric On Jan 8, 2014 3:06 AM, "Bernie Ogden" <bogden at arm.com<mailto:bogden at arm.com>> wrote: I think there's an error in the example here. http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/AArch64-Options.html still documents -mcpu, and that march does not take CPUs as arguments. A local GCC developer tells me that the documentation is wrong in that -mcpu is actually a shorthand for specifying both -mtune and -march, but that the option is certainly there. If we want GCC comptability then that's what we have to do, unless someone knows that GCC ARM/AArch64 is actually going to move away from this. Do we want GCC compatibility? Regards, Bernie From: cfe-dev-bounces at cs.uiuc.edu<mailto:cfe-dev-bounces at cs.uiuc.edu> [mailto:cfe-dev-bounces at cs.uiuc.edu<mailto:cfe-dev-bounces at cs.uiuc.edu>] On Behalf Of Eric Christopher Sent: 07 January 2014 21:37 To: Renato Golin; Amara Emerson; Clang Dev; LLVM Dev Subject: Re: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal Parsing the arch string is a bit icky, but I don't really have too much of a problem with it - and it's better than -mcpu so... -eric On Tue Jan 07 2014 at 9:23:43 AM, Renato Golin <renato.golin at linaro.org<mailto:renato.golin at linaro.org>> wrote: On 7 January 2014 17:05, Amara Emerson <amara.emerson at arm.com<mailto:amara.emerson at arm.com>> wrote: We plan on implementing this interface for AArch64 Clang in future, and completely dropping the current support for -mfpu. This means that -march will become the preferred way to specify the target CPU/architecture. Hi Amara, This is something we were converging on the ARM32 world, too, and I believe other targets would probably do the same, if not before us. Hopefully, that'd also help clean up the driver's code in the process. cheers, --renato -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140108/d4f76baa/attachment.html>
Bernie Ogden
2014-Jan-08 12:33 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
I'm just stating that _if_ GCC compatibility is desired then we have to have -mcpu. I don't think there's software that *needs* the compatibility, but it is easier for GCC projects to switch to clang if that compatibility is there - which I think is why we go for GCC compatibility in the first place? (I raised http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718 on the GCC docs.) From: Eric Christopher [mailto:echristo at gmail.com] Sent: 08 January 2014 12:23 To: Bernard Ogden Cc: Renato Golin; LLVM Developers Mailing List; Clang Dev; Amara Emerson Subject: RE: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal I knew I'd regret leaving that option in for the MIPS port back in 99. Basically this is the only acceptable way for mcpu to exist, but should never have been added to the GCC aarch64 port at all since there's no compatibility with existing build systems to worry about. I would still like you to show this mythical piece of software that needs this compatibility. -eric On Jan 8, 2014 3:06 AM, "Bernie Ogden" <bogden at arm.com> wrote: I think there's an error in the example here. http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/AArch64-Options.html still documents -mcpu, and that march does not take CPUs as arguments. A local GCC developer tells me that the documentation is wrong in that -mcpu is actually a shorthand for specifying both -mtune and -march, but that the option is certainly there. If we want GCC comptability then that's what we have to do, unless someone knows that GCC ARM/AArch64 is actually going to move away from this. Do we want GCC compatibility? Regards, Bernie From: cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] On Behalf Of Eric Christopher Sent: 07 January 2014 21:37 To: Renato Golin; Amara Emerson; Clang Dev; LLVM Dev Subject: Re: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal Parsing the arch string is a bit icky, but I don't really have too much of a problem with it - and it's better than -mcpu so... -eric On Tue Jan 07 2014 at 9:23:43 AM, Renato Golin <renato.golin at linaro.org> wrote: On 7 January 2014 17:05, Amara Emerson <amara.emerson at arm.com> wrote: We plan on implementing this interface for AArch64 Clang in future, and completely dropping the current support for -mfpu. This means that -march will become the preferred way to specify the target CPU/architecture. Hi Amara, This is something we were converging on the ARM32 world, too, and I believe other targets would probably do the same, if not before us. Hopefully, that'd also help clean up the driver's code in the process. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140108/f318cd58/attachment.html>
Eric Christopher
2014-Jan-08 12:34 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
We typically add options in clang only if there is a user for them. On Jan 8, 2014 4:32 AM, "Bernard Ogden" <Bernard.Ogden at arm.com> wrote:> I'm just stating that _if_ GCC compatibility is desired then we have to > have -mcpu. > > > > I don't think there's software that *needs* the compatibility, but it is > easier for GCC projects to switch to clang if that compatibility is there - > which I think is why we go for GCC compatibility in the first place? > > > > (I raised http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718 on the GCC > docs.) > > *From:* Eric Christopher [mailto:echristo at gmail.com] > *Sent:* 08 January 2014 12:23 > *To:* Bernard Ogden > *Cc:* Renato Golin; LLVM Developers Mailing List; Clang Dev; Amara Emerson > *Subject:* RE: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal > > > > I knew I'd regret leaving that option in for the MIPS port back in 99. > Basically this is the only acceptable way for mcpu to exist, but should > never have been added to the GCC aarch64 port at all since there's no > compatibility with existing build systems to worry about. > > I would still like you to show this mythical piece of software that needs > this compatibility. > > -eric > > On Jan 8, 2014 3:06 AM, "Bernie Ogden" <bogden at arm.com> wrote: > > I think there's an error in the example here. > http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/AArch64-Options.html still > documents -mcpu, and that march does not take CPUs as arguments. A local > GCC developer tells me that the documentation is wrong in that -mcpu is > actually a shorthand for specifying both -mtune and -march, but that the > option is certainly there. > > > > If we want GCC comptability then that's what we have to do, unless someone > knows that GCC ARM/AArch64 is actually going to move away from this. > > > > Do we want GCC compatibility? > > > > Regards, > > > > Bernie > > > > > > *From:* cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] *On > Behalf Of *Eric Christopher > *Sent:* 07 January 2014 21:37 > *To:* Renato Golin; Amara Emerson; Clang Dev; LLVM Dev > *Subject:* Re: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal > > > > Parsing the arch string is a bit icky, but I don't really have too much of > a problem with it - and it's better than -mcpu so... > > > > -eric > > > > On Tue Jan 07 2014 at 9:23:43 AM, Renato Golin <renato.golin at linaro.org> > wrote: > > On 7 January 2014 17:05, Amara Emerson <amara.emerson at arm.com> wrote: > > We plan on implementing this interface for AArch64 Clang in future, and > completely dropping the current support for -mfpu. This means that -march > will become the preferred way to specify the target CPU/architecture. > > > > Hi Amara, > > > > This is something we were converging on the ARM32 world, too, and I > believe other targets would probably do the same, if not before us. > Hopefully, that'd also help clean up the driver's code in the process. > > > > cheers, > > --renato > > > -- IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. > > ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2557590 > ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2548782 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140108/c5d83a41/attachment.html>
Eric Christopher
2014-Jan-08 12:44 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
Shrug, my concern was the ridiculous arm32 version. If you want a confusing duplicate option for setting both when just march should do then knock yourself out. On Jan 8, 2014 4:34 AM, "Bernie Ogden" <bogden at arm.com> wrote:> I'm just stating that _if_ GCC compatibility is desired then we have to > have -mcpu. > > > > I don't think there's software that *needs* the compatibility, but it is > easier for GCC projects to switch to clang if that compatibility is there - > which I think is why we go for GCC compatibility in the first place? > > > > (I raised http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718 on the GCC > docs.) > > > > > > *From:* Eric Christopher [mailto:echristo at gmail.com] > *Sent:* 08 January 2014 12:23 > *To:* Bernard Ogden > *Cc:* Renato Golin; LLVM Developers Mailing List; Clang Dev; Amara Emerson > *Subject:* RE: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal > > > > I knew I'd regret leaving that option in for the MIPS port back in 99. > Basically this is the only acceptable way for mcpu to exist, but should > never have been added to the GCC aarch64 port at all since there's no > compatibility with existing build systems to worry about. > > I would still like you to show this mythical piece of software that needs > this compatibility. > > -eric > > On Jan 8, 2014 3:06 AM, "Bernie Ogden" <bogden at arm.com> wrote: > > I think there's an error in the example here. > http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/AArch64-Options.html still > documents -mcpu, and that march does not take CPUs as arguments. A local > GCC developer tells me that the documentation is wrong in that -mcpu is > actually a shorthand for specifying both -mtune and -march, but that the > option is certainly there. > > > > If we want GCC comptability then that's what we have to do, unless someone > knows that GCC ARM/AArch64 is actually going to move away from this. > > > > Do we want GCC compatibility? > > > > Regards, > > > > Bernie > > > > > > *From:* cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] *On > Behalf Of *Eric Christopher > *Sent:* 07 January 2014 21:37 > *To:* Renato Golin; Amara Emerson; Clang Dev; LLVM Dev > *Subject:* Re: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal > > > > Parsing the arch string is a bit icky, but I don't really have too much of > a problem with it - and it's better than -mcpu so... > > > > -eric > > > > On Tue Jan 07 2014 at 9:23:43 AM, Renato Golin <renato.golin at linaro.org> > wrote: > > On 7 January 2014 17:05, Amara Emerson <amara.emerson at arm.com> wrote: > > We plan on implementing this interface for AArch64 Clang in future, and > completely dropping the current support for -mfpu. This means that -march > will become the preferred way to specify the target CPU/architecture. > > > > Hi Amara, > > > > This is something we were converging on the ARM32 world, too, and I > believe other targets would probably do the same, if not before us. > Hopefully, that'd also help clean up the driver's code in the process. > > > > cheers, > > --renato > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140108/94256e58/attachment.html>
Eric Christopher
2014-Jan-08 12:45 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
Ah and thanks for the GCC bug. That should help clarify matters. I assume that big. LITTLE support is coming as well in the option parser? On Jan 8, 2014 4:34 AM, "Bernie Ogden" <bogden at arm.com> wrote:> I'm just stating that _if_ GCC compatibility is desired then we have to > have -mcpu. > > > > I don't think there's software that *needs* the compatibility, but it is > easier for GCC projects to switch to clang if that compatibility is there - > which I think is why we go for GCC compatibility in the first place? > > > > (I raised http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718 on the GCC > docs.) > > > > > > *From:* Eric Christopher [mailto:echristo at gmail.com] > *Sent:* 08 January 2014 12:23 > *To:* Bernard Ogden > *Cc:* Renato Golin; LLVM Developers Mailing List; Clang Dev; Amara Emerson > *Subject:* RE: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal > > > > I knew I'd regret leaving that option in for the MIPS port back in 99. > Basically this is the only acceptable way for mcpu to exist, but should > never have been added to the GCC aarch64 port at all since there's no > compatibility with existing build systems to worry about. > > I would still like you to show this mythical piece of software that needs > this compatibility. > > -eric > > On Jan 8, 2014 3:06 AM, "Bernie Ogden" <bogden at arm.com> wrote: > > I think there's an error in the example here. > http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/AArch64-Options.html still > documents -mcpu, and that march does not take CPUs as arguments. A local > GCC developer tells me that the documentation is wrong in that -mcpu is > actually a shorthand for specifying both -mtune and -march, but that the > option is certainly there. > > > > If we want GCC comptability then that's what we have to do, unless someone > knows that GCC ARM/AArch64 is actually going to move away from this. > > > > Do we want GCC compatibility? > > > > Regards, > > > > Bernie > > > > > > *From:* cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] *On > Behalf Of *Eric Christopher > *Sent:* 07 January 2014 21:37 > *To:* Renato Golin; Amara Emerson; Clang Dev; LLVM Dev > *Subject:* Re: [cfe-dev] [LLVMdev] AArch64 Clang CLI interface proposal > > > > Parsing the arch string is a bit icky, but I don't really have too much of > a problem with it - and it's better than -mcpu so... > > > > -eric > > > > On Tue Jan 07 2014 at 9:23:43 AM, Renato Golin <renato.golin at linaro.org> > wrote: > > On 7 January 2014 17:05, Amara Emerson <amara.emerson at arm.com> wrote: > > We plan on implementing this interface for AArch64 Clang in future, and > completely dropping the current support for -mfpu. This means that -march > will become the preferred way to specify the target CPU/architecture. > > > > Hi Amara, > > > > This is something we were converging on the ARM32 world, too, and I > believe other targets would probably do the same, if not before us. > Hopefully, that'd also help clean up the driver's code in the process. > > > > cheers, > > --renato > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140108/a2c5ac9d/attachment.html>
Renato Golin
2014-Jan-08 12:58 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
On 8 January 2014 12:32, Bernard Ogden <Bernard.Ogden at arm.com> wrote:> I don't think there's software that *needs* the compatibility, but it is > easier for GCC projects to switch to clang if that compatibility is there - > which I think is why we go for GCC compatibility in the first place? >Hi Bernie, GCC compatibility is always considered to be an important feature of LLVM, not the *most* important one. We'll never go beyond reason to add GCC compatibility just because, especially one that is poorly or not at all documented. The general rule of thumb is to ask the questions: * Do we really need it? * Isn't there any other way? * Is this sane? Or should the original authors re-write their programs? There has been some progress on both GCC and LLVM to co-operate, rather than follow each other blindly, and I can see this as the only future for both toolchains. In this specific case, I'd strongly oppose to follow whatever GCC does, since the Clang driver is already mind bogging. The only reasonable course of action from here is to open the discussion in the GCC and LLVM community together (not sure how, but we'll *have* to figure it out), and follow from there. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140108/9524f8bb/attachment.html>
Richard Sandiford
2014-Jan-08 15:44 UTC
[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal
Eric Christopher <echristo at gmail.com> writes:> I knew I'd regret leaving that option in for the MIPS port back in 99.It didn't last long :-) -mcpu for MIPS went away in 2002. Thanks, Richard