From 9177867b247fb2b5505cb2f349a04cb1b05aa89b Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Thu, 31 Jul 2014 00:13:28 +0000 Subject: UseListOrder: Don't give constant IDs to GlobalValues Since initializers of GlobalValues are being assigned IDs before GlobalValues themselves, explicitly exclude GlobalValues from the constant pool. Added targeted test in `test/Bitcode/use-list-order.ll` and added two more RUN lines in `test/Assembly`. This is part of PR5680. llvm-svn: 214368 --- llvm/test/Bitcode/use-list-order.ll | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'llvm/test/Bitcode') diff --git a/llvm/test/Bitcode/use-list-order.ll b/llvm/test/Bitcode/use-list-order.ll index fb18b462da5..3d3a06ca9de 100644 --- a/llvm/test/Bitcode/use-list-order.ll +++ b/llvm/test/Bitcode/use-list-order.ll @@ -22,6 +22,19 @@ @globalAndFunction = global i4 4 @globalAndFunctionGlobalUser = global i4* @globalAndFunction +; Check use-list order for constants used by globals that are themselves used +; as aliases. This confirms that this globals are recognized as GlobalValues +; (not general constants). +@const.global = global i63 0 +@const.global.ptr = global i63* @const.global +@const.global.2 = global i63 0 + +; Same as above, but for aliases. +@const.target = global i62 1 +@const.alias = alias i62* @const.target +@const.alias.ptr = alias i62* @const.alias +@const.alias.2 = alias i62* @const.target + define i64 @f(i64 %f) { entry: %sum = add i64 %f, 0 -- cgit v1.2.3