Advertisement
Guest User

Untitled

a guest
Nov 8th, 2020
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 5.76 KB | None | 0 0
  1. target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
  2. target triple = "x86_64-unknown-linux-gnu"
  3.  
  4. %struct.tag_RTM_CurrentControl_T = type { i8* }
  5. %struct.ExtU_CurrentControl_T = type { [2 x float], [3 x float], [3 x float] }
  6. %struct.DW_CurrentControl_T = type { [2 x float], [2 x float], [2 x float], [2 x float] }
  7. %struct.ExtY_CurrentControl_T = type { float, float, float }
  8.  
  9. @CurrentControl_M_ = internal global %struct.tag_RTM_CurrentControl_T zeroinitializer, align 8
  10. @CurrentControl_M = dso_local local_unnamed_addr constant %struct.tag_RTM_CurrentControl_T* @CurrentControl_M_, align 8
  11. @CurrentControl_U = dso_local local_unnamed_addr global %struct.ExtU_CurrentControl_T zeroinitializer, align 4
  12. @CurrentControl_DW = dso_local local_unnamed_addr global %struct.DW_CurrentControl_T zeroinitializer, align 4
  13. @CurrentControl_Y = dso_local local_unnamed_addr global %struct.ExtY_CurrentControl_T zeroinitializer, align 4
  14.  
  15. ; Function Attrs: nofree norecurse nounwind uwtable
  16. define dso_local void @CurrentControl_step() local_unnamed_addr #0 {
  17. entry:
  18.   %0 = load float, float* getelementptr inbounds (%struct.ExtU_CurrentControl_T, %struct.ExtU_CurrentControl_T* @CurrentControl_U, i64 0, i32 0, i64 0), align 4, !tbaa !2
  19.   %mul = fmul fast float %0, 0x3EB0C6F7A0000000
  20.   %1 = load float, float* getelementptr inbounds (%struct.ExtU_CurrentControl_T, %struct.ExtU_CurrentControl_T* @CurrentControl_U, i64 0, i32 1, i64 0), align 4, !tbaa !2
  21.   %sub = fsub fast float %mul, %1
  22.   %mul1 = fmul fast float %sub, 0x3FE547AE20000000
  23.   %2 = load float, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 0, i64 0), align 4, !tbaa !2
  24.   %mul2 = fmul fast float %2, 0x3FEF7F5200000000
  25.   %3 = fsub fast float %mul1, %mul2
  26.   %4 = load float, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 1, i64 0), align 4, !tbaa !2
  27.   %mul3 = fmul fast float %4, 0x3FEFFFEF80000000
  28.   %add4 = fadd fast float %3, %mul3
  29.   %cmp = fcmp fast ogt float %add4, 0x3FEF400000000000
  30.   br i1 %cmp, label %if.then, label %if.else
  31.  
  32. if.then:                                          ; preds = %entry
  33.   store float 0x3FEF400000000000, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 1, i64 0), align 4, !tbaa !2
  34.   br label %if.end8
  35.  
  36. if.else:                                          ; preds = %entry
  37.   %cmp5 = fcmp fast olt float %add4, 0xBFEF400000000000
  38.   br i1 %cmp5, label %if.then6, label %if.else7
  39.  
  40. if.then6:                                         ; preds = %if.else
  41.   store float 0xBFEF400000000000, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 1, i64 0), align 4, !tbaa !2
  42.   br label %if.end8
  43.  
  44. if.else7:                                         ; preds = %if.else
  45.   store float %add4, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 1, i64 0), align 4, !tbaa !2
  46.   %5 = bitcast float %add4 to i32
  47.   br label %if.end8
  48.  
  49. if.end8:                                          ; preds = %if.then6, %if.else7, %if.then
  50.   %6 = phi i32 [ -1082523648, %if.then6 ], [ %5, %if.else7 ], [ 1064960000, %if.then ]
  51.   %7 = phi float [ 0xBFEF400000000000, %if.then6 ], [ %add4, %if.else7 ], [ 0x3FEF400000000000, %if.then ]
  52.   %8 = load float, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 2, i64 0), align 4, !tbaa !2
  53.   %mul9 = fmul fast float %8, 0x3FEF7F5200000000
  54.   %9 = fsub fast float %7, %mul9
  55.   %10 = load float, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 3, i64 0), align 4, !tbaa !2
  56.   %mul11 = fmul fast float %10, 0x3FEFFFEF80000000
  57.   %add12 = fadd fast float %mul11, %9
  58.   %cmp16 = fcmp fast olt float %add12, 0xBFEF400000000000
  59.   %.add12 = select i1 %cmp16, float 0xBFEF400000000000, float %add12
  60.   %11 = call fast float @llvm.minnum.f32(float %.add12, float 0x3FEF400000000000)
  61.   store float %11, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 3, i64 0), align 4, !tbaa !2
  62.   store float %mul1, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 0, i64 0), align 4, !tbaa !2
  63.   store i32 %6, i32* bitcast (float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 2, i64 0) to i32*), align 4, !tbaa !2
  64.   %12 = load float, float* getelementptr inbounds (%struct.ExtU_CurrentControl_T, %struct.ExtU_CurrentControl_T* @CurrentControl_U, i64 0, i32 0, i64 1), align 4, !tbaa !2
  65.   %mul21 = fmul fast float %12, 0x3EB0C6F7A0000000
  66.   %13 = load float, float* getelementptr inbounds (%struct.ExtU_CurrentControl_T, %struct.ExtU_CurrentControl_T* @CurrentControl_U, i64 0, i32 1, i64 2), align 4, !tbaa !2
  67.   %sub22 = fsub fast float %mul21, %13
  68.   %mul23 = fmul fast float %sub22, 0x3FE547AE20000000
  69.   %14 = load float, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 0, i64 1), align 4, !tbaa !2
  70.   %mul24 = fmul fast float %14, 0x3FEF7F5200000000
  71.   %15 = fsub fast float %mul23, %mul24
  72.   %16 = load float, float* getelementptr inbounds (%struct.DW_CurrentControl_T, %struct.DW_CurrentControl_T* @CurrentControl_DW, i64 0, i32 1, i64 1), align 4, !tbaa !2
  73.   %mul26 = fmul fast float %16, 0x3FEFFFEF80000000
  74.   %add27 = fadd fast float %15, %mul26
  75.   %cmp28 = fcmp fast ogt float %add27, 0x3FEF400000000000
  76.   br i1 %cmp28, label %if.then29, label %if.else30
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement