Merging r259740:
[oota-llvm.git] / test / CodeGen / PowerPC / ppc-vaarg-agg.ll
1 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32"
2 target triple = "powerpc-montavista-linux-gnuspe"
3 ; RUN: llc < %s -march=ppc32 | FileCheck %s
4
5 %struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105 = type { i8, i8, i16, i8*, i8* }
6
7 define fastcc void @test1(%struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105* %args) {
8 entry:
9   br i1 undef, label %repeat, label %maxlen_reached
10
11 repeat:                                           ; preds = %entry
12   switch i32 undef, label %sw.bb323 [
13     i32 77, label %sw.bb72
14     i32 111, label %sw.bb309
15     i32 80, label %sw.bb313
16     i32 117, label %sw.bb326
17     i32 88, label %sw.bb321
18   ]
19
20 sw.bb72:                                          ; preds = %repeat
21   unreachable
22
23 sw.bb309:                                         ; preds = %repeat
24   unreachable
25
26 sw.bb313:                                         ; preds = %repeat
27   unreachable
28
29 sw.bb321:                                         ; preds = %repeat
30   unreachable
31
32 sw.bb323:                                         ; preds = %repeat
33   %0 = va_arg %struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105* %args, i32
34   unreachable
35
36 sw.bb326:                                         ; preds = %repeat
37   unreachable
38
39 maxlen_reached:                                   ; preds = %entry
40   ret void
41 }
42
43 ; If the SD nodes are not cleaup up correctly, then this can fail to compile
44 ; with an error like:  Cannot select: ch = setlt [ID=6]
45 ; CHECK: @test1
46