[PATCH] D23437: [LoopInfo] Add a routine for verification by recomputation.

Michael Zolotukhin via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 11 18:41:17 PDT 2016


mzolotukhin created this revision.
mzolotukhin added reviewers: chandlerc, sanjoy, hfinkel.
mzolotukhin added subscribers: silvas, llvm-commits.
Herald added a subscriber: mzolotukhin.

Current implementation of LI verifier isn't ideal and fails to detect
some cases when LI is incorrect. For instance, it checks that all
recorded loops are in a correct form, but it has no way to check if
there are no more other (unrecorded in LI) loops in the function. This
patch adds a way to detect such bugs.

Examples of potential use:
- In PR28888 loop-unroll breaks LI, but we don't detect it (with this
  patch we will).
- IRCE breaks LI in IRCE/with-parent-loops.ll test. I'm xfail-ing this
  test for now (I'll file a separate PR for it).

https://reviews.llvm.org/D23437

Files:
  include/llvm/Analysis/LoopInfo.h
  include/llvm/Analysis/LoopInfoImpl.h
  lib/Analysis/LoopInfo.cpp
  test/Transforms/IRCE/with-parent-loops.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23437.67787.patch
Type: text/x-patch
Size: 4099 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160812/e82b0040/attachment-0001.bin>


More information about the llvm-commits mailing list