aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2023-12-06 09:59:12 +0100
committerJakub Jelinek <jakub@redhat.com>2023-12-06 09:59:12 +0100
commite44ed92dbbe9d4e5c23f486cd2f77a6f9ee513c5 (patch)
tree25d5ab78e493c8fe40a5fc3749380df85a94ea29 /gcc/rust
parent0ca64f846edce3c7b7f26bcc5978118e560e65b1 (diff)
downloadgcc-e44ed92dbbe9d4e5c23f486cd2f77a6f9ee513c5.zip
gcc-e44ed92dbbe9d4e5c23f486cd2f77a6f9ee513c5.tar.gz
gcc-e44ed92dbbe9d4e5c23f486cd2f77a6f9ee513c5.tar.bz2
i386: Move vzeroupper pass from after reload pass to after postreload_cse [PR112760]
Regardless of the outcome of the REG_UNUSED discussions, I think it is a good idea to move the vzeroupper pass one pass later. As can be seen in the multiple PRs and as postreload.cc documents, reload/LRA is known to create dead statements quite often, which is the reason why we have postreload_cse pass at all. Doing vzeroupper pass before such cleanup means the pass including df_analyze for it needs to process more instructions than needed and because mode switching adds note problem, also higher chance of having stale REG_UNUSED notes. And, I really don't see why vzeroupper can't wait until those cleanups are done. 2023-12-06 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/112760 * config/i386/i386-passes.def (pass_insert_vzeroupper): Insert after pass_postreload_cse rather than pass_reload. * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper): Adjust comment for it. * gcc.dg/pr112760.c: New test.
Diffstat (limited to 'gcc/rust')
0 files changed, 0 insertions, 0 deletions