diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2016-11-18 18:26:34 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2016-11-18 18:26:34 +0000 |
commit | 421619baa5438bb2ba02cbe2b2cf2af8a2440bff (patch) | |
tree | 0e024a4eec18df900aea0c3858df86478e0afdd9 /gcc/rtl.h | |
parent | 092dd2bc335d124bdcf6aa1a27ea3196e90cc1ba (diff) | |
download | gcc-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.h | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -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 &); |