[llvm-commits] EABI triples patch (1/2)

Jason Kim jasonwkim at google.com
Thu Jan 20 09:13:13 PST 2011


Hi Renato,

The patch looks fine.
Please do a quick once over and remove the extra trailing blanks and commit.
Thanks!

-jason

On Thu, Jan 20, 2011 at 8:22 AM, Renato Golin <Renato.Golin at arm.com> wrote:
> Ping!
>
> This is a very simple patch, can anyone have quick a look at it?
>
> cheers,
> --renato
>
> On 18/01/11 17:35, Renato Golin wrote:
>> The attached patch adds support for EABI triples in LLVM (from today's
>> r123755) regarding bug #8957
>>
>> http://llvm.org/bugs/show_bug.cgi?id=8957
>>
>> Rationale:
>>
>> Clang was not parsing target triples involving EABI and was generating
>> wrong IR (wrong PCS) and passing the wrong information down llc via
>> the target-triple printed in IR. I've fixed this by adding the parsing
>> of EABI into LLVM's Triple class and using it to choose the correct
>> PCS in Clang's Tools.
>>
>> There's still some edges to cover, such as the decisions of which PCS
>> to use based on Darwin's defaults (v6/v7). We should add support for
>> architecture definitions (TargetData?) to Clang, to be able to
>> correctly pass the options to llc AND re-generate the correct target
>> triple in the final IR.
>>
>> This patch (1/2):
>>
>> This is the LLVM part, that adds EABI, GNUEABI and GNU Environments to
>> the EnvironmentType enum, as well as support for the "none" in the
>> triple. Parsing of the "arm-none-eabi" triple is done by guessing
>> Environment from OS when OS is "none". Not the best way to do it, but
>> the triple support in LLVM is not that deterministic.
>>
>> I also fixed a problem created by adding the environment parsing with
>> triple "x86_64-gnu-linux" from one of the Clang tests, since "gnu" now
>> is an environment. Test cases were added to test the new functionality
>> and the change didn't break any other unit test.
>>
>> The second part of the patch (clang side) will be sent in a different
>> email.
>>
>
> -- 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.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list