[all-commits] [llvm/llvm-project] f342d7: [ARM] Auto-decode pred operands of Thumb instructi...
Sergei Barannikov via All-commits
all-commits at lists.llvm.org
Thu Nov 27 22:09:00 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f342d793e20f52625d400872f6f299b36d9c6826
https://github.com/llvm/llvm-project/commit/f342d793e20f52625d400872f6f299b36d9c6826
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrCDE.td
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/CMakeLists.txt
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/ARM/Disassembler/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[ARM] Auto-decode pred operands of Thumb instructions (#156540)
Most predicable Thumb instructions do not encode the predicate operand,
but rather take it from an enclosing IT block.
Add `bits<0> p` to the encoding of these instructions to make the
predicate operand decodable by the generated code.
The previous approach was to analyze an instruction after it has been
decoded and add missing predicate operand if necessary. The
post-decoding pass is still required to check predicate applicability
and advance IT block state, but it no longer modifies a decoded
instruction.
Some of the custom decoder methods have become redundant and can be
removed in the future, delegating the decoding task to TableGen-erated
decoder.
Pull Request: https://github.com/llvm/llvm-project/pull/156540
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list