diff options
author | Nathan Gauër <brioche@google.com> | 2025-08-01 11:10:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-01 11:10:35 +0200 |
commit | 7c1b948e30b538803f79ac90c538e04f96470dd3 (patch) | |
tree | 65fab05f5429558ca5d5219c28805cf72d5bc03d /lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp | |
parent | 09dc08b707cf70897a7cb47efba19a14798561b3 (diff) | |
download | llvm-7c1b948e30b538803f79ac90c538e04f96470dd3.zip llvm-7c1b948e30b538803f79ac90c538e04f96470dd3.tar.gz llvm-7c1b948e30b538803f79ac90c538e04f96470dd3.tar.bz2 |
[SPIR-V] Fix some GEP legalization (#150943)
Pointers and GEP are untyped. SPIR-V required structured OpAccessChain.
This means the backend will have to determine a good way to retrieve the
structured access from an untyped GEP. This is not a trivial problem,
and needs to be addressed to have a robust compiler.
The issue is other workstreams relies on the access chain deduction to
work. So we have 2 options:
- pause all dependent work until we have a good chain deduction.
- submit this limited fix to we can work on both this and other features
in parallel.
Choice we want to make is #2: submitting this **knowing this is not a
good** fix. It only increase the number of patterns we can work with,
thus allowing others to continue working on other parts of the backend.
This patch as-is has many limitations:
- If cannot robustly determine the depth of the structured access from a
GEP. Fixing this would require looking ahead at the full GEP chain.
- It cannot always figure out the correct access indices, especially
with dynamic indices. This will require frontend collaboration.
Because we know this is a temporary hack, this patch only impacts the
logical SPIR-V target. Physical SPIR-V, which can rely on pointer cast
remains on the old method.
Related to #145002
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp')
0 files changed, 0 insertions, 0 deletions