summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/lima/ir/pp/node_to_instr.c
diff options
context:
space:
mode:
authorAndreas Baierl <ichgeh@imkreisrum.de>2019-08-20 18:19:55 +0200
committerErico Nunes <nunes.erico@gmail.com>2019-09-13 19:41:32 +0000
commit4b1a14fd47134a3810f9c15d137af4336819e081 (patch)
treeced29cf75960988fe2a6563bd1745ead25ec0dc7 /src/gallium/drivers/lima/ir/pp/node_to_instr.c
parent4ddadd63709769ff923687b4232e870f6fbcb8a8 (diff)
downloadmesa-4b1a14fd47134a3810f9c15d137af4336819e081.tar.gz
lima/ppir: Add undef handling
Add a ppir dummy node for nir_ssa_undef_instr, create a reg for it and mark it as undefined, so that regalloc can set it non-interfering to avoid register pressure. Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de> Reviewed-by: Vasily Khozuzhick <anarsoul@gmail.com> Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Diffstat (limited to 'src/gallium/drivers/lima/ir/pp/node_to_instr.c')
-rw-r--r--src/gallium/drivers/lima/ir/pp/node_to_instr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/lima/ir/pp/node_to_instr.c b/src/gallium/drivers/lima/ir/pp/node_to_instr.c
index 5bc8d29c469..aa9011dc3c4 100644
--- a/src/gallium/drivers/lima/ir/pp/node_to_instr.c
+++ b/src/gallium/drivers/lima/ir/pp/node_to_instr.c
@@ -66,6 +66,10 @@ static bool ppir_do_one_node_to_instr(ppir_block *block, ppir_node *node, ppir_n
switch (node->type) {
case ppir_node_type_alu:
{
+ /* don't create an instr for undef node */
+ if (node->op == ppir_op_undef)
+ break;
+
/* merge pred mul and succ add in the same instr can save a reg
* by using pipeline reg ^vmul/^fmul */
ppir_alu_node *alu = ppir_node_to_alu(node);