[PATCH] D27288: [GVN] When merging blocks update LoopInfo if it's available

Adam Nemet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 30 16:53:52 PST 2016


anemet created this revision.
anemet added reviewers: hfinkel, dberlin.
anemet added a subscriber: llvm-commits.
Herald added a subscriber: fhahn.

If LoopInfo is available during GVN, BasicAA will use it.  However
MergeBlockIntoPredecessor does not update LI as it merges blocks.

This didn't use to cause problems because LI was freed before
GVN/BasicAA.  Now with OptimizationRemarkEmitter, the lifetime of LI is
extended so LI needs to be kept up-to-date during GVN.


https://reviews.llvm.org/D27288

Files:
  include/llvm/Transforms/Scalar/GVN.h
  lib/Transforms/Scalar/GVN.cpp
  test/Transforms/GVN/stale-loop-info.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27288.79841.patch
Type: text/x-patch
Size: 5115 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161201/2099857e/attachment.bin>


More information about the llvm-commits mailing list