[08/16] tcg: Introduce temp_arg
diff mbox

Message ID 20170621024831.26019-9-rth@twiddle.net
State New
Headers show

Commit Message

Richard Henderson June 21, 2017, 2:48 a.m. UTC
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 tcg/tcg.c | 4 ++--
 tcg/tcg.h | 7 +++++++
 2 files changed, 9 insertions(+), 2 deletions(-)

Patch
diff mbox

diff --git a/tcg/tcg.c b/tcg/tcg.c
index 0bb88b1..0d758e4 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -1718,7 +1718,7 @@  static bool liveness_pass_2(TCGContext *s, uint8_t *temp_state)
                     TCGOp *lop = tcg_op_insert_before(s, op, lopc, 3);
 
                     lop->args[0] = dir;
-                    lop->args[1] = temp_idx(s, its->mem_base);
+                    lop->args[1] = temp_arg(its->mem_base);
                     lop->args[2] = its->mem_offset;
 
                     /* Loaded, but synced with memory.  */
@@ -1789,7 +1789,7 @@  static bool liveness_pass_2(TCGContext *s, uint8_t *temp_state)
                 TCGOp *sop = tcg_op_insert_after(s, op, sopc, 3);
 
                 sop->args[0] = dir;
-                sop->args[1] = temp_idx(s, its->mem_base);
+                sop->args[1] = temp_arg(its->mem_base);
                 sop->args[2] = its->mem_offset;
 
                 temp_state[arg] = TS_MEM;
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 6c357e7..80012b5 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -728,6 +728,13 @@  struct TCGContext {
 extern TCGContext tcg_ctx;
 extern bool parallel_cpus;
 
+static inline TCGArg temp_arg(TCGTemp *ts)
+{
+    ptrdiff_t n = ts - tcg_ctx.temps;
+    tcg_debug_assert(n >= 0 && n < tcg_ctx.nb_temps);
+    return n;
+}
+
 static inline TCGTemp *arg_temp(TCGArg a)
 {
     return a == TCG_CALL_DUMMY_ARG ? NULL : &tcg_ctx.temps[a];