Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. ; ModuleID = 'codegen'
  2. source_filename = "codegen"
  3. target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
  4. target triple = "x86_64-pc-linux-gnu"
  5.  
  6. @llvm.global_ctors = appending global [0 x { i32, void ()*, i8* }] zeroinitializer
  7.  
  8. ; Function Attrs: alwaysinline norecurse nounwind readnone uwtable
  9. define internal i32 @add_int32_int32(i32, i32) local_unnamed_addr #0 {
  10. %3 = add nsw i32 %1, %0
  11. ret i32 %3
  12. }
  13.  
  14. define i32 @expr_0_0(i64* %args, i64* %arg_addr_offsets, i64* %local_bitmaps, i16* %selection_vector, i64 %context_ptr, i64 %nrecords) {
  15. entry:
  16. %"b+1_mem_addr" = getelementptr i64, i64* %args, i32 0
  17. %"b+1_mem" = load i64, i64* %"b+1_mem_addr"
  18. %"b+1_darray" = inttoptr i64 %"b+1_mem" to i32*
  19. %"b+1_mem_addr1" = getelementptr i64, i64* %args, i32 2
  20. %"b+1_mem2" = load i64, i64* %"b+1_mem_addr1"
  21. %"b+1_buf_ptr" = inttoptr i64 %"b+1_mem2" to i8*
  22. %"b+1_mem_addr3" = getelementptr i64, i64* %args, i32 -1
  23. %"b+1_mem4" = load i64, i64* %"b+1_mem_addr3"
  24. %"b+1_oarray" = inttoptr i64 %"b+1_mem4" to i32*
  25. %b_mem_addr = getelementptr i64, i64* %args, i32 3
  26. %b_mem = load i64, i64* %b_mem_addr
  27. %b_darray = inttoptr i64 %b_mem to i32*
  28. br label %loop
  29.  
  30. loop: ; preds = %loop, %entry
  31. %loop_var = phi i64 [ 0, %entry ], [ %"loop_var+1", %loop ]
  32. %b_offset_addr = getelementptr i64, i64* %arg_addr_offsets, i32 3
  33. %b_addr = load i64, i64* %b_offset_addr
  34. %0 = add i64 %loop_var, %b_addr
  35. %1 = getelementptr i32, i32* %b_darray, i64 %0
  36. %b = load i32, i32* %1
  37. %add_int32_int32 = call i32 @add_int32_int32(i32 %b, i32 1)
  38. %2 = getelementptr i32, i32* %"b+1_darray", i64 %loop_var
  39. store i32 %add_int32_int32, i32* %2
  40. %"loop_var+1" = add i64 %loop_var, 1
  41. %"loop_var < nrec" = icmp slt i64 %"loop_var+1", %nrecords
  42. br i1 %"loop_var < nrec", label %loop, label %exit
  43.  
  44. exit: ; preds = %loop
  45. ret i32 0
  46. }
  47.  
  48. attributes #0 = { alwaysinline norecurse nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
  49.  
  50. !llvm.ident = !{!0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0}
  51. !llvm.module.flags = !{!1}
  52.  
  53. !0 = !{!"clang version 7.0.0-3~ubuntu0.18.04.1 (tags/RELEASE_700/final)"}
  54. !1 = !{i32 1, !"wchar_size", i32 4}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement