[all-commits] [llvm/llvm-project] 13b1c9: [CVP] Add tests for union of conditions (NFC)

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Jan 1 07:46:42 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 13b1c9abaf46a7163bfc8fc0a765fbee051ccc80
      https://github.com/llvm/llvm-project/commit/13b1c9abaf46a7163bfc8fc0a765fbee051ccc80
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-01-01 (Fri, 01 Jan 2021)

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

  Log Message:
  -----------
  [CVP] Add tests for union of conditions (NFC)

We currently handle intersected conditions, but not unioned
conditions.


  Commit: 14e540febcdace3b650dba2b8bb0e770b90409ad
      https://github.com/llvm/llvm-project/commit/14e540febcdace3b650dba2b8bb0e770b90409ad
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-01-01 (Fri, 01 Jan 2021)

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

  Log Message:
  -----------
  [LVI] Handle unions of conditions

LVI previously handled "if (L && R)" conditions, but not
"if (L || R)" conditions. The latter case can still produce
useful information if L and R both constrain the same variable.

This adds support for handling the "if (L || R)" case as well.
The only difference is that we take the union instead of the
intersection of the lattice values.


Compare: https://github.com/llvm/llvm-project/compare/f4c39ccd2214...14e540febcda


More information about the All-commits mailing list