summaryrefslogtreecommitdiff
path: root/gcc/print-rtl.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-08 19:35:54 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-08 19:35:54 +0000
commit13751393a75659e694d83f5c9966455ff08899a2 (patch)
tree852a6d09fbb544c05a647e6acf28fdbf9741a19d /gcc/print-rtl.c
parent77e0f75a54702460f2c7f548368e9d37a9fe9b59 (diff)
downloadgcc-13751393a75659e694d83f5c9966455ff08899a2.tar.gz
* cfglayout.c (insn_scope): New static function
(block_locators_*, line_locators*, file_locators*): New static varrays. (scope_to_insns_initialize): Use them. (insn_line, insn_file): New functions. (scope_to_insns_finalize): Use insn_scope. (prologue_locator, epilogue_locator): New global variables. * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw, make_call_insn_raw, emit_copy_of_insn_after): Use locators. (emit_insn_after_scope, emit_insn_before_scope emit_jump_insn_after_scope, emit_jump_insn_before_scope emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to... (emit_insn_after_setloc, emit_insn_before_setloc emit_jump_insn_after_setloc, emit_jump_insn_before_setloc emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these; use locators. * final.c (notice_source_line): Use locators. (final_start_function): Set initial source file and line. (final_scan_insn): Use locators. * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants, noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith, noce_try_minmax, noce_try_abs, noce_process_if_block, find_cond_trap): Likewise. * integrate.c (copy_insn_list): Likewise. * jump.c (duplicate_loop_exit_test): LIkewise. * print-rtl.c (print_rtx): Print locators. * recog.c (peephole2_optimize): Likewise. * rtl.h (INSN_SCOPE): Remove. (emit_insn_after_scope, emit_insn_before_scope emit_jump_insn_after_scope, emit_jump_insn_before_scope emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to... (emit_insn_after_setloc, emit_insn_before_setloc emit_jump_insn_after_setloc, emit_jump_insn_before_setloc emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these; (insn_file, insn_line, prologue_locator, epilogue_locator): Declare. * unroll.c (copy_loop_body): Use locators. * function.c (set_insn_locators): New function. (thread_prologue_and_epilogue_insns): Set the locators accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67637 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/print-rtl.c')
-rw-r--r--gcc/print-rtl.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 3002ccb382b..165db771e35 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -379,7 +379,17 @@ print_rtx (in_rtx)
break;
case 'i':
- if (i == 6 && GET_CODE (in_rtx) == NOTE)
+ if (i == 4 && GET_RTX_CLASS (GET_CODE (in_rtx)) == 'i')
+ {
+#ifndef GENERATOR_FILE
+ /* Pretty-print insn locators. Ignore scoping as it is mostly
+ redundant with line number information and do not print anything
+ when there is no location information available. */
+ if (INSN_LOCATOR (in_rtx) && insn_file (in_rtx))
+ fprintf(outfile, " %s:%i", insn_file (in_rtx), insn_line (in_rtx));
+#endif
+ }
+ else if (i == 6 && GET_CODE (in_rtx) == NOTE)
{
/* This field is only used for NOTE_INSN_DELETED_LABEL, and
other times often contains garbage from INSN->NOTE death. */