aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDaniel Thornburgh <mysterymath@gmail.com>2021-12-09 12:00:05 -0800
committerAmara Emerson <amara@apple.com>2021-12-09 12:38:16 -0800
commit2717f62c97cf134b4ef7bd5b03e046ebf3f5efc2 (patch)
tree0d8e6ad21e178ebcca51582c706ed5baae349e79 /clang/lib/Frontend/CompilerInvocation.cpp
parent5e171cebd3bafbf39cdad6294fe26c3952aedbc3 (diff)
downloadllvm-2717f62c97cf134b4ef7bd5b03e046ebf3f5efc2.zip
llvm-2717f62c97cf134b4ef7bd5b03e046ebf3f5efc2.tar.gz
llvm-2717f62c97cf134b4ef7bd5b03e046ebf3f5efc2.tar.bz2
[GlobalISel] Make G_PTR_ADD pattern matcher non-commutative.
G_PTR_ADD takes arguments of two different types, so it probably shouldn't be considered commutative just on that basis. A recent G_PTR_ADD reassociation optimization (https://reviews.llvm.org/D109528) can emit erroneous code if the pattern matcher commutes the arguments; this can happen when the base pointer was created by G_INTTOPTR of a G_CONSTANT and the offset register is variable. This was discovered on the llvm-mos fork, but I added a failing test case that should apply to AArch64 (and more generally). Differential Revision: https://reviews.llvm.org/D114655
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions