Message ID | 20201013222330.173525-1-richard.henderson@linaro.org |
---|---|
Headers | show |
Series | tcg: optimize across branches | expand |
Ping. On 10/13/20 3:23 PM, Richard Henderson wrote: > 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(-) >