aboutsummaryrefslogtreecommitdiff
path: root/gcc/print-rtl.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-06-08 21:35:54 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2003-06-08 19:35:54 +0000
commit0435312e3890ead4503ac3d1c83afc556b39dc39 (patch)
tree852a6d09fbb544c05a647e6acf28fdbf9741a19d /gcc/print-rtl.c
parent5d39821d113805e918072e3bb6c91a28a6f66188 (diff)
downloadgcc-0435312e3890ead4503ac3d1c83afc556b39dc39.zip
gcc-0435312e3890ead4503ac3d1c83afc556b39dc39.tar.gz
gcc-0435312e3890ead4503ac3d1c83afc556b39dc39.tar.bz2
cfglayout.c (insn_scope): New static function
* 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. From-SVN: r67637
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 3002ccb..165db77 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. */