1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
From da6e47f1717f34c73de388c56ffaf4861a07fdc5 Mon Sep 17 00:00:00 2001
From: t bettler <thomas.bettler@gmail.com>
Date: Sat, 9 Jul 2022 09:28:51 +0000
Subject: [PATCH] nir/nir_opt_move: fix ALWAYS_INLINE compiler error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Backport merge request to fix mesa compile error when debug build
enabled.
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17439]
Signed-off-by: Kai Kang <kai.kang@windriver.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
fix call to ‘always_inline’ ‘src_is_ssa’
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6825
Fixes: f1d20ec67c3f186886b97de94f74484650f8fda1 ("nir/nir_opt_move: handle non-SSA defs ")
---
src/compiler/nir/nir_inline_helpers.h | 10 ++++++++--
src/compiler/nir/nir_opt_move.c | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/compiler/nir/nir_inline_helpers.h b/src/compiler/nir/nir_inline_helpers.h
index 125dd8a..ec33f05 100644
--- a/src/compiler/nir/nir_inline_helpers.h
+++ b/src/compiler/nir/nir_inline_helpers.h
@@ -73,8 +73,8 @@ nir_foreach_dest(nir_instr *instr, nir_foreach_dest_cb cb, void *state)
return _nir_foreach_dest(instr, cb, state);
}
-static inline bool
-nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
+static ALWAYS_INLINE bool
+_nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
{
switch (instr->type) {
case nir_instr_type_alu: {
@@ -162,3 +162,9 @@ nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
dest_state.cb = cb;
return _nir_foreach_dest(instr, _nir_visit_dest_indirect, &dest_state);
}
+
+static inline bool
+nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
+{
+ return _nir_foreach_src(instr, cb, state);
+}
diff --git a/src/compiler/nir/nir_opt_move.c b/src/compiler/nir/nir_opt_move.c
index 81bcde5..051c3cc 100644
--- a/src/compiler/nir/nir_opt_move.c
+++ b/src/compiler/nir/nir_opt_move.c
@@ -60,7 +60,7 @@ src_is_ssa(nir_src *src, void *state)
static ALWAYS_INLINE bool
instr_reads_register(nir_instr *instr)
{
- return !nir_foreach_src(instr, src_is_ssa, NULL);
+ return !_nir_foreach_src(instr, src_is_ssa, NULL);
}
static bool
|