OSDN Git Service

Fix mergefunc infinite loop
authorJF Bastien <jfb@google.com>
Wed, 15 Jul 2015 21:51:33 +0000 (21:51 +0000)
committerJF Bastien <jfb@google.com>
Wed, 15 Jul 2015 21:51:33 +0000 (21:51 +0000)
commit063eb4e38935f2c55620feb5135f6d3b9fa2450f
tree7b03555b59bfcec19b34fb498cf20e7a8093aad4
parenta0458b67ae2733bf216bce5824accb63d96d33fa
Fix mergefunc infinite loop

Self-referential constants containing references to a merged function
no longer cause the MergeFunctions pass to infinite loop. Also adds a
reproduction IR which would otherwise fail, which was isolated from a similar
issue in Chromium.

Author: jrkoenig
Reviewers: nlewycky, jfb
Subscribers: llvm-commits, nlewycky, jfb

Differential Revision: http://reviews.llvm.org/D11208

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242337 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/MergeFunctions.cpp
test/Transforms/MergeFunc/self-referential-global.ll [new file with mode: 0644]