[PATCH] D14996: [WinEH] Avoid infinite loop in BranchFolding for multiple single block funclets

Andy Kaylor via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 25 13:34:48 PST 2015


andrew.w.kaylor created this revision.
andrew.w.kaylor added reviewers: JosephTremoulet, rnk, majnemer.
andrew.w.kaylor added a subscriber: llvm-commits.
andrew.w.kaylor set the repository for this revision to rL LLVM.

When a function contains multiple funclets that are represented by a single block, we can get into a situation where the BranchFolding pass goes into an infinite loop trying to place each of these blocks at the end of the function.  This patch adds a simple selection criteria to avoid this problem.

Repository:
  rL LLVM

http://reviews.llvm.org/D14996

Files:
  lib/CodeGen/BranchFolding.cpp
  test/Transforms/BranchFolding/single-block-funclets.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14996.41178.patch
Type: text/x-patch
Size: 5882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151125/57c47458/attachment.bin>


More information about the llvm-commits mailing list