aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ExecutionEngine/Orc/ObjectFormatsTest.cpp
diff options
context:
space:
mode:
authorHongyu Chen <xxs_chy@outlook.com>2025-10-15 02:44:18 +0800
committerGitHub <noreply@github.com>2025-10-14 18:44:18 +0000
commit975fba1b499422713e88cd6f374569f3bd38335e (patch)
tree2b96cb86469b30a808532e1bceb2739f3e45b8a5 /llvm/unittests/ExecutionEngine/Orc/ObjectFormatsTest.cpp
parent3e0bf3d65e040058d99c285d6084c488789c3f82 (diff)
downloadllvm-975fba1b499422713e88cd6f374569f3bd38335e.zip
llvm-975fba1b499422713e88cd6f374569f3bd38335e.tar.gz
llvm-975fba1b499422713e88cd6f374569f3bd38335e.tar.bz2
[RegisterCoalescer] Prune live range of early-clobber from live-in (#157628)
Fixes #134424 Fixes #71023 Refer to the context of #71024, when RegisterCoalescer tries to merge `early-clobber %1:vr = PseudoVRGATHER_VI_M1 undef %1, ...`, JoinVals reports `CR_Replace` as the conflict with `undef` can be ignored. However, when pruning values, we need to remove any live ranges that overlap a `CR_Replace` resolution. `LiveIntervals::pruneValue` missed pruning the early-clobber part of the live ranges. This patch implements it by removing the ranges from live-in. I am not familiar with the RegisterCoalescer component. Any advice is appreciated. https://github.com/llvm/llvm-project/issues/156249 seems to be related, but not resolved with this patch. I am still investigating.
Diffstat (limited to 'llvm/unittests/ExecutionEngine/Orc/ObjectFormatsTest.cpp')
0 files changed, 0 insertions, 0 deletions