Advertisement
Pug_coder

Untitled

Jun 17th, 2023
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. ; ModuleID = 'lab3'
  2. source_filename = "lab3"
  3.  
  4. define i32 @f(i32 %x, i32 %y) {
  5. entry:
  6. %i = alloca i32, align 4
  7. %arithP = alloca i32, align 4
  8. %c = alloca i32, align 4
  9. %y2 = alloca i32, align 4
  10. %x1 = alloca i32, align 4
  11. store i32 %x, ptr %x1, align 4
  12. store i32 %y, ptr %y2, align 4
  13. %x3 = load i32, ptr %x1, align 4
  14. %ifcond = icmp ne i32 %x3, 0
  15. br i1 %ifcond, label %then, label %else
  16.  
  17. then: ; preds = %entry
  18. br label %ifcont
  19.  
  20. else: ; preds = %entry
  21. store i32 1, ptr %x1, align 4
  22. br label %ifcont
  23.  
  24. ifcont: ; preds = %else, %then
  25. %y4 = load i32, ptr %y2, align 4
  26. %ifcond5 = icmp ne i32 %y4, 0
  27. br i1 %ifcond5, label %then6, label %else7
  28.  
  29. then6: ; preds = %ifcont
  30. br label %ifcont8
  31.  
  32. else7: ; preds = %ifcont
  33. store i32 1, ptr %y2, align 4
  34. br label %ifcont8
  35.  
  36. ifcont8: ; preds = %else7, %then6
  37. %x9 = load i32, ptr %x1, align 4
  38. %y10 = load i32, ptr %y2, align 4
  39. %addtmp = add i32 %x9, %y10
  40. store i32 %addtmp, ptr %c, align 4
  41. store i32 0, ptr %arithP, align 4
  42. %c11 = load i32, ptr %c, align 4
  43. store i32 %c11, ptr %i, align 4
  44. br label %loop
  45.  
  46. loop: ; preds = %loop, %ifcont8
  47. %arithP12 = load i32, ptr %arithP, align 4
  48. %i13 = load i32, ptr %i, align 4
  49. %addtmp14 = add i32 %arithP12, %i13
  50. store i32 %addtmp14, ptr %arithP, align 4
  51. %i15 = load i32, ptr %i, align 4
  52. %subtmp = sub i32 %i15, 1
  53. store i32 %subtmp, ptr %i, align 4
  54. %i16 = load i32, ptr %i, align 4
  55. %loopcond = icmp ne i32 %i16, 0
  56. br i1 %loopcond, label %loop, label %afterloop
  57.  
  58. afterloop: ; preds = %loop
  59. %arithP17 = load i32, ptr %arithP, align 4
  60. ret i32 %arithP17
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement