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: patch for prologue/epilogue generation


Gunther Nikl wrote:

I'd like to go one step further and just call m68k_compute_frame_layout()
once per function, storing the result somewhere to reuse it later in all of
m68k_initial_elimination_offset() and m68k_output_function_{pro|epi}logue().

If thats possible, then its probably an improvement. I just noticed that m68k_compute_frame_layout has an if (0) block with a commented TARGET_CFV4E. Is that block necessary? The only difference with the TARGET_68881 block is the multiplication factor to frame->offset.

Support for the V4E ColdFire core was in a previous version of Peter Barada's patches, but he's not yet ported everything to latest GCC versions.

For now, I've refactored the code to avoid that duplicated block, but I've
left the commented test for CFV4E just in case.


  Would it be feasable to merge frame.offset and frame.size? AFAICS, both
  are always returned added together in m68k_initial_elimination_offset.

I think the m68k_frame structure should be designed to describe the frame as genericly as possible, so it could be reused for other pourposes. I'm planning to slowly replace all of those silly loops to compute saved register.

  Note, the patch has to be updated again since the ISO C90 conversion has
  probably broken it. Finally, in an added comment to m68k.h i386 is named.

I did the C90 conversion already. The i386 was indeed a cut & paste mistake. Fixed.


Could you please build this test program to check if C++ exceptions are
still working correctly on m68k? (It's attached). It doesn't work on
ColdFire.

I could but the AmigaOS port doesn't use DWARF2. Can an a.out target use it?

I think not. But anyway your test would tell me if it's something bad I've done with my patches (less likely) or if it's never going to work until I add the crtbegin/crtend stuff to my target config (most likely).

Thank you very much for your review. I'll repost an updated patch ASAP.

--
 // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/

Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html




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