[llvm] [Exegesis][RISCV] Add RISCV support for llvm-exegesis (PR #89047)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 6 16:37:21 PST 2024


================
@@ -81,12 +75,10 @@ static ExecutionMode getExecutionModes(const Instruction &Instr,
     EM |= ExecutionMode::ALWAYS_SERIAL_TIED_REGS_ALIAS;
   if (Instr.hasMemoryOperands())
     EM |= ExecutionMode::SERIAL_VIA_MEMORY_INSTR;
-  else {
-    if (Instr.hasAliasingRegisters(ForbiddenRegisters))
-      EM |= ExecutionMode::SERIAL_VIA_EXPLICIT_REGS;
-    if (Instr.hasOneUseOrOneDef())
-      EM |= ExecutionMode::SERIAL_VIA_NON_MEMORY_INSTR;
-  }
+  if (Instr.hasAliasingNotMemoryRegisters(ForbiddenRegisters))
+    EM |= ExecutionMode::SERIAL_VIA_EXPLICIT_REGS;
+  if (Instr.hasOneUseOrOneDef())
+    EM |= ExecutionMode::SERIAL_VIA_NON_MEMORY_INSTR;
----------------
topperc wrote:

Instructions with memory operands can reach this `if` now due to the removal of the `else` that was around it. Was that intentional? I assume it was intentional for the `hasAliasingNotMemoryRegisters` code.

https://github.com/llvm/llvm-project/pull/89047


More information about the llvm-commits mailing list