Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ModuleID = 'lab3'
- source_filename = "lab3"
- define i32 @f(i32 %x, i32 %y) {
- entry:
- %i = alloca i32, align 4
- %arithP = alloca i32, align 4
- %c = alloca i32, align 4
- %y2 = alloca i32, align 4
- %x1 = alloca i32, align 4
- store i32 %x, ptr %x1, align 4
- store i32 %y, ptr %y2, align 4
- %x3 = load i32, ptr %x1, align 4
- %ifcond = icmp ne i32 %x3, 0
- br i1 %ifcond, label %then, label %else
- then: ; preds = %entry
- br label %ifcont
- else: ; preds = %entry
- store i32 1, ptr %x1, align 4
- br label %ifcont
- ifcont: ; preds = %else, %then
- %y4 = load i32, ptr %y2, align 4
- %ifcond5 = icmp ne i32 %y4, 0
- br i1 %ifcond5, label %then6, label %else7
- then6: ; preds = %ifcont
- br label %ifcont8
- else7: ; preds = %ifcont
- store i32 1, ptr %y2, align 4
- br label %ifcont8
- ifcont8: ; preds = %else7, %then6
- %x9 = load i32, ptr %x1, align 4
- %y10 = load i32, ptr %y2, align 4
- %addtmp = add i32 %x9, %y10
- store i32 %addtmp, ptr %c, align 4
- store i32 0, ptr %arithP, align 4
- %c11 = load i32, ptr %c, align 4
- store i32 %c11, ptr %i, align 4
- br label %loop
- loop: ; preds = %loop, %ifcont8
- %arithP12 = load i32, ptr %arithP, align 4
- %i13 = load i32, ptr %i, align 4
- %addtmp14 = add i32 %arithP12, %i13
- store i32 %addtmp14, ptr %arithP, align 4
- %i15 = load i32, ptr %i, align 4
- %subtmp = sub i32 %i15, 1
- store i32 %subtmp, ptr %i, align 4
- %i16 = load i32, ptr %i, align 4
- %loopcond = icmp ne i32 %i16, 0
- br i1 %loopcond, label %loop, label %afterloop
- afterloop: ; preds = %loop
- %arithP17 = load i32, ptr %arithP, align 4
- ret i32 %arithP17
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement