diff options
author | Benjamin Maxwell <benjamin.maxwell@arm.com> | 2025-05-02 10:23:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-02 10:23:39 +0100 |
commit | 40edb37bb370541b71657fc308ba26b1ec2deb16 (patch) | |
tree | cc20999ef86469ced4b4aea09dfb1064950c637c /clang/lib/Sema/SemaPseudoObject.cpp | |
parent | daa4061d61216456baa83ab404e096200e327fb4 (diff) | |
download | llvm-40edb37bb370541b71657fc308ba26b1ec2deb16.zip llvm-40edb37bb370541b71657fc308ba26b1ec2deb16.tar.gz llvm-40edb37bb370541b71657fc308ba26b1ec2deb16.tar.bz2 |
[StackSlotColoring] Fix issue where colors for a StackID are dropped (#138140)
In InitializeSlots, if an interval with a non-zero StackID (A) is
encountered we set All/UsedColors to a size of A + 1. If after this we
process another interval with a non-zero StackID (B), where B < A, then
we resize All/UsedColors to size < A + 1, and lose the BitVector
associated with A.
AFAIK this is a latent bug upstream, but when adding a new TargetStackID
locally I hit a `NextColors[StackID] != -1 && "No more spill slots?"`
assertion due to this issue.
Diffstat (limited to 'clang/lib/Sema/SemaPseudoObject.cpp')
0 files changed, 0 insertions, 0 deletions