[cfe-commits] r160308 - in /cfe/trunk: lib/CodeGen/CGBuiltin.cpp lib/CodeGen/CodeGenFunction.h test/CodeGen/builtins-mips-ovld.c

Hatanaka, Akira ahatanaka at mips.com
Mon Jul 16 13:19:00 PDT 2012


Yes, it should be possible for the backend to select the appropriate one.

I just wasn't sure whether clang would check whether the last argument is an immediate or variable.

________________________________________
From: simon at atanasyan.com [simon at atanasyan.com] on behalf of Simon Atanasyan [satanasyan at mips.com]
Sent: Monday, July 16, 2012 12:32 PM
To: Hatanaka, Akira; Benjamin Kramer
Cc: cfe-commits at cs.uiuc.edu
Subject: Re: [cfe-commits] r160308 - in /cfe/trunk: lib/CodeGen/CGBuiltin.cpp lib/CodeGen/CodeGenFunction.h test/CodeGen/builtins-mips-ovld.c

On Mon, Jul 16, 2012 at 11:01 PM, Benjamin Kramer <benny.kra at gmail.com> wrote:
> On 16.07.2012, at 20:52, Simon Atanasyan <satanasyan at mips.com> wrote:
>> Author: atanasyan
>> Date: Mon Jul 16 13:52:02 2012
>> New Revision: 160308
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=160308&view=rev
>> Log:
>> MIPS: Implement __builtin_mips_shll_qb builtin function overloading.
>> This function has two versions. The first one is used for a register operand.
>> The second one is used for an immediate number.
>
> Would it make sense to do this as an optimization in the backend instead? The IR optimizers can infer constants in a lot more cases, I assume the constant version of the builtin only differs in performance/code size?

Akira, is it possible to select an appropriate builtin in the MIPS
backend? In other words is it acceptable if the frontend emits a
single builtin nevertheless the function's arguments and the backend
is responsible for selecting and appropriate intrinsics?

BTW Benjamin, if I send a patch for review and do not get any
objections, is it okay to commit this patch in a week? Should I
continue to ping until I get any reply?

--
Simon




More information about the cfe-commits mailing list