[all-commits] [llvm/llvm-project] 327351: [MachineLICM] Precommit tests for implicit-def han...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Mon Jun 23 11:05:33 PDT 2025


  Branch: refs/heads/users/atrosinenko/machine-licm-implicit-defs
  Home:   https://github.com/llvm/llvm-project
  Commit: 32735183224c8bcff2ce24a32819890bb1243938
      https://github.com/llvm/llvm-project/commit/32735183224c8bcff2ce24a32819890bb1243938
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-06-23 (Mon, 23 Jun 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/mlicm-implicit-defs.mir

  Log Message:
  -----------
  [MachineLICM] Precommit tests for implicit-def handling


  Commit: d33f4a48cde579160c0ff5ecb7c03f9202305faa
      https://github.com/llvm/llvm-project/commit/d33f4a48cde579160c0ff5ecb7c03f9202305faa
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-06-23 (Mon, 23 Jun 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AArch64/mlicm-implicit-defs.mir

  Log Message:
  -----------
  [MachineLICM] Do not rely on hasSideEffect when handling impdefs

Take clobbered registers described as implicit-def operands into
account when deciding if an instruction can be moved.

When hasSideEffect was set to 0 in the definition of LOADgotAUTH,
MultiSource/Benchmarks/Ptrdist/ks/ks test from llvm-test-suite started
to crash. The issue was traced down to MachineLICM pass placing
LOADgotAUTH right after an unrelated copy to x16 like this:

    renamable $x16 = COPY renamable $x12
    renamable $x20 = LOADgotAUTH target-flags(aarch64-got) @cost, implicit-def dead $x16, implicit-def dead $x17, implicit-def dead $nzcv
    B %bb.4


Compare: https://github.com/llvm/llvm-project/compare/32735183224c%5E...d33f4a48cde5

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