[PATCH] D106251: [GlobalISel] Fix load-or combine moving loads across potential aliasing stores.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 18 23:38:45 PDT 2021


aemerson created this revision.
aemerson added a reviewer: paquette.
aemerson added a project: LLVM.
Herald added subscribers: jeroen.dobbelaere, hiraditya, rovka.
aemerson requested review of this revision.

Although this combine checks that there's no load folding barriers between the loads that it's trying to merge, it was inserting the load at the MIRBuilder's default insertion point, which is the G_OR use inst.

This was causing a miscompile in the test suite's `SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-bswap-2`


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D106251

Files:
  llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
  llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106251.359673.patch
Type: text/x-patch
Size: 7434 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210719/c4f02dfe/attachment.bin>


More information about the llvm-commits mailing list