1 ; RUN: llc -verify-machineinstrs < %s | FileCheck %s
2 ; ModuleID = 'bugpoint-reduced-simplified.bc'
3 target datalayout = "E-p:64:64:64-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:64"
4 target triple = "powerpc64-unknown-linux-gnu"
6 %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211 = type { %union.v.0.48.90.114.120.138.144.150.156.162.168.174.180.210, i16, i16 }
7 %union.v.0.48.90.114.120.138.144.150.156.162.168.174.180.210 = type { i64 }
8 %struct.stream_s.5.53.95.119.125.143.149.155.161.167.173.179.185.215 = type { ptr, ptr, ptr, i32, i8, i8, i64, %struct.stream_procs.2.50.92.116.122.140.146.152.158.164.170.176.182.212, i32, ptr, ptr, i16, i32 }
9 %struct.stream_procs.2.50.92.116.122.140.146.152.158.164.170.176.182.212 = type { ptr, ptr, ptr, ptr, ptr, ptr }
10 %struct._IO_FILE.4.52.94.118.124.142.148.154.160.166.172.178.184.214 = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i64, i16, i8, [1 x i8], ptr, i64, ptr, ptr, ptr, ptr, i64, i32, [20 x i8] }
11 %struct._IO_marker.3.51.93.117.123.141.147.153.159.165.171.177.183.213 = type { ptr, ptr, i32 }
13 @special_ops = external global [7 x ptr], align 8
14 @ostack = external global [520 x %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211], align 8
15 @osbot = external global ptr, align 8
16 @osp = external global ptr, align 8
17 @ostop = external global ptr, align 8
18 @osp_nargs = external global [6 x ptr], align 8
19 @estack = external global [150 x %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211], align 8
20 @esp = external global ptr, align 8
21 @estop = external global ptr, align 8
22 @dstack = external global [20 x %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211], align 8
23 @dsp = external global ptr, align 8
24 @dstop = external global ptr, align 8
25 @name_errordict = external global %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211
26 @name_ErrorNames = external global %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211
27 @error_object = external global %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211, align 8
29 declare i32 @zadd(ptr)
31 declare i32 @zdup(ptr)
33 declare i32 @zexch(ptr)
35 declare i32 @zifelse(ptr)
39 declare i32 @zpop(ptr)
41 declare i32 @zsub(ptr)
43 declare void @interp_init(i32) nounwind
45 declare void @interp_fix_op(ptr nocapture) nounwind
47 define i32 @interpret(ptr %pref, i32 %user_errors) nounwind {
49 %erref = alloca %struct.ref_s.1.49.91.115.121.139.145.151.157.163.169.175.181.211, align 8
50 br i1 undef, label %retry.us, label %retry
52 retry.us: ; preds = %if.end18, %retry, %retry, %retry, %retry, %entry
55 retry: ; preds = %if.end18, %entry
56 %0 = phi ptr [ null, %entry ], [ %erref, %if.end18 ]
57 %call = call i32 @interp(ptr %0)
58 switch i32 %call, label %if.end18 [
59 i32 -3, label %retry.us
60 i32 -5, label %retry.us
61 i32 -16, label %retry.us
62 i32 -25, label %retry.us
65 if.end18: ; preds = %retry
66 br i1 false, label %retry.us, label %retry
71 declare i32 @interp_exit(ptr nocapture) nounwind readnone
73 declare i32 @interp(ptr) nounwind
75 declare i32 @dict_lookup(ptr, ptr, ptr, ptr)
77 declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture, i64, i1) nounwind
79 declare i32 @obj_compare(...)
81 declare i32 @file_check_read(...)
83 declare i32 @scan_token(...)
85 declare i32 @file_close(...)
87 declare void @sread_string(ptr, ptr, i32)