aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
diff options
context:
space:
mode:
authorJeffrey Byrnes <jeffrey.byrnes@amd.com>2025-10-27 10:47:11 -0700
committerGitHub <noreply@github.com>2025-10-27 10:47:11 -0700
commit30f2bf75587e87d73c238619866d39c53c389849 (patch)
tree02396f802bcaf852dd03ade98f6b54c299df444b /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
parent30c3a91f94f8e99c494e46f6026d6b1bd943c355 (diff)
downloadllvm-30f2bf75587e87d73c238619866d39c53c389849.zip
llvm-30f2bf75587e87d73c238619866d39c53c389849.tar.gz
llvm-30f2bf75587e87d73c238619866d39c53c389849.tar.bz2
[AMDGPU] Use implicit operand to preserve liveness of COPY (#164911)
When lowering spills / restores, we may end up partially lowering the spill via copies and the remaining portion with loads/stores. In this partial lowering case,the implicit-def operands added to the restore load clobber the preceding copies -- telling MachineCopyPropagation to delete them. By also attaching an implicit operand to the load, the COPYs have an artificial use and thus will not be deleted - this is the same strategy taken in https://github.com/llvm/llvm-project/pull/115285 I'm not sure that we need implicit-def operands on any load restore, but I guess it may make sense if it needs to be split into multiple loads and some have been optimized out as containing undef elements. These implicit / implicit-def operands continue to cause correctness issues. A previous / ongoing long term plan to remove them is being addressed via: https://discourse.llvm.org/t/llvm-codegen-rfc-add-mo-lanemask-type-and-a-new-copy-lanemask-instruction/88021 https://github.com/llvm/llvm-project/pull/151123 https://github.com/llvm/llvm-project/pull/151124
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h')
0 files changed, 0 insertions, 0 deletions