summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRhys Perry <pendingchaos02@gmail.com>2019-10-14 17:19:19 +0100
committerRhys Perry <pendingchaos02@gmail.com>2019-10-22 18:52:29 +0000
commit57c2cfb6080bce2222ef5f5ca72c444e878411bc (patch)
tree6d8a53451774de4516f4f62ff9041ff9173e2f4e
parenta8d0101d699d134dd8b7a248cfb8972fd0cf90e4 (diff)
aco: add a few missing checks in value numbering
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
-rw-r--r--src/amd/compiler/aco_opt_value_numbering.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/amd/compiler/aco_opt_value_numbering.cpp b/src/amd/compiler/aco_opt_value_numbering.cpp
index e19f125e29f..fe094ebb219 100644
--- a/src/amd/compiler/aco_opt_value_numbering.cpp
+++ b/src/amd/compiler/aco_opt_value_numbering.cpp
@@ -191,7 +191,9 @@ struct InstrPred {
/* this is fine since they are only used for vertex input fetches */
MTBUF_instruction* aM = static_cast<MTBUF_instruction *>(a);
MTBUF_instruction* bM = static_cast<MTBUF_instruction *>(b);
- return aM->dfmt == bM->dfmt &&
+ return aM->can_reorder == bM->can_reorder &&
+ aM->barrier == bM->barrier &&
+ aM->dfmt == bM->dfmt &&
aM->nfmt == bM->nfmt &&
aM->offset == bM->offset &&
aM->offen == bM->offen &&
@@ -221,6 +223,7 @@ struct InstrPred {
MIMG_instruction* aM = static_cast<MIMG_instruction*>(a);
MIMG_instruction* bM = static_cast<MIMG_instruction*>(b);
return aM->can_reorder && bM->can_reorder &&
+ aM->barrier == bM->barrier &&
aM->dmask == bM->dmask &&
aM->unrm == bM->unrm &&
aM->glc == bM->glc &&