aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
diff options
context:
space:
mode:
authorFabian Ritter <fabian.ritter@amd.com>2025-10-23 09:35:33 +0200
committerGitHub <noreply@github.com>2025-10-23 09:35:33 +0200
commita3ea51e4f161aecfe7dfe9e7c9d709b1f9cdf0ec (patch)
tree7a3cd461e333fd116c691743f398d0e8020259d2 /llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
parentfb4c05cf036e09ed97a48a6c515befbcc9198c61 (diff)
downloadllvm-a3ea51e4f161aecfe7dfe9e7c9d709b1f9cdf0ec.zip
llvm-a3ea51e4f161aecfe7dfe9e7c9d709b1f9cdf0ec.tar.gz
llvm-a3ea51e4f161aecfe7dfe9e7c9d709b1f9cdf0ec.tar.bz2
[SDAG] Introduce inbounds flag for ISD::PTRADD (#162477)
This patch introduces SDNodeFlags::InBounds, to show that an ISD::PTRADD SDNode implements an inbounds getelementptr operation (i.e., the pointer operand is in bounds wrt. an allocated object it is based on, and the arithmetic does not change that). The flag is set in the DAG construction when lowering inbounds GEPs. Inbounds information is useful in the ISel when selecting memory instructions that perform address computations whose intermediate steps must be in the same memory region as the final result. Follow-up patches to propagate the flag in DAGCombines and to use it when lowering AMDGPU's flat memory instructions, where the immediate offset must not affect the memory aperture of the address (similar to this GISel patch: #153001), are planned. This mirrors #150900, which has introduced a similar flag in GlobalISel. This patch supersedes #131862, which previously attempted to introduce an SDNodeFlags::InBounds flag. The difference between this PR and #131862 is that there is now an ISD::PTRADD opcode (PR #140017) and the InBounds flag is only defined to apply to ISD::PTRADD DAG nodes. It is therefore unambiguous that in-bounds-ness refers to a memory object into which the left operand of the PTRADD node points (in contrast to #131862, where InBounds would have applied to commutative ISD::ADD nodes, so that the semantics would be more difficult to reason about). For SWDEV-516125.
Diffstat (limited to 'llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp')
0 files changed, 0 insertions, 0 deletions