[all-commits] [llvm/llvm-project] a12390: [RISCV] Don't use pointer operand in MemoryLocatio...

Craig Topper via All-commits all-commits at lists.llvm.org
Mon Jan 29 21:53:36 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a12390e6202eaf1e5d7810109756e10079b9144b
      https://github.com/llvm/llvm-project/commit/a12390e6202eaf1e5d7810109756e10079b9144b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Don't use pointer operand in MemoryLocation for RISC-V strided and indexed load/store intrinsics. (#79890)

It seems that even though we set the size to unknown, there is still an
assumption in alias analysis somewhere that we will only access bytes
*after* the pointer. Since a strided/indexed load/store can have
negative indices, this is not accurate.

This was found in our downstream when the scheduler reordered a strided
load with negative stride above a scalar store that aliased with it.




More information about the All-commits mailing list