[WebAssembly] Don't perform the returned-argument optimization on constants.
[oota-llvm.git] / test / CodeGen / ARM / data-in-code-annotations.ll
1 ; RUN: llc < %s -mtriple=armv7-apple-darwin -arm-atomic-cfg-tidy=0 | FileCheck %s
2
3 define double @f1() nounwind {
4 ; CHECK-LABEL: f1:
5 ; CHECK: .data_region
6 ; CHECK: .long 1413754129
7 ; CHECK: .long 1074340347
8 ; CHECK: .end_data_region
9   ret double 0x400921FB54442D11
10 }
11
12
13 define i32 @f2()  {
14 ; CHECK-LABEL: f2:
15 ; CHECK: .data_region jt32
16 ; CHECK: .end_data_region
17
18 entry:
19   switch i32 undef, label %return [
20     i32 1, label %sw.bb
21     i32 2, label %sw.bb6
22     i32 3, label %sw.bb13
23     i32 4, label %sw.bb20
24   ]
25
26 sw.bb:                                            ; preds = %entry
27   br label %return
28
29 sw.bb6:                                           ; preds = %entry
30   br label %return
31
32 sw.bb13:                                          ; preds = %entry
33   br label %return
34
35 sw.bb20:                                          ; preds = %entry
36   %div = sdiv i32 undef, undef
37   br label %return
38
39 return:                                           ; preds = %sw.bb20, %sw.bb13, %sw.bb6, %sw.bb, %entry
40   %retval.0 = phi i32 [ %div, %sw.bb20 ], [ undef, %sw.bb13 ], [ undef, %sw.bb6 ], [ undef, %sw.bb ], [ 0, %entry ]
41   ret i32 %retval.0
42 }