aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/LiveIntervals.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 23:59:37 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 23:59:37 +0800
commit2623df180b9e86512fe69b8f90563fbd8add89c3 (patch)
treec4afb7c9500d5c4789dcc0eaa81e2c11c9341aa9 /backend/lib/CodeGen/LiveIntervals.cpp
parent7ee5d1913c7cfd0261f86b0ff7be6968b8c07d84 (diff)
downloadrcc-project-2623df180b9e86512fe69b8f90563fbd8add89c3.tar.gz
rcc-project-2623df180b9e86512fe69b8f90563fbd8add89c3.tar.xz
[CodeGen] Complete LaneMask bitwise operations
Diffstat (limited to 'backend/lib/CodeGen/LiveIntervals.cpp')
-rw-r--r--backend/lib/CodeGen/LiveIntervals.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/backend/lib/CodeGen/LiveIntervals.cpp b/backend/lib/CodeGen/LiveIntervals.cpp
index 5a01693..dc25af8 100644
--- a/backend/lib/CodeGen/LiveIntervals.cpp
+++ b/backend/lib/CodeGen/LiveIntervals.cpp
@@ -23,10 +23,6 @@
namespace rcc {
namespace {
-[[nodiscard]] LaneMask subtractLanes(LaneMask Left, LaneMask Right) noexcept {
- return LaneMask::fromRaw(Left.rawValue() & ~Right.rawValue());
-}
-
[[nodiscard]] bool maskIntersects(LaneMask Access, std::optional<LaneMask> Filter) noexcept {
return !Filter || Access.intersects(*Filter);
}
@@ -242,7 +238,7 @@ partitionVirtualRegisterLanes(Register Reg, MachineFunction &Function,
std::vector<LaneMask> Refined;
for (const LaneMask Group : Groups) {
const LaneMask Intersection = Group & Access;
- const LaneMask Difference = subtractLanes(Group, Access);
+ const LaneMask Difference = Group & ~Access;
if (!Intersection.empty())
Refined.push_back(Intersection);
if (!Difference.empty())