aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2016-11-18 18:26:34 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2016-11-18 18:26:34 +0000
commit421619baa5438bb2ba02cbe2b2cf2af8a2440bff (patch)
tree0e024a4eec18df900aea0c3858df86478e0afdd9 /gcc/rtl.h
parent092dd2bc335d124bdcf6aa1a27ea3196e90cc1ba (diff)
downloadgcc-421619baa5438bb2ba02cbe2b2cf2af8a2440bff.zip
gcc-421619baa5438bb2ba02cbe2b2cf2af8a2440bff.tar.gz
gcc-421619baa5438bb2ba02cbe2b2cf2af8a2440bff.tar.bz2
Make load_extend_op an inline function
gcc/ * rtlanal.c (load_extend_op): Move to... * rtl.h: ...here and make inline. From-SVN: r242601
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 6a4cf36..30a42fc 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2954,7 +2954,6 @@ extern void set_insn_deleted (rtx);
/* Functions in rtlanal.c */
-extern rtx_code load_extend_op (machine_mode);
extern rtx single_set_2 (const rtx_insn *, const_rtx);
extern bool contains_symbol_ref_p (const_rtx);
extern bool contains_symbolic_reference_p (const_rtx);
@@ -3771,6 +3770,19 @@ struct GTY(()) cgraph_rtl_info {
unsigned function_used_regs_valid: 1;
};
+/* If loads from memories of mode MODE always sign or zero extend,
+ return SIGN_EXTEND or ZERO_EXTEND as appropriate. Return UNKNOWN
+ otherwise. */
+
+inline rtx_code
+load_extend_op (machine_mode mode)
+{
+ if (SCALAR_INT_MODE_P (mode)
+ && GET_MODE_PRECISION (mode) < BITS_PER_WORD)
+ return LOAD_EXTEND_OP (mode);
+ return UNKNOWN;
+}
+
/* gtype-desc.c. */
extern void gt_ggc_mx (rtx &);
extern void gt_pch_nx (rtx &);