[all-commits] [llvm/llvm-project] a24288: [TableGen][GlobalISel] Reorder atomic predicate to...
Evgenii Kudriashov via All-commits
all-commits at lists.llvm.org
Thu Jan 16 08:06:44 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a242880371936a8a424b9d80d47eff1be051429c
https://github.com/llvm/llvm-project/commit/a242880371936a8a424b9d80d47eff1be051429c
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
M llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
A llvm/test/TableGen/GlobalISelEmitter/predicated-pattern-order.td
M llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GlobalISel] Reorder atomic predicate to preserve the order (#121806)
Since there are no opcodes for atomic loads and stores comparing to
SelectionDAG, we add `CheckMMOIsNonAtomic` predicate immediately after
the opcode predicate to make a logical combination of them. Otherwise
when `IPM_AtomicOrderingMMO` is inserted after `IPM_GenericPredicate`,
the patterns without predicates get a higher priority as
`IPM_AtomicOrderingMMO` has higher priority than `IPM_GenericPredicate`.
This is important to preserve an order of aligned/unaligned patterns on
X86 because aligned memory operations have an additional alignment
predicate and should be checked first according to their placement in td
file.
Closes #121446
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