aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/AST/ByteCode/Compiler.cpp
diff options
context:
space:
mode:
authorFabian Ritter <fabian.ritter@amd.com>2025-09-19 11:58:41 +0200
committerGitHub <noreply@github.com>2025-09-19 11:58:41 +0200
commitd5607694e1270a4fc4e3c6f8c9de5d1c4f9c34ff (patch)
treecb82971ddde571c321def83364bb2c89b8395a97 /clang/lib/AST/ByteCode/Compiler.cpp
parent91dba2201ec63907105ffddbea1de82f649d35d8 (diff)
downloadllvm-d5607694e1270a4fc4e3c6f8c9de5d1c4f9c34ff.zip
llvm-d5607694e1270a4fc4e3c6f8c9de5d1c4f9c34ff.tar.gz
llvm-d5607694e1270a4fc4e3c6f8c9de5d1c4f9c34ff.tar.bz2
[AMDGPU][SDAG] DAGCombine PTRADD -> disjoint OR (#146075)
If we can't fold a PTRADD's offset into its users, lowering them to disjoint ORs is preferable: Often, a 32-bit OR instruction suffices where we'd otherwise use a pair of 32-bit additions with carry. This needs to be a DAGCombine (and not a selection rule) because its main purpose is to enable subsequent DAGCombines for bitwise operations. We don't want to just turn PTRADDs into disjoint ORs whenever that's sound because this transform loses the information that the operation implements pointer arithmetic, which AMDGPU for instance needs when folding constant offsets. For SWDEV-516125.
Diffstat (limited to 'clang/lib/AST/ByteCode/Compiler.cpp')
0 files changed, 0 insertions, 0 deletions