This is the mail archive of the gcc@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: ObjC tree inlining


On Nov 18, 2001, Neil Booth <neil@daikokuya.demon.co.uk> wrote:

> Alexandre Oliva wrote:-
>> On Nov 18, 2001, Neil Booth <neil@daikokuya.demon.co.uk> wrote:
>> 
>> > However, nothing equivalent exists for ObjC (or C++ for that matter).
>> > Should ObjC and C++ have this?
>> 
>> I copied this from C++.  IIRC, c-lang.c applies to objc too, so it's
>> already got it.  If not, feel free to correct my mistake.

> c-lang.c is C only.

Oops.

> I think it would be good to create a C directory
> for the C front end to dispel confusion like this.  It might also help
> towards making C just another front end, rather than the somewhat
> special status it currently has.  What do you think Joseph?

Yup, I've entertained this idea for a while, but never got to
implement it.  Ditto for moving libgcc out of gcc into a regular
target library and moving the implementation of bootstrap to the top
level.

> As for C++, like you said, I found some of the code in cp/decl.c.
> However, it is not conditional on flag_instrument_function_entry_exit
> like it is in c-lang.c.

Yup.  I made it conditional in C because doing tree inlining would
mean we wouldn't be instrumenting inlined functions, because we only
instrument them as trees, only as RTL.  The same test should probably
be done in C++, or we should instrument functions as trees.  The
latter is definitely preferable, since we're phasing out RTL inlining.

> -finstrument-functions is listed as language
> independent.  Does this mean that the whole block of code should be in
> process_options() in toplev.c where it is language independent?

Nope.  The code inside the if block is what turns flags that would
have originally enabled rtl inlining into flags that enable tree
inlining.  We only want to do this on front-ends that support tree
inlining.  It could be moved to toplev.c if we introduced a language
hook that indicated the language supports tree inlining.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me


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