[all-commits] [llvm/llvm-project] 10c572: [LoopUnswitch] Properly update MSSA if header has ...

Florian Hahn via All-commits all-commits at lists.llvm.org
Sat Jan 30 05:51:37 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 10c57268c074c3ad48f76da38fa2ba575ee3d1f9
      https://github.com/llvm/llvm-project/commit/10c57268c074c3ad48f76da38fa2ba575ee3d1f9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-01-30 (Sat, 30 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
    A llvm/test/Transforms/LoopUnswitch/partial-unswitch-update-memoryssa.ll
    M llvm/test/Transforms/LoopUnswitch/partial-unswitch.ll

  Log Message:
  -----------
  [LoopUnswitch] Properly update MSSA if header has non-clobbering stores.

This patch fixes updating MemorySSA if the header contains memory
defs that do not clobber a duplicated instruction. We need to find the
first defining access outside the loop body and use that as defining
access of the duplicated instruction.

This fixes a crash caused by bee486851c1a.




More information about the All-commits mailing list