summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/ir3/instr-a3xx.h
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2015-02-04 16:07:44 -0500
committerRob Clark <[email protected]>2015-03-08 17:42:43 -0400
commit17754b70d78649f29e25dfe938de91d64dbf5ebf (patch)
tree6f63a5d88a8dc20e2e144cab89b923dbc12007b1 /src/gallium/drivers/freedreno/ir3/instr-a3xx.h
parentf8f7548f466509bf881db1826ef6dd23ffe2acdf (diff)
freedreno/ir3: drop deref nodes
The meta-deref instruction doesn't really do what we need for relative destination. Instead, since each instruction can reference at most a single address value, track the dependency on the address register via instr->address. This lets us express the dependency regardless of whether it is used for dst and/or src. The foreach_ssa_src{_n} iterator macros now also iterates the address register so, at least in SSA form, the address register behaves as an additional virtual src to the instruction. Which is pretty much what we want, as far as scheduling/etc. TODO: For now, the foreach_src{_n} iterators are unchanged. We could wrap the address in an ir3_register and make the foreach_src_{_n} iterators behave the same way. But that seems unnecessary at this point, since we mainly care about the address dependency when in SSA form. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/instr-a3xx.h')
-rw-r--r--src/gallium/drivers/freedreno/ir3/instr-a3xx.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/instr-a3xx.h b/src/gallium/drivers/freedreno/ir3/instr-a3xx.h
index b7e19c8ae39..c685fb15666 100644
--- a/src/gallium/drivers/freedreno/ir3/instr-a3xx.h
+++ b/src/gallium/drivers/freedreno/ir3/instr-a3xx.h
@@ -204,9 +204,6 @@ typedef enum {
/* branches/flow control */
OPC_META_FLOW = 4,
OPC_META_PHI = 5,
- /* relative addressing */
- OPC_META_DEREF = 6,
-
} opc_t;