[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / llvm / test / CodeGen / Hexagon / rdf-multiple-phis-up.ll
blobe1a6eee4d844d1eb4f75c5f7e8fc3c587e73bbde
1 ; RUN: llc -march=hexagon < %s | FileCheck %s
2 ; REQUIRES: asserts
4 ; Check that we do not crash.
5 ; CHECK: call foo
7 target triple = "hexagon"
9 %struct.0 = type { ptr, ptr, [2 x ptr], i32, i32, ptr, i32, i32, i32, i32, i32, [2 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
11 define i32 @fred(ptr %p0) local_unnamed_addr #0 {
12 entry:
13   br i1 undef, label %if.then21, label %for.body.i
15 if.then21:                                        ; preds = %entry
16   %.pr = load i32, ptr undef, align 4
17   switch i32 %.pr, label %cleanup [
18     i32 1, label %for.body.i
19     i32 3, label %if.then60
20   ]
22 for.body.i:                                       ; preds = %for.body.i, %if.then21, %entry
23   %0 = load i8, ptr undef, align 1
24   %cmp7.i = icmp ugt i8 %0, -17
25   br i1 %cmp7.i, label %cleanup, label %for.body.i
27 if.then60:                                        ; preds = %if.then21
28   %call61 = call i32 @foo(ptr nonnull %p0) #0
29   br label %cleanup
31 cleanup:                                          ; preds = %if.then60, %for.body.i, %if.then21
32   ret i32 undef
35 declare i32 @foo(ptr) local_unnamed_addr #0
38 attributes #0 = { nounwind }