qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] tcg: optimize across branches
@ 2020-10-13 22:23 Richard Henderson
  2020-10-13 22:23 ` [PATCH 1/2] tcg: Do not kill globals at conditional branches Richard Henderson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Richard Henderson @ 2020-10-13 22:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

In several cases, it's easy to optimize across a non-taken branch
simply by *not* flushing the relevant tables.  This is true both
for value propagation and register allocation.

This comes up in quite a number of cases with arm, most simply in
how conditional execution is implemented.  But it also came up in
discussion of how to implement low-overhead looping for v8.1m.


r~


Richard Henderson (2):
  tcg: Do not kill globals at conditional branches
  tcg/optimize: Flush data at labels not TCG_OPF_BB_END

 include/tcg/tcg-opc.h |  7 +++---
 include/tcg/tcg.h     |  4 +++-
 tcg/optimize.c        | 35 ++++++++++++++-------------
 tcg/tcg.c             | 55 +++++++++++++++++++++++++++++++++++++++++--
 4 files changed, 78 insertions(+), 23 deletions(-)

-- 
2.25.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-10-21 15:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-13 22:23 [PATCH 0/2] tcg: optimize across branches Richard Henderson
2020-10-13 22:23 ` [PATCH 1/2] tcg: Do not kill globals at conditional branches Richard Henderson
2020-10-21 13:29   ` Alex Bennée
2020-10-13 22:23 ` [PATCH 2/2] tcg/optimize: Flush data at labels not TCG_OPF_BB_END Richard Henderson
2020-10-21 14:57   ` Alex Bennée
2020-10-21 15:51     ` Richard Henderson
2020-10-19 23:04 ` [PATCH 0/2] tcg: optimize across branches Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).