UseListOrder: Order GlobalValue uses after initializers
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 29 Jul 2014 23:06:14 +0000 (23:06 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 29 Jul 2014 23:06:14 +0000 (23:06 +0000)
commit1d501e8f46ccea5efa8bdb2833f6b4fc2f48f047
tree8f7c93c248bf4f45ccc8c7d831fbd8f1bc1428fd
parent2e6a87b2816edb04819f2e02a1674677596f6087
UseListOrder: Order GlobalValue uses after initializers

To avoid unnecessary forward references, the reader doesn't process
initializers of `GlobalValue`s until after the constant pool has been
processed, and then in reverse order.  Model this when predicting
use-list order.  This gets two more Bitcode tests passing with
`llvm-uselistorder`.

Part of PR5680.

llvm-svn: 214242
llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
llvm/test/Bitcode/local-linkage-default-visibility.3.4.ll
llvm/test/Bitcode/old-aliases.ll