+2014-09-15 David Malcolm <dmalcolm@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_loop_align_max_skip): Strengthen
+ param "label" from rtx to rtx_insn *.
+ * config/rx/rx.c (rx_max_skip_for_label): Likewise for param "lab"
+ and local "op".
+ * doc/tm.texi (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Autogenerated changes.
+ (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Likewise.
+ (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
+ (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
+ * final.c (default_label_align_after_barrier_max_skip): Strengthen
+ param from rtx to rtx_insn *.
+ (default_loop_align_max_skip): Likewise.
+ (default_label_align_max_skip): Likewise.
+ (default_jump_align_max_skip): Likewise.
+ * target.def (label_align_after_barrier_max_skip): Likewise.
+ (loop_align_max_skip): Likewise.
+ (label_align_max_skip): Likewise.
+ (jump_align_max_skip): Likewise.
+ * targhooks.h (default_label_align_after_barrier_max_skip):
+ Likewise.
+ (default_loop_align_max_skip): Likewise.
+ (default_label_align_max_skip): Likewise.
+ (default_jump_align_max_skip): Likewise.
+
2014-09-15 David Malcolm <dmalcolm@redhat.com>
* config/arc/arc.c (arc_can_follow_jump): Strengthen both params
/* Implement TARGET_LOOP_ALIGN_MAX_SKIP. */
static int
-rs6000_loop_align_max_skip (rtx label)
+rs6000_loop_align_max_skip (rtx_insn *label)
{
return (1 << rs6000_loop_align (label)) - 1;
}
}
static int
-rx_max_skip_for_label (rtx lab)
+rx_max_skip_for_label (rtx_insn *lab)
{
int opsize;
- rtx op;
+ rtx_insn *op;
if (optimize_size)
return 0;
- if (lab == NULL_RTX)
+ if (lab == NULL)
return 0;
op = lab;
selection in @var{align_jumps} in a @code{JUMP_ALIGN} implementation.
@end defmac
-@deftypefn {Target Hook} int TARGET_ASM_JUMP_ALIGN_MAX_SKIP (rtx @var{label})
+@deftypefn {Target Hook} int TARGET_ASM_JUMP_ALIGN_MAX_SKIP (rtx_insn *@var{label})
The maximum number of bytes to skip before @var{label} when applying
@code{JUMP_ALIGN}. This works only if
@code{ASM_OUTPUT_MAX_SKIP_ALIGN} is defined.
define the macro.
@end defmac
-@deftypefn {Target Hook} int TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP (rtx @var{label})
+@deftypefn {Target Hook} int TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP (rtx_insn *@var{label})
The maximum number of bytes to skip before @var{label} when applying
@code{LABEL_ALIGN_AFTER_BARRIER}. This works only if
@code{ASM_OUTPUT_MAX_SKIP_ALIGN} is defined.
selection in @code{align_loops} in a @code{LOOP_ALIGN} implementation.
@end defmac
-@deftypefn {Target Hook} int TARGET_ASM_LOOP_ALIGN_MAX_SKIP (rtx @var{label})
+@deftypefn {Target Hook} int TARGET_ASM_LOOP_ALIGN_MAX_SKIP (rtx_insn *@var{label})
The maximum number of bytes to skip when applying @code{LOOP_ALIGN} to
@var{label}. This works only if @code{ASM_OUTPUT_MAX_SKIP_ALIGN} is
defined.
selection in @code{align_labels} in a @code{LABEL_ALIGN} implementation.
@end defmac
-@deftypefn {Target Hook} int TARGET_ASM_LABEL_ALIGN_MAX_SKIP (rtx @var{label})
+@deftypefn {Target Hook} int TARGET_ASM_LABEL_ALIGN_MAX_SKIP (rtx_insn *@var{label})
The maximum number of bytes to skip when applying @code{LABEL_ALIGN}
to @var{label}. This works only if @code{ASM_OUTPUT_MAX_SKIP_ALIGN}
is defined.
#endif
int
-default_label_align_after_barrier_max_skip (rtx insn ATTRIBUTE_UNUSED)
+default_label_align_after_barrier_max_skip (rtx_insn *insn ATTRIBUTE_UNUSED)
{
return 0;
}
int
-default_loop_align_max_skip (rtx insn ATTRIBUTE_UNUSED)
+default_loop_align_max_skip (rtx_insn *insn ATTRIBUTE_UNUSED)
{
return align_loops_max_skip;
}
int
-default_label_align_max_skip (rtx insn ATTRIBUTE_UNUSED)
+default_label_align_max_skip (rtx_insn *insn ATTRIBUTE_UNUSED)
{
return align_labels_max_skip;
}
int
-default_jump_align_max_skip (rtx insn ATTRIBUTE_UNUSED)
+default_jump_align_max_skip (rtx_insn *insn ATTRIBUTE_UNUSED)
{
return align_jumps_max_skip;
}
"The maximum number of bytes to skip before @var{label} when applying\n\
@code{LABEL_ALIGN_AFTER_BARRIER}. This works only if\n\
@code{ASM_OUTPUT_MAX_SKIP_ALIGN} is defined.",
- int, (rtx label),
+ int, (rtx_insn *label),
default_label_align_after_barrier_max_skip)
/* The maximum number of bytes to skip when applying
"The maximum number of bytes to skip when applying @code{LOOP_ALIGN} to\n\
@var{label}. This works only if @code{ASM_OUTPUT_MAX_SKIP_ALIGN} is\n\
defined.",
- int, (rtx label),
+ int, (rtx_insn *label),
default_loop_align_max_skip)
/* The maximum number of bytes to skip when applying
"The maximum number of bytes to skip when applying @code{LABEL_ALIGN}\n\
to @var{label}. This works only if @code{ASM_OUTPUT_MAX_SKIP_ALIGN}\n\
is defined.",
- int, (rtx label),
+ int, (rtx_insn *label),
default_label_align_max_skip)
/* The maximum number of bytes to skip when applying
"The maximum number of bytes to skip before @var{label} when applying\n\
@code{JUMP_ALIGN}. This works only if\n\
@code{ASM_OUTPUT_MAX_SKIP_ALIGN} is defined.",
- int, (rtx label),
+ int, (rtx_insn *label),
default_jump_align_max_skip)
/* Try to output the assembler code for an integer object whose
extern void default_canonicalize_comparison (int *, rtx *, rtx *, bool);
-extern int default_label_align_after_barrier_max_skip (rtx);
-extern int default_loop_align_max_skip (rtx);
-extern int default_label_align_max_skip (rtx);
-extern int default_jump_align_max_skip (rtx);
+extern int default_label_align_after_barrier_max_skip (rtx_insn *);
+extern int default_loop_align_max_skip (rtx_insn *);
+extern int default_label_align_max_skip (rtx_insn *);
+extern int default_jump_align_max_skip (rtx_insn *);
extern section * default_function_section(tree decl, enum node_frequency freq,
bool startup, bool exit);
extern enum machine_mode default_dwarf_frame_reg_mode (int);