[all-commits] [llvm/llvm-project] 2a08d7: [SCEV] Add additional loop guard and/or tests (NFC)

Nikita Popov via All-commits all-commits at lists.llvm.org
Sun May 9 12:34:52 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2a08d7409bf920b0b81708cf2bce0c1179262006
      https://github.com/llvm/llvm-project/commit/2a08d7409bf920b0b81708cf2bce0c1179262006
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-05-09 (Sun, 09 May 2021)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll

  Log Message:
  -----------
  [SCEV] Add additional loop guard and/or tests (NFC)

Add tests for and/and, and/or, or/or, or/and combinations.


  Commit: d26ca78c18ed21713d7d0a44fb75f1989575ab9d
      https://github.com/llvm/llvm-project/commit/d26ca78c18ed21713d7d0a44fb75f1989575ab9d
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-05-09 (Sun, 09 May 2021)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll

  Log Message:
  -----------
  [SCEV] Handle and/or in applyLoopGuards()

applyLoopGuards() already combines conditions from multiple nested
guards. However, it cannot use multiple conditions on the same guard,
combined using and/or. Add support for this by recursing into either
`and` or `or`, depending on the direction of the branch.

Differential Revision: https://reviews.llvm.org/D101692


Compare: https://github.com/llvm/llvm-project/compare/675daef58b5e...d26ca78c18ed


More information about the All-commits mailing list