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
