[all-commits] [llvm/llvm-project] 25a989: [ArgPromotion] Add test case for #84807.

Florian Hahn via All-commits all-commits at lists.llvm.org
Wed Mar 13 11:02:18 PDT 2024


  Branch: refs/heads/release/18.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 25a989ce8bf35ccda064d956305f920bf711a7de
      https://github.com/llvm/llvm-project/commit/25a989ce8bf35ccda064d956305f920bf711a7de
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/ArgumentPromotion/aliasing-and-non-aliasing-loads-with-clobber.ll

  Log Message:
  -----------
  [ArgPromotion] Add test case for #84807.

Test case for https://github.com/llvm/llvm-project/issues/84807,
showing a mis-compile in ArgPromotion.

(cherry picked from commit 31ffdb56b4df9b772d763dccabbfde542545d695)


  Commit: 7b61ddefc28a2c88be3a754ceee7bace98e3b187
      https://github.com/llvm/llvm-project/commit/7b61ddefc28a2c88be3a754ceee7bace98e3b187
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-13 (Wed, 13 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
(cherry picked from commit bba4a1daff6ee09941f1369a4e56b4af95efdc5c)


Compare: https://github.com/llvm/llvm-project/compare/2fc8bea42f99...7b61ddefc28a

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