Skip to content

PHI Node must not have any attached DbgRecords in cuda debug mode #2563

@superustc

Description

@superustc
/home/mixu/dev/vNNN/Cromwell2/Dependencies/clang/linx64/bin/clang++   -Wno-unknown-cuda-version --target=x86_64-pc-linux-gnu --gcc-toolchain=/home/mixu/dev/vNNN/FBU_Dependencies/thirdparty/compilers/gcc/linx64/bin/.. -std=c++17 -stdlib=libstdc++ -Wno-deprecated-builtins -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-c++20-extensions  -g -std=c++17 --cuda-path=/home/mixu/dev/vNNN/Cromwell2/Dependencies/cuda -fPIC --target=x86_64-pc-linux-gnu --gcc-toolchain=/home/mixu/dev/vNNN/FBU_Dependencies/thirdparty/compilers/gcc/linx64/bin/.. -std=c++17 -stdlib=libstdc++ -Wno-deprecated-builtins -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-c++20-extensions --cuda-gpu-arch=sm_80 -w -Wno-missing-template-arg-list-after-template-kw -fplugin="/home/mixu/dev/vNNN/Cromwell2/Dependencies/enzyme/lib/libClangEnzyme.so" -mllvm -enzyme-loose-types=1 -mllvm -enzyme-detect-readthrow=0 -mllvm -enzyme-coalese=1 -mllvm -enzyme-noalias=1 -mllvm -enzyme-phi-restructure=1 -x cuda --cuda-path="/home/mixu/dev/vNNN/Cromwell2/Dependencies/cuda/bin/.." -MD -MT MassFlowInletPopulator.cxx.o -MF MassFlowInletPopulator.cxx.o.d -x cuda -c MassFlowInletPopulator.cxx -o MassFlowInletPopulator.cxx.o
 warning: assuming integral for   %18 = select contract i1 %14, float %10, float %17, !dbg !2215
 warning: assuming integral for   %18 = select contract i1 %14, float %10, float %17, !dbg !2215
 warning: assuming integral for   %10 = select contract i1 %6, float %1, float %9, !dbg !2211
 warning: assuming integral for   %10 = select contract i1 %6, float %1, float %9, !dbg !2211
PHI Node must not have any attached DbgRecords
  %347 = phi i64 [ %335, %334 ], !dbg !7006
; Function Attrs: convergent mustprogress noinline nounwind optnone willreturn
define linkonce_odr void @preprocess__ZN8Cromwell15MultiphaseModel10Populators24priv_MM_Pop_MasFlwInlPop31OperationInletMassFlowPopulatorILj11EE2OpINS_8Patterns14CudaOperationsEEEvjPj(ptr noalias noundef nonnull align 8 dereferenceable(780) %0, i32 noundef %1, ptr noalias noundef %2) #138 align 2 !dbg !6488 {
  %4 = alloca [3 x float], align 4
  %5 = alloca [3 x float], align 4
    #dbg_value(ptr %0, !6489, !DIExpression(), !6490)
    #dbg_value(i32 %1, !6491, !DIExpression(), !6490)
    #dbg_value(ptr %2, !6492, !DIExpression(), !6490)
  %6 = getelementptr inbounds i32, ptr %2, i64 0, !dbg !6493
  %7 = load i32, ptr %6, align 4, !dbg !6493
    #dbg_value(i32 %7, !6494, !DIExpression(), !6490)
    #dbg_value(float 0.000000e+00, !6495, !DIExpression(), !6490)
    #dbg_value(i32 0, !6496, !DIExpression(), !6498)
  br label %8, !dbg !6499

8:                                                ; preds = %14, %3
  %9 = phi i64 [ %12, %14 ], [ 0, %3 ], !dbg !6500
  %10 = phi float [ 0.000000e+00, %3 ], [ %22, %14 ], !dbg !6490
    #dbg_value(float %10, !6495, !DIExpression(), !6490)
    #dbg_value(i32 %11, !6496, !DIExpression(), !6498)
  %11 = trunc i64 %9 to i32, !dbg !6501
  %12 = add nuw nsw i64 %9, 1, !dbg !6501
  %13 = icmp ult i32 %11, 3, !dbg !6501
  br i1 %13, label %14, label %24, !dbg !6503

14:                                               ; preds = %8
  %15 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 1, !dbg !6504
  %16 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK8Cromwell10Containers21ColumnMajorMatrixViewIKfEclEjj(ptr noundef nonnull align 8 dereferenceable(12) %15, i32 noundef %1, i32 noundef %11) #143, !dbg !6504
  %17 = load float, ptr %16, align 4, !dbg !6504
  %18 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 1, !dbg !6505
  %19 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK8Cromwell10Containers21ColumnMajorMatrixViewIKfEclEjj(ptr noundef nonnull align 8 dereferenceable(12) %18, i32 noundef %1, i32 noundef %11) #143, !dbg !6505
  %20 = load float, ptr %19, align 4, !dbg !6505
  %21 = fmul contract float %17, %20, !dbg !6506
  %22 = fadd contract float %10, %21, !dbg !6507
    #dbg_value(float %22, !6495, !DIExpression(), !6490)
  %23 = add i32 %11, 1, !dbg !6508
    #dbg_value(i32 %23, !6496, !DIExpression(), !6498)
  br label %8, !dbg !6509, !llvm.loop !6510

