[all-commits] [llvm/llvm-project] 5afa0f: [X86] Prevent APX NDD compression when it creates ...
Daniel Zabawa via All-commits
all-commits at lists.llvm.org
Fri Mar 21 09:50:33 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5afa0fa9a6ba482cdc87945b71f5cd626b754d8f
https://github.com/llvm/llvm-project/commit/5afa0fa9a6ba482cdc87945b71f5cd626b754d8f
Author: Daniel Zabawa <daniel.zabawa at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/apx/ndd-false-deps-asm.mir
A llvm/test/CodeGen/X86/apx/ndd-false-deps.mir
Log Message:
-----------
[X86] Prevent APX NDD compression when it creates a partial write (#132051)
APX NDD instructions may be compressed when the result is also a source.
For 8/16b instructions, this may create partial register write hazards
if a previous super-register def is within the partial reg update
clearance, or incorrect code if the super-register is not dead.
This change prevents compression when the super-register is marked as an
implicit define, which the virtual rewriter already adds in the case
where a subregister is defined but the super-register is not dead.
The BreakFalseDeps interface is also updated to add implicit
super-register defs for NDD instructions that would incur partial-write
stalls if compressed to legacy ops.
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