1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
Fangrui Song 92f2c530f2 [test] Add explicit dso_local to constant/global variable declarations
They are currently implicit because TargetMachine::shouldAssumeDSOLocal implies
dso_local.

For external data, clang -fno-pic emits the dso_local specifier for ELF and
non-MinGW COFF. Adding explicit dso_local makes these tests in align with the
clang behavior and helps implementing an option to use GOT indirection for
external data access in -fno-pic mode (to avoid copy relocations).
2020-12-04 13:51:01 -08:00

30 lines
596 B
LLVM

; RUN: llc < %s -mtriple=i686--
; PR3241
@g_620 = external dso_local global i32
define void @func_18(i32 %p_21) nounwind {
entry:
%t0 = call i32 @func_31(i32 %p_21) nounwind
%t1 = call i32 @safe_add_macro_uint32_t_u_u() nounwind
%t2 = icmp sgt i32 %t1, 0
%t3 = zext i1 %t2 to i32
%t4 = load i32, i32* @g_620, align 4
%t5 = icmp eq i32 %t3, %t4
%t6 = xor i32 %p_21, 1
%t7 = call i32 @func_55(i32 %t6) nounwind
br i1 %t5, label %return, label %bb
bb:
unreachable
return:
unreachable
}
declare i32 @func_31(i32)
declare i32 @safe_add_macro_uint32_t_u_u()
declare i32 @func_55(i32)