aco: add a few missing checks in value numbering
authorRhys Perry <pendingchaos02@gmail.com>
Mon, 14 Oct 2019 16:19:19 +0000 (17:19 +0100)
committerRhys Perry <pendingchaos02@gmail.com>
Tue, 22 Oct 2019 18:52:29 +0000 (18:52 +0000)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
src/amd/compiler/aco_opt_value_numbering.cpp

index e19f125e29fa8b47857d3fc8183d287fb039f911..fe094ebb2190714bb085464f3fbc5baae14bf2e4 100644 (file)
@@ -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 &&