[all-commits] [llvm/llvm-project] bba4a1: [ArgPromotion] Remove incorrect TranspBlocks set f...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Mar 12 02:48:04 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bba4a1daff6ee09941f1369a4e56b4af95efdc5c
      https://github.com/llvm/llvm-project/commit/bba4a1daff6ee09941f1369a4e56b4af95efdc5c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/test/Transforms/ArgumentPromotion/aliasing-and-non-aliasing-loads-with-clobber.ll

  Log Message:
  -----------
  [ArgPromotion] Remove incorrect TranspBlocks set for loads. (#84835)

The TranspBlocks set was used to cache aliasing decision for all
processed loads in the parent loop. This is incorrect, because each load
can access a different location, which means one load not being modified
in a block doesn't translate to another load not being modified in the
same block.

All loads access the same underlying object, so we could perhaps use a
location without size for all loads and retain the cache, but that would
mean we loose precision.

For now, just drop the cache.

Fixes https://github.com/llvm/llvm-project/issues/84807

PR: https://github.com/llvm/llvm-project/pull/84835



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