[all-commits] [llvm/llvm-project] e8918c: [SCEV] Consider non-volatile memory intrinsics as ...

Sushant Gokhale via All-commits all-commits at lists.llvm.org
Mon Aug 11 00:25:12 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e8918c318ee62973867e7ac3d3250a4478f2f04d
      https://github.com/llvm/llvm-project/commit/e8918c318ee62973867e7ac3d3250a4478f2f04d
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2025-08-11 (Mon, 11 Aug 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Transforms/LoopIdiom/introduce-memset-in-outerloop.ll

  Log Message:
  -----------
  [SCEV] Consider non-volatile memory intrinsics as not having side-effect for forward progress (#150916)

For the attached test:
Before the loop-idiom pass, we have a store into the inner loop which is
considered simple and one that does not have any side effects on the
loop. Post loop-idiom pass, we get a memset into the outer loop that is
considered to introduce side effects on the loop. This changes the
backedge taken count before and after the pass and hence, the crash with
verify-scev.

We try to consider non-volatile memory intrinsics as not having
side-effect for forward progress to fix the issue.

Fixes #149377



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