[all-commits] [llvm/llvm-project] 71a8d2: [MachineLICM] Relax overlay conservative PHI check...

Hendrik Greving via All-commits all-commits at lists.llvm.org
Mon Oct 9 04:49:25 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 71a8d2e3064fcb3ff76565e6e8529613f90aa51b
      https://github.com/llvm/llvm-project/commit/71a8d2e3064fcb3ff76565e6e8529613f90aa51b
  Author: Hendrik Greving <hgreving at google.com>
  Date:   2023-10-09 (Mon, 09 Oct 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/X86/2008-04-28-CoalescerBug.ll
    M llvm/test/CodeGen/X86/2012-01-10-UndefExceptionEdge.ll
    M llvm/test/CodeGen/X86/cmpxchg-clobber-flags.ll
    M llvm/test/CodeGen/X86/conditional-tailcall.ll
    M llvm/test/CodeGen/X86/licm-nested.ll
    M llvm/test/CodeGen/X86/loop-strength-reduce7.ll
    M llvm/test/CodeGen/X86/pr38795.ll
    M llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/DebugInfo/X86/dbg-value-transfer-order.ll

  Log Message:
  -----------
  [MachineLICM] Relax overlay conservative PHI check (#67186)

Skip LICM if PHI belongs to the current loop, e.g. is in the
loop's header. This prevents LICM from bailing for CFGs like

L1:
  R = LoopInvariant // can be LICM'd
  BR L1
L2:
  PHI(R, ..)
  BR L2




More information about the All-commits mailing list