[all-commits] [llvm/llvm-project] 32cbe2: [MachineLICM] Add test case showing load hoisted a...

Florian Hahn via All-commits all-commits at lists.llvm.org
Mon Nov 25 02:17:00 PST 2024


  Branch: refs/heads/release/19.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 32cbe24de3f2ecb1c77899ff27bfe70bb033ecde
      https://github.com/llvm/llvm-project/commit/32cbe24de3f2ecb1c77899ff27bfe70bb033ecde
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll

  Log Message:
  -----------
  [MachineLICM] Add test case showing load hoisted across memory barrier.

(cherry picked from commit a9b3ec154d7ab2d0896ac5c9f1e9a1266a37be80)


  Commit: 086d8e6bb5daf8de43880ba90258c49e0fabf2c9
      https://github.com/llvm/llvm-project/commit/086d8e6bb5daf8de43880ba90258c49e0fabf2c9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/Mips/lcb5.ll

  Log Message:
  -----------
  [MachineLICM] Don't allow hoisting invariant loads across mem barrier. (#116987)

The improvements in 63917e1 / #70796 do not check for memory
barriers/unmodelled sideeffects, which means we may incorrectly hoist
loads across memory barriers.

Fix this by checking any machine instruction in the loop is a load-fold
barrier.

PR: https://github.com/llvm/llvm-project/pull/116987
(cherry picked from commit ef102b4a6333a304e36dc623d5381257a7ef1ed6)


Compare: https://github.com/llvm/llvm-project/compare/7e2da7d26238...086d8e6bb5da

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list