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]

[dataflow]: PATCH: two fixes for regressions on x86_64 and PPC.


Hi,

This patch contains fixes for two regressions on x86_64 and PPC,
and one minor debugging support.

One is to put USE rtx of the frame pointer at the prologue end
when the profiling is on and the frame pointer is deemed necessary,
to ensure that dataflow sees and preserves the frame pointer
at least within the prologue. This is required for correct functioning
of mcount() function on certain platforms, including x86_64.

The other is to compute and use the live register set
at the top of the block (that is, just before the first insn in the block),
instead of the "live in" set of the block when appropriate.
The difference between those two are due to the artificial defs at the
top of the block
- e.g. exception handler argument register (r3 on PPC).

Also, the patch adds a new function current_function_assembler_name()
which returns the raw, mangled name (c.f current_function_name()).
It is intended to be used inside debugger (e.g. for setting a conditional
breakpoint based on the function name).

The fix has been boostrapped and passed make check on x86_64 and PPC.

Seongbae


2006-11-03 Seongbae Park <seongbae.park@gmail.com> * global.c (global_conflicts): Use df_urec_get_live_at_top () instead of DF_RA_LIVE_IN (). * function.h: Add a declaration for current_function_assembler_name(). * function.c (current_function_assembler_name): New function. (thread_prologue_and_epilogue_insns): Insert rtx_USE when profiling. * df.h (DF_REF_FLAGS_CLEAR): New macro. (df_urec_get_live_at_top): New function declaration. * df-problems.c (df_urec_get_live_at_top): New function.

Attachment: frame-pointer-and-artificial-def.diff
Description: Binary data


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