[all-commits] [llvm/llvm-project] caa32e: [llvm][LSR] Fix where invariant on ScaledReg & Sca...

Youngsuk Kim via All-commits all-commits at lists.llvm.org
Thu Oct 17 07:48:06 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: caa32e6d6fec4c77d47f85d866e23b4c0e2501a0
      https://github.com/llvm/llvm-project/commit/caa32e6d6fec4c77d47f85d866e23b4c0e2501a0
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-10-17 (Thu, 17 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/X86/pr76504.ll

  Log Message:
  -----------
  [llvm][LSR] Fix where invariant on ScaledReg & Scale is violated (#112576)

Comments attached to the `ScaledReg` field of `struct Formula` explains
that, `ScaledReg` must be non-null when `Scale` is non-zero.

This fixes up a code path where this invariant is violated. Also, add an
assert to ensure this invariant holds true.

Without this patch, compiler aborts with the attached test case.

Fixes #76504



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