diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-18 10:04:53 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-18 10:04:53 +0000 |
commit | c67875ad404ce2d86806c66a1368c1242ab05c8b (patch) | |
tree | 088a5faa65bea2b992c890d73bbec5c40806cb74 /gcc/postreload.c | |
parent | adc782988dd1c6be642cc3ae897051021b43fe04 (diff) | |
download | gcc-c67875ad404ce2d86806c66a1368c1242ab05c8b.tar.gz |
Use rtx_mode_t instead of std::make_pair
This change makes the code less sensitive to the exact type of the mode,
i.e. it forces a conversion where necessary. This becomes important
when wrappers like scalar_int_mode and scalar_mode can also be used
instead of machine_mode.
Using rtx_mode_t also abstracts away the representation. The fact that
it's a std::pair rather than a custom class isn't important to users of
the interface.
gcc/
2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
* combine.c (try_combine): Use rtx_mode_t instead of std::make_pair.
* dwarf2out.c (mem_loc_descriptor, loc_descriptor): Likewise.
(add_const_value_attribute): Likewise.
* explow.c (plus_constant): Likewise.
* expmed.c (expand_mult, make_tree): Likewise.
* expr.c (convert_modes): Likewise.
* loop-doloop.c (doloop_optimize): Likewise.
* postreload.c (reload_cse_simplify_set): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_binary_operation_1, simplify_const_binary_operation):
(simplify_const_relational_operation, simplify_immed_subreg): Likewise.
* wide-int.h: Update documentation to recommend rtx_mode_t
instead of std::make_pair.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242586 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r-- | gcc/postreload.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/postreload.c b/gcc/postreload.c index a11d2705dab..fcb6bc4bd50 100644 --- a/gcc/postreload.c +++ b/gcc/postreload.c @@ -290,13 +290,13 @@ reload_cse_simplify_set (rtx set, rtx_insn *insn) switch (extend_op) { case ZERO_EXTEND: - result = wide_int::from (std::make_pair (this_rtx, - GET_MODE (src)), + result = wide_int::from (rtx_mode_t (this_rtx, + GET_MODE (src)), BITS_PER_WORD, UNSIGNED); break; case SIGN_EXTEND: - result = wide_int::from (std::make_pair (this_rtx, - GET_MODE (src)), + result = wide_int::from (rtx_mode_t (this_rtx, + GET_MODE (src)), BITS_PER_WORD, SIGNED); break; default: |