Mesa (master): aco: introduce a generic label for labelling instructions
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Nov 12 12:42:17 UTC 2020
Module: Mesa
Branch: master
Commit: bda35ae6b92caf24a26c96e05a49f1bac42955cf
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bda35ae6b92caf24a26c96e05a49f1bac42955cf
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Wed Nov 11 15:13:08 2020 +0100
aco: introduce a generic label for labelling instructions
When one instruction doesn't fit into the existing labels, use
the generic one.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7425>
---
src/amd/compiler/aco_optimizer.cpp | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp
index 89fcdee261e..10592a4d1ef 100644
--- a/src/amd/compiler/aco_optimizer.cpp
+++ b/src/amd/compiler/aco_optimizer.cpp
@@ -114,10 +114,11 @@ enum Label {
label_scc_needed = 1 << 26,
label_b2i = 1 << 27,
label_constant_16bit = 1 << 29,
+ label_usedef = 1 << 30, /* generic label */
};
static constexpr uint64_t instr_usedef_labels = label_vec | label_mul | label_mad | label_add_sub |
- label_bitwise | label_uniform_bitwise | label_minmax | label_vopc;
+ label_bitwise | label_uniform_bitwise | label_minmax | label_vopc | label_usedef;
static constexpr uint64_t instr_mod_labels = label_omod2 | label_omod4 | label_omod5 | label_clamp;
static constexpr uint64_t instr_labels = instr_usedef_labels | instr_mod_labels;
@@ -506,6 +507,16 @@ struct ssa_info {
return label & label_b2i;
}
+ void set_usedef(Instruction *label_instr)
+ {
+ add_label(label_usedef);
+ instr = label_instr;
+ }
+
+ bool is_usedef()
+ {
+ return label & label_usedef;
+ }
};
struct opt_ctx {
More information about the mesa-commit
mailing list