[cfe-commits] r159368 - in /cfe/trunk: include/clang/Basic/BuiltinsMips.def lib/CodeGen/CGBuiltin.cpp

Benjamin Kramer benny.kra at gmail.com
Mon Jul 2 01:51:55 PDT 2012

On 02.07.2012, at 10:32, Simon Atanasyan wrote:

> Hi Benjamin,
> On Thu, Jun 28, 2012 at 11:10 PM, Benjamin Kramer
> <benny.kra at googlemail.com> wrote:
>> Author: d0k
>> Date: Thu Jun 28 14:10:01 2012
>> New Revision: 159368
>> URL: http://llvm.org/viewvc/llvm-project?rev=159368&view=rev
>> Log:
>> Now that we use the GCC builtin <-> llvm intrinsic, dead code eliminate the handwritten emitter.
> Thanks for the correction.
> I see that now it is not necessary to have a long switch for
> intrinsics emitting. But could you explain what should I do if I need
> to preprocess an intrinsic call expression before emitting? For
> example, I need to convert some vector type arguments to scalar
> integer ones.

Both ARM and X86 have some intrinsics that need preprocessing.
The way it is implemented is:

1. Don't attach a GCCBuiltin name to the intrinsic in the .td file in LLVM.
2. Add back the switch but only handle the special intrinsics.

- Ben

More information about the cfe-commits mailing list