[all-commits] [llvm/llvm-project] ece9d3: [GlobalISel] Fix store merging incorrectly classif...

Amara Emerson via All-commits all-commits at lists.llvm.org
Wed May 1 11:36:37 PDT 2024


  Branch: refs/heads/release/18.x
  Home:   https://github.com/llvm/llvm-project
  Commit: ece9d35f1a705ab8d66895c6d985907f2b9a2c0c
      https://github.com/llvm/llvm-project/commit/ece9d35f1a705ab8d66895c6d985907f2b9a2c0c
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir

  Log Message:
  -----------
  [GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375)

During analysis, we incorrectly leave the offset part of an address info
struct
as zero, when in actual fact we failed to decompose it into base +
offset.
This results in incorrectly assuming that the address is adjacent to
another store
addr. To fix this we wrap the offset in an optional<> so we can
distinguish between
real zero and unknown.

Fixes issue #90242

(cherry picked from commit 19f4d68252b70c81ebb1686a5a31069eda5373de)



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