aboutsummaryrefslogtreecommitdiff
path: root/clang/test/Modules/ModuleModuleDebugInfo.cpp
diff options
context:
space:
mode:
authorFabian Ritter <fabian.ritter@amd.com>2025-07-29 13:04:04 +0200
committerGitHub <noreply@github.com>2025-07-29 13:04:04 +0200
commitd64240b5c69e0a36fd86605812860c9f1116f8c9 (patch)
tree460e8b468f6f92f120f67913cd713401208fd8d1 /clang/test/Modules/ModuleModuleDebugInfo.cpp
parent1a3e857c6bfc2962a6951e25c33246eec24b5174 (diff)
downloadllvm-d64240b5c69e0a36fd86605812860c9f1116f8c9.zip
llvm-d64240b5c69e0a36fd86605812860c9f1116f8c9.tar.gz
llvm-d64240b5c69e0a36fd86605812860c9f1116f8c9.tar.bz2
[GISel] Introduce MachineIRBuilder::(build|materialize)ObjectPtrOffset (#150392)
These functions are for building G_PTR_ADDs when we know that the base pointer and the result are both valid pointers into (or just after) the same object. They are similar to SelectionDAG::getObjectPtrOffset. This PR also changes call sites of the generic (build|materialize)PtrAdd functions that implement pointer arithmetic to split large memory accesses to the new functions. Since memory accesses have to fit into an object in memory, pointer arithmetic to an offset into a large memory access also yields an address in that object. Currently, these (build|materialize)ObjectPtrOffset functions only add "nuw" to the generated G_PTR_ADD, but I intend to introduce an "inbounds" MIFlag in a later PR (analogous to a concurrent effort in SDAG: #131862, related: #140017, #141725) that will also be set in the (build|materialize)ObjectPtrOffset functions. Most test changes just add "nuw" to G_PTR_ADDs. Exceptions are AMDGPU's call-outgoing-stack-args.ll, flat-scratch.ll, and freeze.ll tests, where offsets are now folded into scratch instructions, and cases where the behavior of the check regeneration script changed, resulting, e.g., in better checks for "nusw G_PTR_ADD" instructions, matched empty lines, and the use of "CHECK-NEXT" in MIPS tests. For SWDEV-516125.
Diffstat (limited to 'clang/test/Modules/ModuleModuleDebugInfo.cpp')
0 files changed, 0 insertions, 0 deletions