[llvm] [ARM] Verify that disassembled instruction is correct (PR #157360)
    Sergei Barannikov via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Oct 21 14:00:29 PDT 2025
    
    
  
s-barannikov wrote:
Sorry to hear that.
`tBcc` has three operands, a branch target and a (two-operand) predicate.
My guess is the predicate is added twice: first by the generated decoding function, and then by `AddThumbPredicate`. This function has a special case for `tBcc` that should avoid adding the predicate the second time
```
      if (ITBlock.instrInITBlock())
        S = SoftFail;
      else
        return Success;
```
but it looks like it can still add it if the branch is in an IT block. Is that the case?
Are you disassembling a third-party binary or a just built one? If it is the latter, a source assembly snippet would be very helpful.
https://github.com/llvm/llvm-project/pull/157360
    
    
More information about the llvm-commits
mailing list