24:                                               ; preds = %8
    #dbg_value(float %10, !4399, !DIExpression(), !6512)
    #dbg_value(float %10, !3102, !DIExpression(), !6514)
  %25 = call contract noundef float @__nv_sqrtf(float noundef %10) #143, !dbg !6516
    #dbg_value(float %25, !6495, !DIExpression(), !6490)
  %26 = call contract noundef float @_ZN8Cromwellli2_rEy(i64 noundef 0) #143, !dbg !6517
    #dbg_value(float %26, !6518, !DIExpression(), !6490)
    #dbg_value(i32 0, !6519, !DIExpression(), !6521)
  br label %27, !dbg !6522

27:                                               ; preds = %36, %24
  %28 = phi i64 [ %31, %36 ], [ 0, %24 ], !dbg !6523
  %29 = phi float [ %26, %24 ], [ %55, %36 ], !dbg !6490
    #dbg_value(float %29, !6518, !DIExpression(), !6490)
    #dbg_value(i32 %30, !6519, !DIExpression(), !6521)
  %30 = trunc i64 %28 to i32, !dbg !6524
  %31 = add nuw nsw i64 %28, 1, !dbg !6524
  %32 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 11, !dbg !6524
  %33 = load i32, ptr %32, align 8, !dbg !6524
  %34 = icmp ult i32 %30, %33, !dbg !6526
  br i1 %34, label %36, label %35, !dbg !6527

35:                                               ; preds = %27
  br label %57, !dbg !6528

36:                                               ; preds = %27
  %37 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 5, !dbg !6530
  %38 = load float, ptr %37, align 8, !dbg !6530
  %39 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 8, !dbg !6532
  %40 = zext i32 %30 to i64, !dbg !6532
  %41 = getelementptr inbounds [11 x float], ptr %39, i64 0, i64 %40, !dbg !6532
  %42 = load float, ptr %41, align 4, !dbg !6532
  %43 = fmul contract float %38, %42, !dbg !6533
  %44 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 6, !dbg !6534
  %45 = load float, ptr %44, align 4, !dbg !6534
  %46 = fdiv contract float %25, %45, !dbg !6535
  %47 = fmul contract float %43, %46, !dbg !6536
  %48 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 7, !dbg !6537
  %49 = zext i32 %30 to i64, !dbg !6538
  %50 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIfLm11EEixEm(ptr noundef nonnull align 4 dereferenceable(44) %48, i64 noundef %49) #143, !dbg !6537
  store float %47, ptr %50, align 4, !dbg !6539
  %51 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 7, !dbg !6540
  %52 = zext i32 %30 to i64, !dbg !6541
  %53 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIfLm11EEixEm(ptr noundef nonnull align 4 dereferenceable(44) %51, i64 noundef %52) #143, !dbg !6540
  %54 = load float, ptr %53, align 4, !dbg !6540
  %55 = fadd contract float %29, %54, !dbg !6542
    #dbg_value(float %55, !6518, !DIExpression(), !6490)
  %56 = add i32 %30, 1, !dbg !6543
    #dbg_value(i32 %56, !6519, !DIExpression(), !6521)
  br label %27, !dbg !6544, !llvm.loop !6545

57:                                               ; preds = %35, %62
  %58 = phi i64 [ 0, %35 ], [ %60, %62 ], !dbg !6547
    #dbg_value(i32 %59, !6548, !DIExpression(), !6549)
  %59 = trunc i64 %58 to i32, !dbg !6550
  %60 = add nuw nsw i64 %58, 1, !dbg !6550
  %61 = icmp ult i32 %59, 3, !dbg !6550
  br i1 %61, label %62, label %70, !dbg !6528

62:                                               ; preds = %57
  %63 = getelementptr inbounds %"struct.Cromwell::MultiphaseModel::Populators::priv_MM_Pop_MasFlwInlPop::OperationInletMassFlowPopulator", ptr %0, i32 0, i32 1, !dbg !6552
  %64 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK8Cromwell10Containers21ColumnMajorMatrixViewIKfEclEjj(ptr noundef nonnull align 8 dereferenceable(12) %63, i32 noundef %1, i32 noundef %59) #143, !dbg !6552
  %65 = load float, ptr %64, align 4, !dbg !6552
  %66 = fdiv contract float %65, %25, !dbg !6553
  %67 = zext i32 %59 to i64, !dbg !6554
  %68 = getelementptr inbounds [3 x float], ptr %4, i64 0, i64 %67, !dbg !6554
  store float %66, ptr %68, align 4, !dbg !6555
  %69 = add i32 %59, 1, !dbg !6556
    #dbg_value(i32 %69, !6548, !DIExpression(), !6549)
  br label %57, !dbg !6557, !llvm.loop !6558

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions