]> git.ipfire.org Git - thirdparty/valgrind.git/commit
Refactor tracking of MOV coalescing.
authorIvo Raisr <ivosh@ivosh.net>
Fri, 22 Sep 2017 20:50:11 +0000 (22:50 +0200)
committerIvo Raisr <ivosh@ivosh.net>
Wed, 11 Oct 2017 18:56:48 +0000 (20:56 +0200)
commit83cabd32492e6d19d483a63522e4e874fa64b617
tree0c09cdab7d5c550e3d87ff21f66ad257b9c22afd
parentc069589178d54e2ae5a22fab60b7068414598d48
Refactor tracking of MOV coalescing.

Reg<->Reg MOV coalescing status is now a part of the HRegUsage.
This allows register allocation to query it two times without incurring
a performance penalty. This in turn allows to better keep track of
vreg<->vreg MOV coalescing so that all vregs in the coalesce chain
get the effective |dead_before| of the last vreg.

A small performance improvement has been observed because this allows
to coalesce even spilled vregs (previously only assigned ones).
19 files changed:
VEX/priv/host_amd64_defs.c
VEX/priv/host_amd64_defs.h
VEX/priv/host_arm64_defs.c
VEX/priv/host_arm64_defs.h
VEX/priv/host_arm_defs.c
VEX/priv/host_arm_defs.h
VEX/priv/host_generic_reg_alloc2.c
VEX/priv/host_generic_reg_alloc3.c
VEX/priv/host_generic_regs.c
VEX/priv/host_generic_regs.h
VEX/priv/host_mips_defs.c
VEX/priv/host_mips_defs.h
VEX/priv/host_ppc_defs.c
VEX/priv/host_ppc_defs.h
VEX/priv/host_s390_defs.c
VEX/priv/host_s390_defs.h
VEX/priv/host_x86_defs.c
VEX/priv/host_x86_defs.h
VEX/priv/main_main.c