blob: b2a77ccad29d37fc5b6f02162255083135877815 [file] [log] [blame]
Qining Lu7cd53512015-06-26 09:36:00 -07001; Test of global variable reordering.
2
3; REQUIRES: allow_dump
4
5; Test x8632 asm output
6; RUN: %if --need=target_X8632 --command %p2i --filetype=asm --target x8632 \
7; RUN: -i %s --assemble --disassemble --dis-flags=-rD \
8; RUN: --args -sz-seed=1 -reorder-global-variables -O2 \
9; RUN: | %if --need=target_X8632 --command FileCheck %s
10; RUN: %if --need=target_X8632 --command %p2i --filetype=asm --target x8632 \
11; RUN: -i %s --assemble --disassemble --dis-flags=-rD \
12; RUN: --args -sz-seed=1 -reorder-global-variables -Om1 \
13; RUN: | %if --need=target_X8632 --command FileCheck %s
14
15; Test x8632 elf output
16; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --target x8632 \
17; RUN: -i %s --disassemble --dis-flags=-rD \
18; RUN: --args -sz-seed=1 -reorder-global-variables -O2 \
19; RUN: | %if --need=target_X8632 --command FileCheck %s
20; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --target x8632 \
21; RUN: -i %s --disassemble --dis-flags=-rD \
22; RUN: --args -sz-seed=1 -reorder-global-variables -Om1 \
23; RUN: | %if --need=target_X8632 --command FileCheck %s
24
25; Test arm output
26; IAS is not implemented yet.
27; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --target arm32 \
28; RUN: -i %s --assemble --disassemble --dis-flags=-rD \
29; RUN: --args -sz-seed=1 -reorder-global-variables \
30; RUN: --skip-unimplemented -O2 \
31; RUN: | %if --need=target_ARM32 --command FileCheck %s
32; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --target arm32 \
33; RUN: -i %s --assemble --disassemble --dis-flags=-rD \
34; RUN: --args -sz-seed=1 -reorder-global-variables \
35; RUN: --skip-unimplemented -Om1 \
36; RUN: | %if --need=target_ARM32 --command FileCheck %s
37
38
39@PrimitiveInit = internal global [4 x i8] c"\1B\00\00\00", align 4
40
41@PrimitiveInitConst = internal constant [4 x i8] c"\0D\00\00\00", align 4
42
43@ArrayInit = internal global [20 x i8] c"\0A\00\00\00\14\00\00\00\1E\00\00\00(\00\00\002\00\00\00", align 4
44
45@ArrayInitPartial = internal global [40 x i8] c"<\00\00\00F\00\00\00P\00\00\00Z\00\00\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 4
46
47@PrimitiveInitStatic = internal global [4 x i8] zeroinitializer, align 4
48
49@PrimitiveUninit = internal global [4 x i8] zeroinitializer, align 4
50
51@ArrayUninit = internal global [20 x i8] zeroinitializer, align 4
52
53@ArrayUninitConstDouble = internal constant [200 x i8] zeroinitializer, align 8
54
55@ArrayUninitConstInt = internal constant [20 x i8] zeroinitializer, align 4
56
57;@__init_array_start = internal constant [0 x i8] zeroinitializer, align 4
58;@__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4
59;@__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8
60;@__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4
61
62; Make sure the shuffled order is correct.
63
64; CHECK-LABEL: ArrayInitPartial
65; CHECK-LABEL: PrimitiveInit
66; CHECK-LABEL: ArrayInit
67; CHECK-LABEL: PrimitiveUninit
68; CHECK-LABEL: ArrayUninit
69; CHECK-LABEL: PrimitiveInitStatic
70; CHECK-LABEL: ArrayUninitConstDouble
71; CHECK-LABEL: ArrayUninitConstInt
72; CHECK-LABEL: PrimitiveInitConst