Re: Cross-module inlining in gdc

2011-02-09 Thread Iain Buclaw
== Quote from Mike Farnsworth (mike.farnswo...@gmail.com)'s article > When doing -combine, is there a way to get gdc to feed all of the source to > the frontend all at once, such that all the definitions/bodies/etc. are all present so that inlining can occur? I would imagine even this strategy f

Re: Cross-module inlining in gdc

2011-02-09 Thread Mike Farnsworth
Trass3r Wrote: > > // Assume __v4sf is defined by the compiler > > pragma(set_attribute, _mm_add_ps, always_inline, artificial); > > __v4sf _mm_add_ps (__v4sf __A, __v4sf __B) > > { > > return __builtin_ia32_addps(__A, __B); > > } > > 2 notes: > Isn't it pragma(GNU_set_attribute? > > And you

Re: Cross-module inlining in gdc

2011-02-09 Thread Trass3r
// Assume __v4sf is defined by the compiler pragma(set_attribute, _mm_add_ps, always_inline, artificial); __v4sf _mm_add_ps (__v4sf __A, __v4sf __B) { return __builtin_ia32_addps(__A, __B); } 2 notes: Isn't it pragma(GNU_set_attribute? And you should be able to do pragma(GNU_attribute, alwa

Cross-module inlining in gdc

2011-02-09 Thread Mike Farnsworth
So, as I've been working on getting the gcc builtins available to D code (somewhat successfully as of last night, I might add), I've run into a fairly significant inlining problem. Given a function definition in D, where I want to force inlining: // Assume __v4sf is defined by the compiler prag