[all-commits] [llvm/llvm-project] 3ac254: [CVP] Add test for and of min (NFC)

Nikita Popov via All-commits all-commits at lists.llvm.org
Sun Apr 4 02:11:21 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3ac2541b5c31fd13fa60e7b0692b7f9bf4a41733
      https://github.com/llvm/llvm-project/commit/3ac2541b5c31fd13fa60e7b0692b7f9bf4a41733
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-04-04 (Sun, 04 Apr 2021)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/and.ll

  Log Message:
  -----------
  [CVP] Add test for and of min (NFC)

The and currently doesn't get optimized away because %a is
overdefined.


  Commit: 72e0846ef87d0d3b5960238bc47fc0cc6f04d848
      https://github.com/llvm/llvm-project/commit/72e0846ef87d0d3b5960238bc47fc0cc6f04d848
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-04-04 (Sun, 04 Apr 2021)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/and.ll

  Log Message:
  -----------
  [LVI] Don't bail on overdefined value in select

Even if one of the operands is overdefined, we may still produce
a non-overdefined result, e.g. due to a min/max operation. This
matches our handling elsewhere, e.g. for binary operators.

The slot poisoning comment refers to a much older LVI cache
implementation.


Compare: https://github.com/llvm/llvm-project/compare/602ab188a7e1...72e0846ef87d


More information about the All-commits mailing list