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: [CFT] kill darwin encode_section_info


On Tue, May 13, 2003 at 06:34:18PM -0700, Dale Johannesen wrote:
> I've seen it before, and I expect there's a good reason it was using 
> current_function_uses_pic_offset_table instead.  I see that several 
> other ports also use it.  So why not?

Because it's less efficient.

If you use current_function_uses_pic_offset_table, if any code
*ever* exists that looks at symbolic info you are forced to load
the pic register.  Even if the code that needed it is removed
as dead.  Plus, to a large extent you get the life info for the
pic register for free as a part of flow1.

IMO the ports that still use current_function_uses_pic_offset_table
ought to be updated.  We know how to get things right on x86, alpha,
ia64, to name a few; it shouldn't be that hard to do it right elsewhere.

I'll look at the test case again; hopefully I can see the missed
pic register load/store even if I don't get the bus error.


r~


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