aboutsummaryrefslogtreecommitdiff
path: root/gcc/explow.cc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2024-06-18 12:22:30 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2024-06-18 12:22:30 +0100
commitd4047da6a070175aae7121c739d1cad6b08ff4b2 (patch)
tree51b14b57fa572cdf27a6ad64566cc38474cc5bbd /gcc/explow.cc
parent1474a8eead4ab390e59ee014befa8c40346679f4 (diff)
downloadgcc-d4047da6a070175aae7121c739d1cad6b08ff4b2.zip
gcc-d4047da6a070175aae7121c739d1cad6b08ff4b2.tar.gz
gcc-d4047da6a070175aae7121c739d1cad6b08ff4b2.tar.bz2
Make more use of force_subreg
This patch makes target-independent code use force_subreg instead of simplify_gen_subreg in some places. The criteria were: (1) The code is obviously specific to expand (where new pseudos can be created), or at least would be invalid to call when !can_create_pseudo_p () and temporaries are needed. (2) The value is obviously an rvalue rather than an lvalue. (3) The offset wasn't a simple lowpart or highpart calculation; a later patch will deal with those. Doing this should reduce the likelihood of bugs like PR115464 occuring in other situations. gcc/ * expmed.cc (store_bit_field_using_insv): Use force_subreg instead of simplify_gen_subreg. (store_bit_field_1): Likewise. (extract_bit_field_as_subreg): Likewise. (extract_integral_bit_field): Likewise. (emit_store_flag_1): Likewise. * expr.cc (convert_move): Likewise. (convert_modes): Likewise. (emit_group_load_1): Likewise. (emit_group_store): Likewise. (expand_assignment): Likewise.
Diffstat (limited to 'gcc/explow.cc')
0 files changed, 0 insertions, 0 deletions