[all-commits] [llvm/llvm-project] 1b84ac: [LoopDeletion] Consider infinite loops alive, unle...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Jun 1 05:08:51 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1b84acb23acac2fbb450312049495164a16ee715
      https://github.com/llvm/llvm-project/commit/1b84acb23acac2fbb450312049495164a16ee715
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-06-01 (Tue, 01 Jun 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopDeletion.cpp
    M llvm/test/Transforms/LoopDeletion/noop-loops-with-subloops.ll
    M llvm/test/Transforms/LoopDeletion/unreachable-loops.ll

  Log Message:
  -----------
  [LoopDeletion] Consider infinite loops alive, unless mustprogress.

The current loop or any of its sub-loops may be infinite. Unless the
function or the loops are marked as mustprogress, this in itself makes
the loop *not* dead.

This patch moves the logic to check whether the current loop is finite
or mustprogress to `isLoopDead` and also extends it to check the
sub-loops. This should fix PR50511.

Reviewed By: nikic

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




More information about the All-commits mailing list