This is the mail archive of the
mailing list for the GCC project.
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.