[llvm] [DecoderEmitter] Support for DecodeOrder and `resolve-conflicts-try-all` (PR #157948)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 14 18:22:18 PDT 2025


================
@@ -1598,6 +1726,19 @@ void FilterChooser::doFilter() {
     return;
   }
 
+  // If we were unable to find a useful filter and there are multiple decode
+  // orders involved, split the candidates by decode order and create per decode
+  // order choosers.
+  if (hasMultipleDecodeOrders()) {
----------------
s-barannikov wrote:

This is currently represented as:
```
{
  check Inst{0} == 0
  decode InstA
}
decodeInstB
```

If there was "try decode InstA", we would fail to decode InstA, then leave the scope and decode InstB.
I'm not sure I understand what is the semantic of OpScopeNoFail and how it could help here.


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


More information about the llvm-commits mailing list