[all-commits] [llvm/llvm-project] 03cdb5: [GlobalISel] Fix load-or combine moving loads acro...

Amara Emerson via All-commits all-commits at lists.llvm.org
Mon Jul 19 10:23:39 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 03cdb5221d120c4000725e4aa862ef8c8b852274
      https://github.com/llvm/llvm-project/commit/03cdb5221d120c4000725e4aa862ef8c8b852274
  Author: Amara Emerson <amara at apple.com>
  Date:   2021-07-19 (Mon, 19 Jul 2021)

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

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

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

Differential Revision: https://reviews.llvm.org/D106251




More information about the All-commits mailing list