This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Ada] Macro-ize a couple of wrappers


Eric Botcazou <ebotcazou@adacore.com>:
> Nothing is inlined here at -O2, this would duplicate a big function.  And a
> sibling call is not possible (on the x86) because of the boolean arguments.

I meant inlining the wrapper not the ultimate function, eg transforming:

extern int interior(int a,b,c,d);

int wrapper(int a,b,c,d) {
  return interior(a,b,c,d); /* or some simple reshufling/selecting */
}

void test(void) {
  int r=wrapper(1,2,3,4);
}

into =>

void test(void) {
  int r=interior(1,2,3,4);
}

I never checked code generated by GCC on such case but I was expecting the
transformation to be done :).

Laurent


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]