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

Florian Hahn via All-commits all-commits at lists.llvm.org
Sat Jan 30 07:42:38 PST 2021


  Branch: refs/heads/release/12.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 07dc51637cc419cbd61383eb4e26713a8f931806
      https://github.com/llvm/llvm-project/commit/07dc51637cc419cbd61383eb4e26713a8f931806
  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.

(Cherry-picked on the 12.x release branch from
10c57268c074c3ad48f76da38fa2ba575ee3d1f9)




More information about the All-commits mailing list