Fix verifier for GlobalAliases to avoid recursing into global initializers.
authorBob Wilson <bob.wilson@apple.com>
Thu, 12 Jun 2014 01:46:54 +0000 (01:46 +0000)
committerBob Wilson <bob.wilson@apple.com>
Thu, 12 Jun 2014 01:46:54 +0000 (01:46 +0000)
commit23475569d5d6f3ca7cc745dddb86c16f126e3efc
tree44ed8c60d7ea60002f7aa8fb1a794b83e503d89c
parent9ee34311f3a9f6d49023bc74f6028133f90e1d4f
Fix verifier for GlobalAliases to avoid recursing into global initializers.

The verifier follows GlobalAlias operands so that it can detect cycles of
alias definitions. It was doing this in a way that caused it to also recurse
through initializers for the GlobalValue aliasees, and it would fail when
an initializer refers to a global that is a declaration and not a definition.
This patch causes it to stop recursing when it hits a global definition.
<rdar://problem/17277451>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210734 91177308-0d34-0410-b5e6-96231b3b80d8
lib/IR/Verifier.cpp
test/Verifier/alias.ll