[PATCH] D21941: AMDGPU: Set isConvergent on v_cmpx* instructions

Nicolai Hähnle via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 6 01:28:06 PDT 2016

nhaehnle added a subscriber: nhaehnle.

Comment at: lib/Target/AMDGPU/SIInstrInfo.td:2294
@@ -2293,1 +2293,3 @@
     let SchedRW = sched;
+    let hasSideEffects = DefExec;
+    let isConvergent = DefExec;
arsenm wrote:
> tstellarAMD wrote:
> > Why do we need to set hasSideEffects here?
> It seems like writing to exec should count as a side effect, although currently the realgar bit instruction manipulations will not have this set
I see that this is the case in some other places already, but I also doubt that it makes sense. As long as all instructions set (implicit) uses of exec correctly, hasSideEffects shouldn't be needed. Perhaps there's some fragility left with the control-flow annotation instructions, but then IMHO the right approach would be to fix that fragility.

Just my 2c...


More information about the llvm-commits mailing list