On 02.07.2012, at 10:32, Simon Atanasyan wrote: > Hi Benjamin, > > On Thu, Jun 28, 2012 at 11:10 PM, Benjamin Kramer > <[email protected]> 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 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
