[PATCH] D16100: Fix for two constant propagation problems in GVN with assume intrinsic instruction

Yuanrui Zhang via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 11 17:01:04 PST 2016


Ray created this revision.
Ray added reviewers: DavidKreitzer, Prazek.
Ray added a subscriber: llvm-commits.

This patch fixes two constant propagation problems in GVN for assume intrinsic instruction. The first problem is filed in PR25285: when there are multiple instances of the same assume instructions in a basic block with a loop back-edge pointing to itself, the first assume instruction is incorrectly constant-propagated with the value "TRUE" and eliminated later on. The second problem is that, the value "TRUE" is incorrectly constant-propagated to the successor blocks that are not dominated by the basic block containing the assume instruction.

http://reviews.llvm.org/D16100

Files:
  include/llvm/Transforms/Utils/Local.h
  lib/Transforms/Scalar/GVN.cpp
  lib/Transforms/Utils/Local.cpp
  test/Transforms/GVN/assume-equal.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16100.44578.patch
Type: text/x-patch
Size: 4405 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160112/d14667fb/attachment.bin>


More information about the llvm-commits mailing list