From 4c33cb26d4c5da87d48e6db6ba6832aaabf358fb Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Mon, 25 Apr 2005 12:46:12 +0000 Subject: re PR rtl-optimization/20413 (VOIDmode LABEL_REFs are generated) 2005-04-25 J"orn Rennecke Stephen Clarke Roger Sayle PR rtl-optimization/20413 * cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of VOIDmode for LABEL_REF. * final.c (shorten_branches): Likewise. * jump.c (mark_all_labels, redirect_exp_1): Likewise. * loop.c (reg_dead_after_loop): Likewise. * varasm.c (decode_addr_const): Likewise. * doc/rtl.texi: Document mode requirement for LABEL_REF. Co-Authored-By: Roger Sayle Co-Authored-By: Stephen Clarke From-SVN: r98711 --- gcc/doc/rtl.texi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/doc/rtl.texi') diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index 9858e47..f917c85 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -1390,7 +1390,7 @@ The @code{symbol_ref} contains a mode, which is usually @code{Pmode}. Usually that is the only mode for which a symbol is directly valid. @findex label_ref -@item (label_ref @var{label}) +@item (label_ref:@var{mode} @var{label}) Represents the value of an assembler label for code. It contains one operand, an expression, which must be a @code{code_label} or a @code{note} of type @code{NOTE_INSN_DELETED_LABEL} that appears in the instruction @@ -1399,6 +1399,9 @@ sequence to identify the place where the label should go. The reason for using a distinct expression type for code label references is so that jump optimization can distinguish them. +The @code{label_ref} contains a mode, which is usually @code{Pmode}. +Usually that is the only mode for which a label is directly valid. + @item (const:@var{m} @var{exp}) Represents a constant that is the result of an assembly-time arithmetic computation. The operand, @var{exp}, is an expression that -- cgit v1.1