[all-commits] [llvm/llvm-project] babc22: [LoopDeletion] Remove dead loops with no exit blocks

Atmn Patel via All-commits all-commits at lists.llvm.org
Fri Nov 6 14:09:11 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: babc224c5d747ace8601ded9f68f5ff5aaf76bf4
      https://github.com/llvm/llvm-project/commit/babc224c5d747ace8601ded9f68f5ff5aaf76bf4
  Author: Atmn Patel <a335pate at uwaterloo.ca>
  Date:   2020-11-06 (Fri, 06 Nov 2020)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/include/llvm/Analysis/LoopInfoImpl.h
    M llvm/lib/Transforms/Scalar/LoopDeletion.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    A llvm/test/Transforms/LoopDeletion/no-exit-blocks.ll

  Log Message:
  -----------
  [LoopDeletion] Remove dead loops with no exit blocks

Currently, LoopDeletion refuses to remove dead loops with no exit blocks
because it cannot statically determine the control flow after it removes
the block. This leads to miscompiles if the loop is an infinite loop and
should've been removed.

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




More information about the All-commits mailing list