|
; ModuleID = 'abc.bf' |
|
source_filename = "abc.bf" |
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
|
target triple = "x86_64-pc-linux-gnu" |
|
|
|
; Function Attrs: noinline nounwind optnone uwtable |
|
define i32 @input() #0 { |
|
%1 = alloca i32, align 4 |
|
%2 = call i32 @getchar() |
|
store i32 %2, i32* %1, align 4 |
|
%3 = load i32, i32* %1, align 4 |
|
%4 = icmp eq i32 %3, -1 |
|
br i1 %4, label %5, label %6 |
|
|
|
; <label>:5: ; preds = %0 |
|
call void @exit(i32 0) #4 |
|
unreachable |
|
|
|
; <label>:6: ; preds = %0 |
|
%7 = load i32, i32* %1, align 4 |
|
ret i32 %7 |
|
} |
|
|
|
declare i32 @getchar() #1 |
|
|
|
; Function Attrs: noreturn nounwind |
|
declare void @exit(i32) #2 |
|
|
|
; Function Attrs: noinline nounwind optnone uwtable |
|
define i32 @main() #0{ |
|
%1 = alloca i8*, align 8 |
|
%2 = call noalias i8* @malloc(i64 32767) #5 |
|
store i8* %2, i8** %1, align 8 |
|
%3 = load i8*, i8** %1, align 8 |
|
%4 = load i8, i8* %3, align 1 |
|
%5 = add i8 %4, 1 |
|
store i8 %5, i8* %3, align 1 |
|
%6 = load i8*, i8** %1, align 8 |
|
%7 = load i8, i8* %6, align 1 |
|
%8 = add i8 %7, 1 |
|
store i8 %8, i8* %6, align 1 |
|
%9 = load i8*, i8** %1, align 8 |
|
%10 = load i8, i8* %9, align 1 |
|
%11 = add i8 %10, 1 |
|
store i8 %11, i8* %9, align 1 |
|
%12 = load i8*, i8** %1, align 8 |
|
%13 = load i8, i8* %12, align 1 |
|
%14 = add i8 %13, 1 |
|
store i8 %14, i8* %12, align 1 |
|
%15 = load i8*, i8** %1, align 8 |
|
%16 = load i8, i8* %15, align 1 |
|
%17 = add i8 %16, 1 |
|
store i8 %17, i8* %15, align 1 |
|
%18 = load i8*, i8** %1, align 8 |
|
%19 = load i8, i8* %18, align 1 |
|
%20 = add i8 %19, 1 |
|
store i8 %20, i8* %18, align 1 |
|
%21 = load i8*, i8** %1, align 8 |
|
%22 = load i8, i8* %21, align 1 |
|
%23 = add i8 %22, 1 |
|
store i8 %23, i8* %21, align 1 |
|
%24 = load i8*, i8** %1, align 8 |
|
%25 = load i8, i8* %24, align 1 |
|
%26 = add i8 %25, 1 |
|
store i8 %26, i8* %24, align 1 |
|
%27 = load i8*, i8** %1, align 8 |
|
%28 = load i8, i8* %27, align 1 |
|
%29 = add i8 %28, 1 |
|
store i8 %29, i8* %27, align 1 |
|
%30 = load i8*, i8** %1, align 8 |
|
%31 = load i8, i8* %30, align 1 |
|
%32 = add i8 %31, 1 |
|
store i8 %32, i8* %30, align 1 |
|
%33 = load i8*, i8** %1, align 8 |
|
%34 = load i8, i8* %33, align 1 |
|
%35 = add i8 %34, 1 |
|
store i8 %35, i8* %33, align 1 |
|
%36 = load i8*, i8** %1, align 8 |
|
%37 = load i8, i8* %36, align 1 |
|
%38 = add i8 %37, 1 |
|
store i8 %38, i8* %36, align 1 |
|
%39 = load i8*, i8** %1, align 8 |
|
%40 = load i8, i8* %39, align 1 |
|
%41 = add i8 %40, 1 |
|
store i8 %41, i8* %39, align 1 |
|
%42 = load i8*, i8** %1, align 8 |
|
%43 = load i8, i8* %42, align 1 |
|
%44 = add i8 %43, 1 |
|
store i8 %44, i8* %42, align 1 |
|
%45 = load i8*, i8** %1, align 8 |
|
%46 = load i8, i8* %45, align 1 |
|
%47 = add i8 %46, 1 |
|
store i8 %47, i8* %45, align 1 |
|
%48 = load i8*, i8** %1, align 8 |
|
%49 = load i8, i8* %48, align 1 |
|
%50 = add i8 %49, 1 |
|
store i8 %50, i8* %48, align 1 |
|
%51 = load i8*, i8** %1, align 8 |
|
%52 = load i8, i8* %51, align 1 |
|
%53 = add i8 %52, 1 |
|
store i8 %53, i8* %51, align 1 |
|
%54 = load i8*, i8** %1, align 8 |
|
%55 = load i8, i8* %54, align 1 |
|
%56 = add i8 %55, 1 |
|
store i8 %56, i8* %54, align 1 |
|
%57 = load i8*, i8** %1, align 8 |
|
%58 = load i8, i8* %57, align 1 |
|
%59 = add i8 %58, 1 |
|
store i8 %59, i8* %57, align 1 |
|
%60 = load i8*, i8** %1, align 8 |
|
%61 = load i8, i8* %60, align 1 |
|
%62 = add i8 %61, 1 |
|
store i8 %62, i8* %60, align 1 |
|
%63 = load i8*, i8** %1, align 8 |
|
%64 = load i8, i8* %63, align 1 |
|
%65 = add i8 %64, 1 |
|
store i8 %65, i8* %63, align 1 |
|
%66 = load i8*, i8** %1, align 8 |
|
%67 = load i8, i8* %66, align 1 |
|
%68 = add i8 %67, 1 |
|
store i8 %68, i8* %66, align 1 |
|
%69 = load i8*, i8** %1, align 8 |
|
%70 = load i8, i8* %69, align 1 |
|
%71 = add i8 %70, 1 |
|
store i8 %71, i8* %69, align 1 |
|
%72 = load i8*, i8** %1, align 8 |
|
%73 = load i8, i8* %72, align 1 |
|
%74 = add i8 %73, 1 |
|
store i8 %74, i8* %72, align 1 |
|
%75 = load i8*, i8** %1, align 8 |
|
%76 = load i8, i8* %75, align 1 |
|
%77 = add i8 %76, 1 |
|
store i8 %77, i8* %75, align 1 |
|
%78 = load i8*, i8** %1, align 8 |
|
%79 = load i8, i8* %78, align 1 |
|
%80 = add i8 %79, 1 |
|
store i8 %80, i8* %78, align 1 |
|
%81 = load i8*, i8** %1, align 8 |
|
%82 = load i8, i8* %81, align 1 |
|
%83 = add i8 %82, 1 |
|
store i8 %83, i8* %81, align 1 |
|
%84 = load i8*, i8** %1, align 8 |
|
%85 = load i8, i8* %84, align 1 |
|
%86 = add i8 %85, 1 |
|
store i8 %86, i8* %84, align 1 |
|
%87 = load i8*, i8** %1, align 8 |
|
%88 = load i8, i8* %87, align 1 |
|
%89 = add i8 %88, 1 |
|
store i8 %89, i8* %87, align 1 |
|
%90 = load i8*, i8** %1, align 8 |
|
%91 = load i8, i8* %90, align 1 |
|
%92 = add i8 %91, 1 |
|
store i8 %92, i8* %90, align 1 |
|
%93 = load i8*, i8** %1, align 8 |
|
%94 = load i8, i8* %93, align 1 |
|
%95 = add i8 %94, 1 |
|
store i8 %95, i8* %93, align 1 |
|
%96 = load i8*, i8** %1, align 8 |
|
%97 = load i8, i8* %96, align 1 |
|
%98 = add i8 %97, 1 |
|
store i8 %98, i8* %96, align 1 |
|
%99 = load i8*, i8** %1, align 8 |
|
%100 = load i8, i8* %99, align 1 |
|
%101 = add i8 %100, 1 |
|
store i8 %101, i8* %99, align 1 |
|
%102 = load i8*, i8** %1, align 8 |
|
%103 = load i8, i8* %102, align 1 |
|
%104 = add i8 %103, 1 |
|
store i8 %104, i8* %102, align 1 |
|
%105 = load i8*, i8** %1, align 8 |
|
%106 = load i8, i8* %105, align 1 |
|
%107 = add i8 %106, 1 |
|
store i8 %107, i8* %105, align 1 |
|
%108 = load i8*, i8** %1, align 8 |
|
%109 = load i8, i8* %108, align 1 |
|
%110 = add i8 %109, 1 |
|
store i8 %110, i8* %108, align 1 |
|
%111 = load i8*, i8** %1, align 8 |
|
%112 = load i8, i8* %111, align 1 |
|
%113 = add i8 %112, 1 |
|
store i8 %113, i8* %111, align 1 |
|
%114 = load i8*, i8** %1, align 8 |
|
%115 = load i8, i8* %114, align 1 |
|
%116 = add i8 %115, 1 |
|
store i8 %116, i8* %114, align 1 |
|
%117 = load i8*, i8** %1, align 8 |
|
%118 = load i8, i8* %117, align 1 |
|
%119 = add i8 %118, 1 |
|
store i8 %119, i8* %117, align 1 |
|
%120 = load i8*, i8** %1, align 8 |
|
%121 = load i8, i8* %120, align 1 |
|
%122 = add i8 %121, 1 |
|
store i8 %122, i8* %120, align 1 |
|
%123 = load i8*, i8** %1, align 8 |
|
%124 = load i8, i8* %123, align 1 |
|
%125 = add i8 %124, 1 |
|
store i8 %125, i8* %123, align 1 |
|
%126 = load i8*, i8** %1, align 8 |
|
%127 = load i8, i8* %126, align 1 |
|
%128 = add i8 %127, 1 |
|
store i8 %128, i8* %126, align 1 |
|
%129 = load i8*, i8** %1, align 8 |
|
%130 = load i8, i8* %129, align 1 |
|
%131 = add i8 %130, 1 |
|
store i8 %131, i8* %129, align 1 |
|
%132 = load i8*, i8** %1, align 8 |
|
%133 = load i8, i8* %132, align 1 |
|
%134 = add i8 %133, 1 |
|
store i8 %134, i8* %132, align 1 |
|
%135 = load i8*, i8** %1, align 8 |
|
%136 = load i8, i8* %135, align 1 |
|
%137 = add i8 %136, 1 |
|
store i8 %137, i8* %135, align 1 |
|
%138 = load i8*, i8** %1, align 8 |
|
%139 = load i8, i8* %138, align 1 |
|
%140 = add i8 %139, 1 |
|
store i8 %140, i8* %138, align 1 |
|
%141 = load i8*, i8** %1, align 8 |
|
%142 = load i8, i8* %141, align 1 |
|
%143 = add i8 %142, 1 |
|
store i8 %143, i8* %141, align 1 |
|
%144 = load i8*, i8** %1, align 8 |
|
%145 = load i8, i8* %144, align 1 |
|
%146 = add i8 %145, 1 |
|
store i8 %146, i8* %144, align 1 |
|
%147 = load i8*, i8** %1, align 8 |
|
%148 = load i8, i8* %147, align 1 |
|
%149 = add i8 %148, 1 |
|
store i8 %149, i8* %147, align 1 |
|
%150 = load i8*, i8** %1, align 8 |
|
%151 = load i8, i8* %150, align 1 |
|
%152 = add i8 %151, 1 |
|
store i8 %152, i8* %150, align 1 |
|
%153 = load i8*, i8** %1, align 8 |
|
%154 = load i8, i8* %153, align 1 |
|
%155 = add i8 %154, 1 |
|
store i8 %155, i8* %153, align 1 |
|
%156 = load i8*, i8** %1, align 8 |
|
%157 = load i8, i8* %156, align 1 |
|
%158 = add i8 %157, 1 |
|
store i8 %158, i8* %156, align 1 |
|
%159 = load i8*, i8** %1, align 8 |
|
%160 = load i8, i8* %159, align 1 |
|
%161 = add i8 %160, 1 |
|
store i8 %161, i8* %159, align 1 |
|
%162 = load i8*, i8** %1, align 8 |
|
%163 = load i8, i8* %162, align 1 |
|
%164 = add i8 %163, 1 |
|
store i8 %164, i8* %162, align 1 |
|
%165 = load i8*, i8** %1, align 8 |
|
%166 = load i8, i8* %165, align 1 |
|
%167 = add i8 %166, 1 |
|
store i8 %167, i8* %165, align 1 |
|
%168 = load i8*, i8** %1, align 8 |
|
%169 = load i8, i8* %168, align 1 |
|
%170 = add i8 %169, 1 |
|
store i8 %170, i8* %168, align 1 |
|
%171 = load i8*, i8** %1, align 8 |
|
%172 = load i8, i8* %171, align 1 |
|
%173 = add i8 %172, 1 |
|
store i8 %173, i8* %171, align 1 |
|
%174 = load i8*, i8** %1, align 8 |
|
%175 = load i8, i8* %174, align 1 |
|
%176 = add i8 %175, 1 |
|
store i8 %176, i8* %174, align 1 |
|
%177 = load i8*, i8** %1, align 8 |
|
%178 = load i8, i8* %177, align 1 |
|
%179 = add i8 %178, 1 |
|
store i8 %179, i8* %177, align 1 |
|
%180 = load i8*, i8** %1, align 8 |
|
%181 = load i8, i8* %180, align 1 |
|
%182 = add i8 %181, 1 |
|
store i8 %182, i8* %180, align 1 |
|
%183 = load i8*, i8** %1, align 8 |
|
%184 = load i8, i8* %183, align 1 |
|
%185 = add i8 %184, 1 |
|
store i8 %185, i8* %183, align 1 |
|
%186 = load i8*, i8** %1, align 8 |
|
%187 = load i8, i8* %186, align 1 |
|
%188 = add i8 %187, 1 |
|
store i8 %188, i8* %186, align 1 |
|
%189 = load i8*, i8** %1, align 8 |
|
%190 = load i8, i8* %189, align 1 |
|
%191 = add i8 %190, 1 |
|
store i8 %191, i8* %189, align 1 |
|
%192 = load i8*, i8** %1, align 8 |
|
%193 = load i8, i8* %192, align 1 |
|
%194 = add i8 %193, 1 |
|
store i8 %194, i8* %192, align 1 |
|
%195 = load i8*, i8** %1, align 8 |
|
%196 = load i8, i8* %195, align 1 |
|
%197 = add i8 %196, 1 |
|
store i8 %197, i8* %195, align 1 |
|
%198 = load i8*, i8** %1, align 8 |
|
%199 = load i8, i8* %198, align 1 |
|
%200 = sext i8 %199 to i32 |
|
%201 = call i32 @putchar(i32 %200) |
|
%202 = load i8*, i8** %1, align 8 |
|
%203 = load i8, i8* %202, align 1 |
|
%204 = add i8 %203, 1 |
|
store i8 %204, i8* %202, align 1 |
|
%205 = load i8*, i8** %1, align 8 |
|
%206 = load i8, i8* %205, align 1 |
|
%207 = sext i8 %206 to i32 |
|
%208 = call i32 @putchar(i32 %207) |
|
%209 = load i8*, i8** %1, align 8 |
|
%210 = load i8, i8* %209, align 1 |
|
%211 = add i8 %210, 1 |
|
store i8 %211, i8* %209, align 1 |
|
%212 = load i8*, i8** %1, align 8 |
|
%213 = load i8, i8* %212, align 1 |
|
%214 = sext i8 %213 to i32 |
|
%215 = call i32 @putchar(i32 %214) |
|
%216 = load i8*, i8** %1, align 8 |
|
%217 = getelementptr inbounds i8, i8* %216, i32 1 |
|
store i8* %217, i8** %1, align 8 |
|
%218 = load i8*, i8** %1, align 8 |
|
%219 = load i8, i8* %218, align 1 |
|
%220 = add i8 %219, 1 |
|
store i8 %220, i8* %218, align 1 |
|
%221 = load i8*, i8** %1, align 8 |
|
%222 = load i8, i8* %221, align 1 |
|
%223 = add i8 %222, 1 |
|
store i8 %223, i8* %221, align 1 |
|
%224 = load i8*, i8** %1, align 8 |
|
%225 = load i8, i8* %224, align 1 |
|
%226 = add i8 %225, 1 |
|
store i8 %226, i8* %224, align 1 |
|
%227 = load i8*, i8** %1, align 8 |
|
%228 = load i8, i8* %227, align 1 |
|
%229 = add i8 %228, 1 |
|
store i8 %229, i8* %227, align 1 |
|
%230 = load i8*, i8** %1, align 8 |
|
%231 = load i8, i8* %230, align 1 |
|
%232 = add i8 %231, 1 |
|
store i8 %232, i8* %230, align 1 |
|
%233 = load i8*, i8** %1, align 8 |
|
%234 = load i8, i8* %233, align 1 |
|
%235 = add i8 %234, 1 |
|
store i8 %235, i8* %233, align 1 |
|
%236 = load i8*, i8** %1, align 8 |
|
%237 = load i8, i8* %236, align 1 |
|
%238 = add i8 %237, 1 |
|
store i8 %238, i8* %236, align 1 |
|
%239 = load i8*, i8** %1, align 8 |
|
%240 = load i8, i8* %239, align 1 |
|
%241 = add i8 %240, 1 |
|
store i8 %241, i8* %239, align 1 |
|
%242 = load i8*, i8** %1, align 8 |
|
%243 = load i8, i8* %242, align 1 |
|
%244 = add i8 %243, 1 |
|
store i8 %244, i8* %242, align 1 |
|
%245 = load i8*, i8** %1, align 8 |
|
%246 = load i8, i8* %245, align 1 |
|
%247 = add i8 %246, 1 |
|
store i8 %247, i8* %245, align 1 |
|
%248 = load i8*, i8** %1, align 8 |
|
%249 = load i8, i8* %248, align 1 |
|
%250 = sext i8 %249 to i32 |
|
%251 = call i32 @putchar(i32 %250) |
|
ret i32 0 |
|
} |
|
; Function Attrs: nounwind |
|
declare noalias i8* @malloc(i64) #3 |
|
|
|
declare i32 @putchar(i32) #1 |
|
|
|
attributes #0 = { noinline nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "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"} |
|
attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="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" } |
|
attributes #2 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="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" } |
|
attributes #3 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="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" } |
|
attributes #4 = { noreturn nounwind } |
|
attributes #5 = { nounwind} |
|
|
|
!llvm.module.flags = !{!0} |
|
!llvm.ident = !{!1} |
|
|
|
!0 = !{i32 1, !"wchar_size", i32 4} |
|
!1 = !{!"clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)"} |