Revert "[RISCV] Enable strict assertions in InsertVSETVLI data flow"
authorPhilip Reames <preames@rivosinc.com>
Tue, 17 May 2022 22:51:41 +0000 (15:51 -0700)
committerPhilip Reames <preames@rivosinc.com>
Tue, 17 May 2022 22:53:13 +0000 (15:53 -0700)
This reverts commit 79a66ec97b4fb8cbc4e0a81ead356caf5507a6ea.

The stronger asserts served their purpose; I stumbled across another bug.  Will reapply once this one is also fixed.

The bug appears to be a variant of a previous one:
* We mutate an instruction in one block.
* That mutation changes the phase3 results of another block.

This is very similiar to a previous issue, except cross block instead of within a single block.

llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

index fb3220e..58ab7f4 100644 (file)
@@ -38,7 +38,7 @@ static cl::opt<bool> DisableInsertVSETVLPHIOpt(
     cl::desc("Disable looking through phis when inserting vsetvlis."));
 
 static cl::opt<bool> UseStrictAsserts(
-    "riscv-insert-vsetvl-strict-asserts", cl::init(true), cl::Hidden,
+    "riscv-insert-vsetvl-strict-asserts", cl::init(false), cl::Hidden,
     cl::desc("Enable strict assertion checking for the dataflow algorithm"));
 
 namespace {