[llvm] [ARM] Auto-decode pred operands of Thumb instructions (PR #156540)
Simon Tatham via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 24 04:36:00 PST 2025
================
@@ -6161,12 +6249,12 @@ bool ARMDisassembler::isVectorPredicable(const MCInst &MI) const {
return false;
}
-// Most Thumb instructions don't have explicit predicates in the
-// encoding, but rather get their predicates from IT context. We need
-// to fix up the predicate operands using this context information as a
-// post-pass.
+// Most Thumb instructions don't have explicit predicates in the encoding,
+// but rather get their predicates from IT context. Here, we check that the
+// decoded instruction is allowed to have the decoded predicate and advance
+// IT/VPT block states.
MCDisassembler::DecodeStatus
-ARMDisassembler::AddThumbPredicate(MCInst &MI) const {
+ARMDisassembler::checkThumbPredicate(MCInst &MI) const {
MCDisassembler::DecodeStatus S = Success;
const FeatureBitset &FeatureBits = getSubtargetInfo().getFeatureBits();
----------------
statham-arm wrote:
I don't have a strong opinion on that, but surely the comment "Don't try to overwrite it" in the switch below here is out of date, because this function isn't _writing_ the predicate at all any more?
https://github.com/llvm/llvm-project/pull/156540
More information about the llvm-commits
mailing list