qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 00/14] tcg: Use TCGTemp pointers instead of indices
@ 2016-11-16 19:51 Richard Henderson
  2016-11-16 19:51 ` [Qemu-devel] [RFC 01/14] tcg: Use NULL for TCGV_UNUSED_* Richard Henderson
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Richard Henderson @ 2016-11-16 19:51 UTC (permalink / raw)
  To: qemu-devel; +Cc: aurelien, peter.maydell

The comment clarification that Peter asked for in this last
cycle made me wonder if we couldn't make better use of the
data that we're already storing.

We have pointer sized integers that we're passing around.  Why
should we not simply pass the pointers themselves, to save on
looking them up later?

This does cause a few data structures to grow, so it's not a
sure fire win.  Indeed, getting measurements that aren't noise
seems to be a problem.

I'm curious if anyone thinks this is a technical improvment,
or if it's just churn.

(Oh, and the last patch is unrelated, but because of the timeline
in which is was written it is dependent on the others.  It could
be adjusted to be independent, but that would just be extra work.)


r~


Richard Henderson (13):
  tcg: Use NULL for TCGV_UNUSED_*
  tcg: Define actual structures for TCGv_*
  tcg: Use per-temp state data in liveness
  tcg: Add temp_global bit to TCGTemp
  tcg: Avoid loops against variable bounds
  tcg: More use of arg_temp
  tcg: Change temp_allocate_frame arg to TCGTemp
  tcg: Remove unused TCG_CALL_DUMMY_TCGV
  tcg: More use of arg_index
  tcg: Map TCG_CALL_DUMMY_ARG to NULL
  tcg: Introduce temp_info for the optimize pass
  tcg: Store pointers to temporaries directly in TCGArg
  tcg: Use temp number 0 again
  tcg/optimize: Fold movcond 0/1 into setcond

 tcg/optimize.c | 291 +++++++++++++++++++++++++-----------------
 tcg/tcg.c      | 392 ++++++++++++++++++++++++++-------------------------------
 tcg/tcg.h      | 259 ++++++++++++++++++++------------------
 3 files changed, 493 insertions(+), 449 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2016-11-16 19:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-16 19:51 [Qemu-devel] [RFC 00/14] tcg: Use TCGTemp pointers instead of indices Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 01/14] tcg: Use NULL for TCGV_UNUSED_* Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 02/14] tcg: Define actual structures for TCGv_* Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 03/14] tcg: Use per-temp state data in liveness Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 04/14] tcg: Add temp_global bit to TCGTemp Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 05/14] tcg: Avoid loops against variable bounds Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 06/14] tcg: More use of arg_temp Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 07/14] tcg: Change temp_allocate_frame arg to TCGTemp Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 08/14] tcg: Remove unused TCG_CALL_DUMMY_TCGV Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 09/14] tcg: More use of arg_index Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 10/14] tcg: Map TCG_CALL_DUMMY_ARG to NULL Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 11/14] tcg: Introduce temp_info for the optimize pass Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 12/14] tcg: Store pointers to temporaries directly in TCGArg Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 13/14] tcg: Use temp number 0 again Richard Henderson
2016-11-16 19:51 ` [Qemu-devel] [RFC 14/14] tcg/optimize: Fold movcond 0/1 into setcond 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).