; ModuleID = 'bug-freebsd.upc' source_filename = "bug-freebsd.upc" target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128" target triple = "i386-unknown-freebsd11.0" %__upc_shared_pointer_type = type { i64 } @GCCUPCConfig = internal constant [52 x i8] c"$GCCUPCConfig: () dynamicthreads process$\00", section "upc_pgm_info", align 1 @clone2 = common local_unnamed_addr global %__upc_shared_pointer_type zeroinitializer, align 4 @MYTHREAD = external local_unnamed_addr constant i32 @origin = global [3200 x i32] zeroinitializer, section "upc_shared", align 4 @__upc_shared_start = external global i8 @THREADS = external local_unnamed_addr constant i32 @.str = private unnamed_addr constant [29 x i8] c"for clone2 [%d] %d: %d (%d)\0A\00", align 1 @__upc_forall_depth = external local_unnamed_addr global i32 @.str.1 = private unnamed_addr constant [32 x i8] c"forall clone2 [%d] %d: %d (%d)\0A\00", align 1 @GCCUPCConfig.2 = internal constant [57 x i8] c"$GCCUPCConfig: (bug-freebsd.upc) dynamicthreads process$\00", section "upc_pgm_info" @.str.3 = private unnamed_addr constant [39 x i8] c"Invalid access via null shared pointer\00", align 1 @.str.4 = private unnamed_addr constant [48 x i8] c"Thread number in shared address is out of range\00", align 1 @__upc_page1_ref = external local_unnamed_addr global i32, align 4 @__upc_page1_base = external local_unnamed_addr global i8*, align 4 @__upc_page2_ref = external local_unnamed_addr global i32, align 4 @__upc_page2_base = external local_unnamed_addr global i8*, align 4 @llvm.used = appending global [2 x i8*] [i8* getelementptr inbounds ([52 x i8], [52 x i8]* @GCCUPCConfig, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @GCCUPCConfig.2, i32 0, i32 0)], section "llvm.metadata" ; Function Attrs: nounwind define i32 @upc_main() local_unnamed_addr #0 !dbg !33 { %1 = alloca %__upc_shared_pointer_type, align 8 %2 = alloca %__upc_shared_pointer_type, align 8 %3 = alloca %__upc_shared_pointer_type, align 8 %4 = alloca i32, align 4 %5 = alloca %__upc_shared_pointer_type, align 8 %6 = alloca i32, align 4 %7 = alloca %__upc_shared_pointer_type, align 8 %8 = tail call %__upc_shared_pointer_type @upc_all_alloc(i32 3200, i32 4) #7, !dbg !48 %9 = extractvalue %__upc_shared_pointer_type %8, 0, !dbg !48 %10 = and i64 %9, 4611686018426339328, !dbg !48 store i64 %10, i64* getelementptr inbounds (%__upc_shared_pointer_type, %__upc_shared_pointer_type* @clone2, i32 0, i32 0), align 4, !dbg !49, !tbaa !50 %11 = load i32, i32* @MYTHREAD, align 4, !dbg !54 %12 = icmp eq i32 %11, 0, !dbg !55 br i1 %12, label %13, label %27, !dbg !57 ;