Expand Up
@@ -37,53 +37,51 @@ target triple = "nvptx64"
;; }
;; }
%struct.ident_t = type { i32 , i32 , i32 , i32 , i8* }
%struct.ident_t = type { i32 , i32 , i32 , i32 , ptr }
@0 = private unnamed_addr constant [103 x i8 ] c ";llvm/test/Transforms/OpenMP/spmdization_remarks.c;__omp_offloading_2a_d80d3d_test_fallback_l11;11;1;;\00 " , align 1
@1 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , i8* getelementptr inbounds ([ 103 x i8 ], [ 103 x i8 ]* @ 0 , i32 0 , i32 0 ) }, align 8
@1 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , ptr @ 0 }, align 8
@2 = private unnamed_addr constant [72 x i8 ] c ";llvm/test/Transforms/OpenMP/spmdization_remarks.c;test_fallback;11;1;;\00 " , align 1
@3 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , i8* getelementptr inbounds ([ 72 x i8 ], [ 72 x i8 ]* @ 2 , i32 0 , i32 0 ) }, align 8
@3 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , ptr @ 2 }, align 8
@4 = private unnamed_addr constant [104 x i8 ] c ";llvm/test/Transforms/OpenMP/spmdization_remarks.c;__omp_offloading_2a_d80d3d_test_fallback_l11;11;25;;\00 " , align 1
@5 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , i8* getelementptr inbounds ([ 104 x i8 ], [ 104 x i8 ]* @ 4 , i32 0 , i32 0 ) }, align 8
@5 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , ptr @ 4 }, align 8
@__omp_offloading_2a_d80d3d_test_fallback_l11_exec_mode = weak constant i8 1
@6 = private unnamed_addr constant [106 x i8 ] c ";llvm/test/Transforms/OpenMP/spmdization_remarks.c;__omp_offloading_2a_d80d3d_test_no_fallback_l20;20;1;;\00 " , align 1
@7 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , i8* getelementptr inbounds ([ 106 x i8 ], [ 106 x i8 ]* @ 6 , i32 0 , i32 0 ) }, align 8
@7 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , ptr @ 6 }, align 8
@8 = private unnamed_addr constant [75 x i8 ] c ";llvm/test/Transforms/OpenMP/spmdization_remarks.c;test_no_fallback;20;1;;\00 " , align 1
@9 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , i8* getelementptr inbounds ([ 75 x i8 ], [ 75 x i8 ]* @ 8 , i32 0 , i32 0 ) }, align 8
@9 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , ptr @ 8 }, align 8
@10 = private unnamed_addr constant [107 x i8 ] c ";llvm/test/Transforms/OpenMP/spmdization_remarks.c;__omp_offloading_2a_d80d3d_test_no_fallback_l20;20;25;;\00 " , align 1
@11 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , i8* getelementptr inbounds ([ 107 x i8 ], [ 107 x i8 ]* @10 , i32 0 , i32 0 ) }, align 8
@11 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 0 , i32 0 , ptr @10 }, align 8
@__omp_offloading_2a_d80d3d_test_no_fallback_l20_exec_mode = weak constant i8 1
@12 = private unnamed_addr constant [63 x i8 ] c ";llvm/test/Transforms/OpenMP/spmdization_remarks.c;known;4;1;;\00 " , align 1
@13 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 2 , i32 0 , i8* getelementptr inbounds ([ 63 x i8 ], [ 63 x i8 ]* @12 , i32 0 , i32 0 ) }, align 8
@13 = private unnamed_addr constant %struct.ident_t { i32 0 , i32 2 , i32 2 , i32 0 , ptr @12 }, align 8
@G = external global i32
@llvm.compiler.used = appending global [2 x i8* ] [i8* @__omp_offloading_2a_d80d3d_test_fallback_l11_exec_mode , i8* @__omp_offloading_2a_d80d3d_test_no_fallback_l20_exec_mode ], section "llvm.metadata"
@llvm.compiler.used = appending global [2 x ptr ] [ptr @__omp_offloading_2a_d80d3d_test_fallback_l11_exec_mode , ptr @__omp_offloading_2a_d80d3d_test_no_fallback_l20_exec_mode ], section "llvm.metadata"
; Function Attrs: convergent norecurse nounwind
define weak void @__omp_offloading_2a_d80d3d_test_fallback_l11 () local_unnamed_addr #0 !dbg !15 {
entry:
%captured_vars_addrs.i.i = alloca [0 x i8* ], align 8
%0 = call i32 @__kmpc_target_init (%struct.ident_t* nonnull @1 , i8 1 , i1 true ) #3 , !dbg !18
%captured_vars_addrs.i.i = alloca [0 x ptr ], align 8
%0 = call i32 @__kmpc_target_init (ptr nonnull @1 , i8 1 , i1 true ) #3 , !dbg !18
%exec_user_code = icmp eq i32 %0 , -1 , !dbg !18
br i1 %exec_user_code , label %user_code.entry , label %common.ret , !dbg !18
common .ret: ; preds = %entry, %user_code.entry
ret void , !dbg !19
user_code.entry: ; preds = %entry
%1 = call i32 @__kmpc_global_thread_num (%struct.ident_t* nonnull @3 ) #3
%1 = call i32 @__kmpc_global_thread_num (ptr nonnull @3 ) #3
call void @unknown () #6 , !dbg !20
%2 = bitcast [0 x i8* ]* %captured_vars_addrs.i.i to i8*
call void @llvm.lifetime.start.p0i8 (i64 0 , i8* nonnull %2 ) #3
%3 = call i32 @__kmpc_global_thread_num (%struct.ident_t* noundef nonnull @13 ) #3
%4 = getelementptr inbounds [0 x i8* ], [0 x i8* ]* %captured_vars_addrs.i.i , i64 0 , i64 0 , !dbg !23
call void @__kmpc_parallel_51 (%struct.ident_t* noundef nonnull @13 , i32 %3 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , i8* noundef bitcast (void (i32* , i32* )* @__omp_outlined__2 to i8* ), i8* noundef bitcast (void (i16 , i32 )* @__omp_outlined__2_wrapper to i8* ), i8** noundef nonnull %4 , i64 noundef 0 ) #3 , !dbg !23
call void @llvm.lifetime.end.p0i8 (i64 0 , i8* nonnull %2 ) #3 , !dbg !26
call void @llvm.lifetime.start.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i.i ) #3
%2 = call i32 @__kmpc_global_thread_num (ptr noundef nonnull @13 ) #3
call void @__kmpc_parallel_51 (ptr noundef nonnull @13 , i32 %2 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , ptr noundef @__omp_outlined__2 , ptr noundef @__omp_outlined__2_wrapper , ptr noundef nonnull %captured_vars_addrs.i.i , i64 noundef 0 ) #3 , !dbg !23
call void @llvm.lifetime.end.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i.i ) #3 , !dbg !26
call void @unknown () #6 , !dbg !27
call void @__kmpc_target_deinit (%struct.ident_t* nonnull @5 , i8 1 ) #3 , !dbg !28
call void @__kmpc_target_deinit (ptr nonnull @5 , i8 1 ) #3 , !dbg !28
br label %common.ret
}
define weak i32 @__kmpc_target_init (%struct.ident_t* , i8 , i1 ) {
define weak i32 @__kmpc_target_init (ptr , i8 , i1 ) {
ret i32 0
}
Expand All
@@ -94,52 +92,49 @@ declare void @unknown() local_unnamed_addr #1
; Function Attrs: nounwind
define hidden void @known () local_unnamed_addr #2 !dbg !29 {
entry:
%captured_vars_addrs = alloca [0 x i8* ], align 8
%0 = call i32 @__kmpc_global_thread_num (%struct.ident_t* nonnull @13 )
%1 = getelementptr inbounds [0 x i8* ], [0 x i8* ]* %captured_vars_addrs , i64 0 , i64 0 , !dbg !30
call void @__kmpc_parallel_51 (%struct.ident_t* nonnull @13 , i32 %0 , i32 1 , i32 -1 , i32 -1 , i8* bitcast (void (i32* , i32* )* @__omp_outlined__2 to i8* ), i8* bitcast (void (i16 , i32 )* @__omp_outlined__2_wrapper to i8* ), i8** nonnull %1 , i64 0 ) #3 , !dbg !30
%captured_vars_addrs = alloca [0 x ptr ], align 8
%0 = call i32 @__kmpc_global_thread_num (ptr nonnull @13 )
call void @__kmpc_parallel_51 (ptr nonnull @13 , i32 %0 , i32 1 , i32 -1 , i32 -1 , ptr @__omp_outlined__2 , ptr @__omp_outlined__2_wrapper , ptr nonnull %captured_vars_addrs , i64 0 ) #3 , !dbg !30
ret void , !dbg !31
}
; Function Attrs: nounwind
declare i32 @__kmpc_global_thread_num (%struct.ident_t* ) local_unnamed_addr #3
declare i32 @__kmpc_global_thread_num (ptr ) local_unnamed_addr #3
declare void @__kmpc_target_deinit (%struct.ident_t* , i8 ) local_unnamed_addr
declare void @__kmpc_target_deinit (ptr , i8 ) local_unnamed_addr
; Function Attrs: norecurse nounwind
define weak void @__omp_offloading_2a_d80d3d_test_no_fallback_l20 () local_unnamed_addr #4 !dbg !32 {
entry:
%captured_vars_addrs.i2.i = alloca [0 x i8* ], align 8
%0 = call i32 @__kmpc_target_init (%struct.ident_t* nonnull @7 , i8 1 , i1 true ) #3 , !dbg !33
%captured_vars_addrs.i2.i = alloca [0 x ptr ], align 8
%0 = call i32 @__kmpc_target_init (ptr nonnull @7 , i8 1 , i1 true ) #3 , !dbg !33
%exec_user_code = icmp eq i32 %0 , -1 , !dbg !33
br i1 %exec_user_code , label %user_code.entry , label %common.ret , !dbg !33
common .ret: ; preds = %entry, %user_code.entry
ret void , !dbg !34
user_code.entry: ; preds = %entry
%1 = call i32 @__kmpc_global_thread_num (%struct.ident_t* nonnull @9 ) #3
%2 = bitcast [0 x i8* ]* %captured_vars_addrs.i2.i to i8*
call void @llvm.lifetime.start.p0i8 (i64 0 , i8* nonnull %2 ) #3
%3 = call i32 @__kmpc_global_thread_num (%struct.ident_t* noundef nonnull @13 ) #3
%4 = getelementptr inbounds [0 x i8* ], [0 x i8* ]* %captured_vars_addrs.i2.i , i64 0 , i64 0 , !dbg !35
call void @__kmpc_parallel_51 (%struct.ident_t* noundef nonnull @13 , i32 %3 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , i8* noundef bitcast (void (i32* , i32* )* @__omp_outlined__2 to i8* ), i8* noundef bitcast (void (i16 , i32 )* @__omp_outlined__2_wrapper to i8* ), i8** noundef nonnull %4 , i64 noundef 0 ) #3 , !dbg !35
call void @llvm.lifetime.end.p0i8 (i64 0 , i8* nonnull %2 ) #3 , !dbg !39
call void @llvm.lifetime.start.p0i8 (i64 0 , i8* nonnull %2 ) #3
%5 = call i32 @__kmpc_global_thread_num (%struct.ident_t* noundef nonnull @13 ) #3
call void @__kmpc_parallel_51 (%struct.ident_t* noundef nonnull @13 , i32 %5 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , i8* noundef bitcast (void (i32* , i32* )* @__omp_outlined__2 to i8* ), i8* noundef bitcast (void (i16 , i32 )* @__omp_outlined__2_wrapper to i8* ), i8** noundef nonnull %4 , i64 noundef 0 ) #3 , !dbg !40
call void @llvm.lifetime.end.p0i8 (i64 0 , i8* nonnull %2 ) #3 , !dbg !42
call void @llvm.lifetime.start.p0i8 (i64 0 , i8* nonnull %2 ) #3
%6 = call i32 @__kmpc_global_thread_num (%struct.ident_t* noundef nonnull @13 ) #3
call void @__kmpc_parallel_51 (%struct.ident_t* noundef nonnull @13 , i32 %6 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , i8* noundef bitcast (void (i32* , i32* )* @__omp_outlined__2 to i8* ), i8* noundef bitcast (void (i16 , i32 )* @__omp_outlined__2_wrapper to i8* ), i8** noundef nonnull %4 , i64 noundef 0 ) #3 , !dbg !43
call void @llvm.lifetime.end.p0i8 (i64 0 , i8* nonnull %2 ) #3 , !dbg !45
%1 = call i32 @__kmpc_global_thread_num (ptr nonnull @9 ) #3
call void @llvm.lifetime.start.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i2.i ) #3
%2 = call i32 @__kmpc_global_thread_num (ptr noundef nonnull @13 ) #3
call void @__kmpc_parallel_51 (ptr noundef nonnull @13 , i32 %2 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , ptr noundef @__omp_outlined__2 , ptr noundef @__omp_outlined__2_wrapper , ptr noundef nonnull %captured_vars_addrs.i2.i , i64 noundef 0 ) #3 , !dbg !35
call void @llvm.lifetime.end.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i2.i ) #3 , !dbg !39
call void @llvm.lifetime.start.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i2.i ) #3
%3 = call i32 @__kmpc_global_thread_num (ptr noundef nonnull @13 ) #3
call void @__kmpc_parallel_51 (ptr noundef nonnull @13 , i32 %3 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , ptr noundef @__omp_outlined__2 , ptr noundef @__omp_outlined__2_wrapper , ptr noundef nonnull %captured_vars_addrs.i2.i , i64 noundef 0 ) #3 , !dbg !40
call void @llvm.lifetime.end.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i2.i ) #3 , !dbg !42
call void @llvm.lifetime.start.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i2.i ) #3
%4 = call i32 @__kmpc_global_thread_num (ptr noundef nonnull @13 ) #3
call void @__kmpc_parallel_51 (ptr noundef nonnull @13 , i32 %4 , i32 noundef 1 , i32 noundef -1 , i32 noundef -1 , ptr noundef @__omp_outlined__2 , ptr noundef @__omp_outlined__2_wrapper , ptr noundef nonnull %captured_vars_addrs.i2.i , i64 noundef 0 ) #3 , !dbg !43
call void @llvm.lifetime.end.p0 (i64 0 , ptr nonnull %captured_vars_addrs.i2.i ) #3 , !dbg !45
call void @spmd_amenable ()
call void @__kmpc_target_deinit (%struct.ident_t* nonnull @11 , i8 1 ) #3 , !dbg !46
call void @__kmpc_target_deinit (ptr nonnull @11 , i8 1 ) #3 , !dbg !46
br label %common.ret
}
; Function Attrs: convergent norecurse nounwind
define internal void @__omp_outlined__2 (i32* noalias nocapture nofree readnone %.global_tid. , i32* noalias nocapture nofree readnone %.bound_tid. ) #0 !dbg !47 {
define internal void @__omp_outlined__2 (ptr noalias nocapture nofree readnone %.global_tid. , ptr noalias nocapture nofree readnone %.bound_tid. ) #0 !dbg !47 {
entry:
call void @unknown () #6 , !dbg !48
ret void , !dbg !49
Expand All
@@ -148,21 +143,21 @@ entry:
; Function Attrs: convergent norecurse nounwind
define internal void @__omp_outlined__2_wrapper (i16 zeroext %0 , i32 %1 ) #0 !dbg !50 {
entry:
%global_args = alloca i8** , align 8
call void @__kmpc_get_shared_variables (i8*** nonnull %global_args ) #3 , !dbg !51
%global_args = alloca ptr , align 8
call void @__kmpc_get_shared_variables (ptr nonnull %global_args ) #3 , !dbg !51
call void @unknown () #6 , !dbg !52
ret void , !dbg !51
}
declare void @__kmpc_get_shared_variables (i8*** ) local_unnamed_addr
declare void @__kmpc_get_shared_variables (ptr ) local_unnamed_addr
declare void @__kmpc_parallel_51 (%struct.ident_t* , i32 , i32 , i32 , i32 , i8* , i8* , i8** , i64 ) local_unnamed_addr
declare void @__kmpc_parallel_51 (ptr , i32 , i32 , i32 , i32 , ptr , ptr , ptr , i64 ) local_unnamed_addr
; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.start.p0i8 (i64 immarg, i8* nocapture ) #5
declare void @llvm.lifetime.start.p0 (i64 immarg, ptr nocapture ) #5
; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.end.p0i8 (i64 immarg, i8* nocapture ) #5
declare void @llvm.lifetime.end.p0 (i64 immarg, ptr nocapture ) #5
declare void @spmd_amenable () #7
Expand All
@@ -186,8 +181,8 @@ attributes #7 = { "llvm.assume"="ompx_spmd_amenable" }
!2 = !{}
!3 = !{i32 0 , i32 42 , i32 14159165 , !"test_no_fallback" , i32 20 , i32 1 }
!4 = !{i32 0 , i32 42 , i32 14159165 , !"test_fallback" , i32 11 , i32 0 }
!5 = !{void ()* @__omp_offloading_2a_d80d3d_test_fallback_l11 , !"kernel" , i32 1 }
!6 = !{void ()* @__omp_offloading_2a_d80d3d_test_no_fallback_l20 , !"kernel" , i32 1 }
!5 = !{ptr @__omp_offloading_2a_d80d3d_test_fallback_l11 , !"kernel" , i32 1 }
!6 = !{ptr @__omp_offloading_2a_d80d3d_test_no_fallback_l20 , !"kernel" , i32 1 }
!7 = !{i32 7 , !"Dwarf Version" , i32 2 }
!8 = !{i32 2 , !"Debug Info Version" , i32 3 }
!9 = !{i32 1 , !"wchar_size" , i32 4 }
Expand Down