[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