aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2022-01-12 09:05:12 -0500
committerMatt Arsenault <Matthew.Arsenault@amd.com>2022-01-19 10:13:31 -0500
commit7f26a1027f0c41b677aece1976286cd14a89020c (patch)
tree450fcc765e0b0632f41af20caa50e0e71b4b0366 /lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.cpp
parent55b702c37b7e8b5fde04b6a60b5bb12806bdb697 (diff)
downloadllvm-7f26a1027f0c41b677aece1976286cd14a89020c.zip
llvm-7f26a1027f0c41b677aece1976286cd14a89020c.tar.gz
llvm-7f26a1027f0c41b677aece1976286cd14a89020c.tar.bz2
AMDGPU/GlobalISel: Introduce pseudo to copy sp in call sequences
Arbitrary stack pointers are accessed using MUBUF instructions with the voffset field, which is interpreted as the swizzled address. We want to fold fold into the MUBUF form to use the SP in the SGPR offset, and previously we were special casing the interpretation of the pointer value if the access memory operand said it was relative to the stack pointer. 690f5b7a0128a210093e9b217932743ad35b5c5a removed this check, and moved the DAG path to special casing copies from SGPRs. This is not an entirely sound approach, since it's still changing the interpretation of pointer values based the context. Introduce a new pseudo which corresponds to the wave-to-vector address transform. This way the memory instruction has consistent semantics where the incoming pointer is always interpreted as a vector address, and we're not obligated to optimize into the MUBUF offset-only addressing mode. The DAG should probably have an equivalent pseudo. This should fix some correctness issues, and folding this into addressing modes will be a future optimization patch.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.cpp')
0 files changed, 0 insertions, 0 deletions