summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-05 17:08:58 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-05 17:08:58 +0000
commit8b2d95d220b73a4568a22a7aae60d1ea92d22da6 (patch)
tree74abf2939d445a95229b6954eeaebbd2378a238e
parent4a5b1b884e5234916575637f2d5aabe2308261a7 (diff)
downloadgcc-8b2d95d220b73a4568a22a7aae60d1ea92d22da6.tar.gz
ia64: Remove dead code in process_epilogue.
* config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove. (IA64_CHANGE_CFA_IN_EPILOGUE): Remove. (process_epilogue): Don't call dwarf2out_def_cfa. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175874 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/ia64/ia64.c35
2 files changed, 6 insertions, 33 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 87515bad37e..079b95a68a5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2011-07-05 Richard Henderson <rth@redhat.com>
+ * config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove.
+ (IA64_CHANGE_CFA_IN_EPILOGUE): Remove.
+ (process_epilogue): Don't call dwarf2out_def_cfa.
+
* config/ia64/ia64.c (ia64_expand_prologue): Use pc_rtx to
indicate the return address save.
(process_cfa_register): Likewise.
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index b37919c9574..bdabe82126c 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -9620,29 +9620,6 @@ static bool need_copy_state;
# define MAX_ARTIFICIAL_LABEL_BYTES 30
#endif
-/* Emit a debugging label after a call-frame-related insn. We'd
- rather output the label right away, but we'd have to output it
- after, not before, the instruction, and the instruction has not
- been output yet. So we emit the label after the insn, delete it to
- avoid introducing basic blocks, and mark it as preserved, such that
- it is still output, given that it is referenced in debug info. */
-
-static const char *
-ia64_emit_deleted_label_after_insn (rtx insn)
-{
- char label[MAX_ARTIFICIAL_LABEL_BYTES];
- rtx lb = gen_label_rtx ();
- rtx label_insn = emit_label_after (lb, insn);
-
- LABEL_PRESERVE_P (lb) = 1;
-
- delete_insn (label_insn);
-
- ASM_GENERATE_INTERNAL_LABEL (label, "L", CODE_LABEL_NUMBER (label_insn));
-
- return xstrdup (label);
-}
-
/* All we need to do here is avoid a crash in the generic dwarf2
processing. The real CFA definition is set up above. */
@@ -9654,16 +9631,11 @@ ia64_dwarf_handle_frame_unspec (const char * ARG_UNUSED (label),
gcc_assert (index == UNSPECV_ALLOC);
}
-/* The generic dwarf2 frame debug info generator does not define a
- separate region for the very end of the epilogue, so refrain from
- doing so in the IA64-specific code as well. */
-
-#define IA64_CHANGE_CFA_IN_EPILOGUE 0
-
/* The function emits unwind directives for the start of an epilogue. */
static void
-process_epilogue (FILE *asm_out_file, rtx insn, bool unwind, bool frame)
+process_epilogue (FILE *asm_out_file, rtx insn ATTRIBUTE_UNUSED,
+ bool unwind, bool frame ATTRIBUTE_UNUSED)
{
/* If this isn't the last block of the function, then we need to label the
current state, and copy it back in at the start of the next block. */
@@ -9678,9 +9650,6 @@ process_epilogue (FILE *asm_out_file, rtx insn, bool unwind, bool frame)
if (unwind)
fprintf (asm_out_file, "\t.restore sp\n");
- if (IA64_CHANGE_CFA_IN_EPILOGUE && frame)
- dwarf2out_def_cfa (ia64_emit_deleted_label_after_insn (insn),
- STACK_POINTER_REGNUM, INCOMING_FRAME_SP_OFFSET);
}
/* This function processes a SET pattern for REG_CFA_ADJUST_CFA. */