diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 23:59:37 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 23:59:37 +0800 |
| commit | 2623df180b9e86512fe69b8f90563fbd8add89c3 (patch) | |
| tree | c4afb7c9500d5c4789dcc0eaa81e2c11c9341aa9 /backend/lib/CodeGen/LiveIntervals.cpp | |
| parent | 7ee5d1913c7cfd0261f86b0ff7be6968b8c07d84 (diff) | |
| download | rcc-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.cpp | 6 |
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()) |
