diff options
author | Richard Biener <rguenther@suse.de> | 2019-08-26 10:35:59 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-08-26 10:35:59 +0000 |
commit | 48a31a09839b12127ce7c40d7adc4bd5bf1d3407 (patch) | |
tree | cabb6c75d7ebdfca9c7ea3fb0cd24cc550f99327 /gcc/fold-const-call.c | |
parent | df7d46d925c7baca7bf9961aee900876d8aef225 (diff) | |
download | gcc-48a31a09839b12127ce7c40d7adc4bd5bf1d3407.zip gcc-48a31a09839b12127ce7c40d7adc4bd5bf1d3407.tar.gz gcc-48a31a09839b12127ce7c40d7adc4bd5bf1d3407.tar.bz2 |
re PR target/91522 (STV is slow)
2019-08-26 Richard Biener <rguenther@suse.de>
PR target/91522
PR target/91527
* config/i386/i386-features.h (general_scalar_chain::defs_map):
New member.
(general_scalar_chain::replace_with_subreg): Remove.
(general_scalar_chain::replace_with_subreg_in_insn): Likewise.
(general_scalar_chain::convert_reg): Adjust signature.
* config/i386/i386-features.c (scalar_chain::add_insn): Do not
iterate over all defs of a reg.
(general_scalar_chain::replace_with_subreg): Remove.
(general_scalar_chain::replace_with_subreg_in_insn): Likewise.
(general_scalar_chain::make_vector_copies): Populate defs_map,
place copy only after defs that are used as vectors in the chain.
(general_scalar_chain::convert_reg): Emit a copy for a specific
def in a specific instruction.
(general_scalar_chain::convert_op): All reg uses are converted here.
(general_scalar_chain::convert_insn): Emit copies for scalar
uses of defs here. Replace uses with the copies we created.
Replace and convert the def. Adjust REG_DEAD notes, remove
REG_EQUIV/EQUAL notes.
(general_scalar_chain::convert_registers): Only handle copies
into the chain here.
From-SVN: r274926
Diffstat (limited to 'gcc/fold-const-call.c')
0 files changed, 0 insertions, 0 deletions