[PATCH] D21467: [llc+llvm-mc] Prefer applying -mabi to the triple where possible and allow Mips to take ABI information in the triple.

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 11 11:30:30 PDT 2016


> So now you have a situation where there are two methods, that are both happening at the same time, of passing the ABI to the backend. There needs to be one.

That's not caused by this patch (or series), it's been the case since r224492. This patch just makes it obvious because a command line option is doing the substitution instead of the human writing the tests.

There are three camps today:
* ARM/PowerPC pass the ABI in _both_ the triple and MCTargetOptions
* Mips passes the ABI in the triple in some cases (O32, N64) and MCTargetOptions in other cases (N32).
* X86/everyone-else pass the ABI in the triple only

My patch series started out trying to reduce this to:
* ARM/PowerPC pass the ABI in _both_ the triple and MCTargetOptions
* Mips/X86/everyone-else pass the ABI in the triple only

I'm currently trying to re-work the plan to reduce this further one of these three options:
* ARM/PowerPC/Mips/X86/everyone-else pass the ABI in _both_ the triple and MCTargetOptions
* ARM/PowerPC/Mips/X86/everyone-else pass the ABI in MCTargetOptions only (already ruled out because MCTargetOptions is not sufficient for ARM/X86/Mips)
* ARM/PowerPC/Mips/X86/everyone-else pass the ABI in the triple only. (not ruled out yet but is significantly trickier than the first option)
The comments you're replying to are in line with aiming for the first of these three options.

I can't reach the end point in a single leap without breaking things or ending up with a truly massive patch. I need you to let me incrementally move towards it so that the trunk always works.

________________________________
From: Eric Christopher [echristo at gmail.com]
Sent: 11 July 2016 18:18
To: reviews+D21467+public+827b718e7f297099 at reviews.llvm.org; Daniel Sanders
Cc: llvm-commits at lists.llvm.org
Subject: Re: [PATCH] D21467: [llc+llvm-mc] Prefer applying -mabi to the triple where possible and allow Mips to take ABI information in the triple.

So now you have a situation where there are two methods, that are both happening at the same time, of passing the ABI to the backend. There needs to be one.



On Mon, Jul 11, 2016 at 8:52 AM Daniel Sanders via llvm-commits <llvm-commits at lists.llvm.org<mailto:llvm-commits at lists.llvm.org>> wrote:
dsanders added a comment.

> This patch only moves the Mips target to this mechanism at the moment. I'll develop the ARM/X86/other

>  patches separately and we can either commit them in sequence or fold them all into a single patch.


X86 doesn't need any changes because it doesn't support -target-abi (or -mabi in clang) at all.

PowerPC doesn't need any changes because the ABI only affects codegen.

That just leaves ARM since no other target is using -target-abi. I'm still confirming whether we need any changes to account for ARM.


http://reviews.llvm.org/D21467



_______________________________________________
llvm-commits mailing list
llvm-commits at lists.llvm.org<mailto:llvm-commits at lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160711/bc1324b3/attachment.html>


More information about the llvm-commits mailing list