Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ModuleID = 'linked.inlined.s'
- source_filename = "llvm-link"
- target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
- target triple = "x86_64-unknown-linux-gnu"
- @__data_radiation_MOD_cobti = external global [168 x double], align 32
- @__data_radiation_MOD_cobi = external global [168 x double], align 32
- @__data_radiation_MOD_coali = external global [168 x double], align 32
- ; Function Attrs: nounwind readnone
- declare double @exp(double) #0
- ; Function Attrs: nounwind uwtable
- define void @__radiation_rg_MOD_coe_so([0 x double]* noalias %pduh2oc, [0 x double]* noalias %pduh2of, [0 x double]* noalias %pduco2, [0 x double]* noalias %pduo3, [0 x double]* noalias %palogp, [0 x double]* noalias %palogt, [0 x double]* noalias %podsc, [0 x double]* noalias %podsf, [0 x double]* noalias %podac, [0 x double]* noalias %podaf, [0 x double]* noalias %pbsfc, [0 x double]* noalias %pbsff, [0 x double]* noalias %pusfc, [0 x double]* noalias %pusff, [0 x double]* noalias %psmu0, [0 x double]* noalias %pqsmu0, i32* noalias %ki3, i32* noalias %kspec, i32* noalias %kh2o, i32* noalias %kco2, i32* noalias %ko3, i32* noalias %ki1sd, i32* noalias %ki1ed, i32* noalias %ki3sd, i32* noalias %ki3ed, i32* noalias %ki1sc, i32* noalias %ki1ec, i32* noalias %ldebug, i32* noalias %jindex, [0 x double]* noalias %pa1c, [0 x double]* noalias %pa1f, [0 x double]* noalias %pa2c, [0 x double]* noalias %pa2f, [0 x double]* noalias %pa3c, [0 x double]* noalias %pa3f, [0 x double]* noalias %pa4c, [0 x double]* noalias %pa4f, [0 x double]* noalias %pa5c, [0 x double]* noalias %pa5f) #1 {
- entry:
- br label %entry.split
- entry.split: ; preds = %entry
- %0 = load i32, i32* %ki1sd, align 4
- %1 = sext i32 %0 to i64
- %2 = load i32, i32* %ki1ed, align 4
- %3 = sext i32 %2 to i64
- %4 = sub nsw i64 1, %1
- %5 = add nsw i64 %4, %3
- %6 = icmp sgt i64 %5, 0
- %7 = select i1 %6, i64 %5, i64 0
- %8 = load i32, i32* %ki3sd, align 4
- %9 = sext i32 %8 to i64
- %10 = mul i64 %7, %9
- %sum = add i64 %10, %1
- %11 = load i32, i32* %ki1sd, align 4
- %12 = sext i32 %11 to i64
- %13 = load i32, i32* %ki1ed, align 4
- %14 = sext i32 %13 to i64
- %15 = sub nsw i64 1, %12
- %16 = add nsw i64 %15, %14
- %17 = icmp sgt i64 %16, 0
- %18 = select i1 %17, i64 %16, i64 0
- %19 = load i32, i32* %ki3sd, align 4
- %20 = sext i32 %19 to i64
- %21 = mul i64 %18, %20
- %sum3 = add i64 %21, %12
- %22 = load i32, i32* %ki1sd, align 4
- %23 = sext i32 %22 to i64
- %24 = load i32, i32* %ki1ed, align 4
- %25 = sext i32 %24 to i64
- %26 = sub nsw i64 1, %23
- %27 = add nsw i64 %26, %25
- %28 = icmp sgt i64 %27, 0
- %29 = select i1 %28, i64 %27, i64 0
- %30 = load i32, i32* %ki3sd, align 4
- %31 = sext i32 %30 to i64
- %32 = mul i64 %29, %31
- %sum4 = add i64 %32, %23
- %33 = load i32, i32* %ki1sc, align 4
- %34 = load i32, i32* %ki1ec, align 4
- %35 = icmp sgt i32 %33, %34
- br i1 %35, label %return, label %"3.preheader"
- "3.preheader": ; preds = %entry.split
- br label %"3"
- "3": ; preds = %"5", %"3.preheader"
- %36 = phi i32 [ %88, %"5" ], [ %33, %"3.preheader" ]
- %37 = phi double [ %86, %"5" ], [ undef, %"3.preheader" ]
- %38 = load i32, i32* %kh2o, align 4
- %39 = icmp eq i32 %38, 0
- br i1 %39, label %"5", label %"4"
- "4": ; preds = %"3"
- %40 = sext i32 %36 to i64
- %41 = sub i64 %40, %sum
- %42 = getelementptr [0 x double], [0 x double]* %pduh2of, i64 0, i64 %41
- %43 = load double, double* %42, align 8
- %44 = load i32, i32* %kh2o, align 4
- %45 = sext i32 %44 to i64
- %46 = load i32, i32* %kspec, align 4
- %47 = sext i32 %46 to i64
- %48 = mul nsw i64 %47, 7
- %49 = add nsw i64 %45, -8
- %50 = add i64 %49, %48
- %51 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobi, i64 0, i64 %50
- %52 = load double, double* %51, align 8
- %53 = load i32, i32* %kh2o, align 4
- %54 = sext i32 %53 to i64
- %55 = load i32, i32* %kspec, align 4
- %56 = sext i32 %55 to i64
- %57 = mul nsw i64 %56, 7
- %58 = add nsw i64 %54, -8
- %59 = add i64 %58, %57
- %60 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_coali, i64 0, i64 %59
- %61 = load double, double* %60, align 8
- %62 = sext i32 %36 to i64
- %63 = sub i64 %62, %sum3
- %64 = getelementptr [0 x double], [0 x double]* %palogp, i64 0, i64 %63
- %65 = load double, double* %64, align 8
- %66 = fmul double %61, %65
- %67 = load i32, i32* %kh2o, align 4
- %68 = sext i32 %67 to i64
- %69 = load i32, i32* %kspec, align 4
- %70 = sext i32 %69 to i64
- %71 = mul nsw i64 %70, 7
- %72 = add nsw i64 %68, -8
- %73 = add i64 %72, %71
- %74 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobti, i64 0, i64 %73
- %75 = load double, double* %74, align 8
- %76 = sext i32 %36 to i64
- %77 = sub i64 %76, %sum4
- %78 = getelementptr [0 x double], [0 x double]* %palogt, i64 0, i64 %77
- %79 = load double, double* %78, align 8
- %80 = fmul double %75, %79
- %81 = fsub double %66, %80
- %82 = tail call double @exp(double %81) #0
- %83 = fmul double %52, %82
- %84 = fmul double %43, %83
- %85 = fadd double %37, %84
- br label %"5"
- "5": ; preds = %"4", %"3"
- %86 = phi double [ %85, %"4" ], [ %37, %"3" ]
- %87 = icmp eq i32 %36, %34
- %88 = add i32 %36, 1
- br i1 %87, label %return.loopexit, label %"3"
- return.loopexit: ; preds = %"5"
- br label %return
- return: ; preds = %return.loopexit, %entry.split
- ret void
- }
- attributes #0 = { nounwind readnone }
- attributes #1 = { nounwind uwtable }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement