Commit 33c79797 authored by williangaspar's avatar williangaspar Committed by Kirill Smelkov
parent d1f6efda
...@@ -373,7 +373,7 @@ Value *IRBuilderBPF::CreateStrcmp(Value* val, std::string str, bool inverse) { ...@@ -373,7 +373,7 @@ Value *IRBuilderBPF::CreateStrcmp(Value* val, std::string str, bool inverse) {
Value *ptr = CreateAdd( Value *ptr = CreateAdd(
val, val,
getInt64(i)); getInt64(i));
CreateProbeRead(val_char, 8, ptr); CreateProbeRead(val_char, 1, ptr);
Value *l = CreateLoad(getInt8Ty(), val_char); Value *l = CreateLoad(getInt8Ty(), val_char);
CreateLifetimeEnd(store); CreateLifetimeEnd(store);
......
...@@ -31,7 +31,7 @@ entry: ...@@ -31,7 +31,7 @@ entry:
call void @llvm.memset.p0i8.i64(i8* nonnull align 1 %1, i8 0, i64 16, i1 false) call void @llvm.memset.p0i8.i64(i8* nonnull align 1 %1, i8 0, i64 16, i1 false)
%get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16) %get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16)
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char)
%probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 8, [16 x i8]* nonnull %comm) %probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 1, [16 x i8]* nonnull %comm)
%2 = load i8, i8* %strcmp.char, align 1 %2 = load i8, i8* %strcmp.char, align 1
%strcmp.cmp = icmp eq i8 %2, 115 %strcmp.cmp = icmp eq i8 %2, 115
br i1 %strcmp.cmp, label %strcmp.loop, label %pred_false.critedge br i1 %strcmp.cmp, label %strcmp.loop, label %pred_false.critedge
...@@ -71,7 +71,7 @@ pred_true: ; preds = %strcmp.loop9 ...@@ -71,7 +71,7 @@ pred_true: ; preds = %strcmp.loop9
strcmp.loop: ; preds = %entry strcmp.loop: ; preds = %entry
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2)
%5 = add [16 x i8]* %comm, i64 1 %5 = add [16 x i8]* %comm, i64 1
%probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 8, [16 x i8]* %5) %probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 1, [16 x i8]* %5)
%6 = load i8, i8* %strcmp.char2, align 1 %6 = load i8, i8* %strcmp.char2, align 1
%strcmp.cmp4 = icmp eq i8 %6, 115 %strcmp.cmp4 = icmp eq i8 %6, 115
br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_false.critedge20 br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_false.critedge20
...@@ -79,7 +79,7 @@ strcmp.loop: ; preds = %entry ...@@ -79,7 +79,7 @@ strcmp.loop: ; preds = %entry
strcmp.loop1: ; preds = %strcmp.loop strcmp.loop1: ; preds = %strcmp.loop
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6)
%7 = add [16 x i8]* %comm, i64 2 %7 = add [16 x i8]* %comm, i64 2
%probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 8, [16 x i8]* %7) %probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 1, [16 x i8]* %7)
%8 = load i8, i8* %strcmp.char6, align 1 %8 = load i8, i8* %strcmp.char6, align 1
%strcmp.cmp8 = icmp eq i8 %8, 104 %strcmp.cmp8 = icmp eq i8 %8, 104
br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_false.critedge21 br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_false.critedge21
...@@ -87,7 +87,7 @@ strcmp.loop1: ; preds = %strcmp.loop ...@@ -87,7 +87,7 @@ strcmp.loop1: ; preds = %strcmp.loop
strcmp.loop5: ; preds = %strcmp.loop1 strcmp.loop5: ; preds = %strcmp.loop1
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10)
%9 = add [16 x i8]* %comm, i64 3 %9 = add [16 x i8]* %comm, i64 3
%probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 8, [16 x i8]* %9) %probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 1, [16 x i8]* %9)
%10 = load i8, i8* %strcmp.char10, align 1 %10 = load i8, i8* %strcmp.char10, align 1
%strcmp.cmp12 = icmp eq i8 %10, 100 %strcmp.cmp12 = icmp eq i8 %10, 100
br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_false.critedge22 br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_false.critedge22
...@@ -95,7 +95,7 @@ strcmp.loop5: ; preds = %strcmp.loop1 ...@@ -95,7 +95,7 @@ strcmp.loop5: ; preds = %strcmp.loop1
strcmp.loop9: ; preds = %strcmp.loop5 strcmp.loop9: ; preds = %strcmp.loop5
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14)
%11 = add [16 x i8]* %comm, i64 4 %11 = add [16 x i8]* %comm, i64 4
%probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 8, [16 x i8]* %11) %probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 1, [16 x i8]* %11)
%12 = load i8, i8* %strcmp.char14, align 1 %12 = load i8, i8* %strcmp.char14, align 1
%strcmp.cmp16 = icmp eq i8 %12, 0 %strcmp.cmp16 = icmp eq i8 %12, 0
call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1) call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1)
...@@ -153,7 +153,7 @@ entry: ...@@ -153,7 +153,7 @@ entry:
call void @llvm.memset.p0i8.i64(i8* nonnull %1, i8 0, i64 16, i32 1, i1 false) call void @llvm.memset.p0i8.i64(i8* nonnull %1, i8 0, i64 16, i32 1, i1 false)
%get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16) %get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16)
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char)
%probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 8, [16 x i8]* nonnull %comm) %probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 1, [16 x i8]* nonnull %comm)
%2 = load i8, i8* %strcmp.char, align 1 %2 = load i8, i8* %strcmp.char, align 1
%strcmp.cmp = icmp eq i8 %2, 115 %strcmp.cmp = icmp eq i8 %2, 115
br i1 %strcmp.cmp, label %strcmp.loop, label %pred_false.critedge br i1 %strcmp.cmp, label %strcmp.loop, label %pred_false.critedge
...@@ -193,7 +193,7 @@ pred_true: ; preds = %strcmp.loop9 ...@@ -193,7 +193,7 @@ pred_true: ; preds = %strcmp.loop9
strcmp.loop: ; preds = %entry strcmp.loop: ; preds = %entry
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2)
%5 = add [16 x i8]* %comm, i64 1 %5 = add [16 x i8]* %comm, i64 1
%probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 8, [16 x i8]* %5) %probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 1, [16 x i8]* %5)
%6 = load i8, i8* %strcmp.char2, align 1 %6 = load i8, i8* %strcmp.char2, align 1
%strcmp.cmp4 = icmp eq i8 %6, 115 %strcmp.cmp4 = icmp eq i8 %6, 115
br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_false.critedge20 br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_false.critedge20
...@@ -201,7 +201,7 @@ strcmp.loop: ; preds = %entry ...@@ -201,7 +201,7 @@ strcmp.loop: ; preds = %entry
strcmp.loop1: ; preds = %strcmp.loop strcmp.loop1: ; preds = %strcmp.loop
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6)
%7 = add [16 x i8]* %comm, i64 2 %7 = add [16 x i8]* %comm, i64 2
%probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 8, [16 x i8]* %7) %probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 1, [16 x i8]* %7)
%8 = load i8, i8* %strcmp.char6, align 1 %8 = load i8, i8* %strcmp.char6, align 1
%strcmp.cmp8 = icmp eq i8 %8, 104 %strcmp.cmp8 = icmp eq i8 %8, 104
br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_false.critedge21 br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_false.critedge21
...@@ -209,7 +209,7 @@ strcmp.loop1: ; preds = %strcmp.loop ...@@ -209,7 +209,7 @@ strcmp.loop1: ; preds = %strcmp.loop
strcmp.loop5: ; preds = %strcmp.loop1 strcmp.loop5: ; preds = %strcmp.loop1
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10)
%9 = add [16 x i8]* %comm, i64 3 %9 = add [16 x i8]* %comm, i64 3
%probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 8, [16 x i8]* %9) %probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 1, [16 x i8]* %9)
%10 = load i8, i8* %strcmp.char10, align 1 %10 = load i8, i8* %strcmp.char10, align 1
%strcmp.cmp12 = icmp eq i8 %10, 100 %strcmp.cmp12 = icmp eq i8 %10, 100
br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_false.critedge22 br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_false.critedge22
...@@ -217,7 +217,7 @@ strcmp.loop5: ; preds = %strcmp.loop1 ...@@ -217,7 +217,7 @@ strcmp.loop5: ; preds = %strcmp.loop1
strcmp.loop9: ; preds = %strcmp.loop5 strcmp.loop9: ; preds = %strcmp.loop5
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14)
%11 = add [16 x i8]* %comm, i64 4 %11 = add [16 x i8]* %comm, i64 4
%probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 8, [16 x i8]* %11) %probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 1, [16 x i8]* %11)
%12 = load i8, i8* %strcmp.char14, align 1 %12 = load i8, i8* %strcmp.char14, align 1
%strcmp.cmp16 = icmp eq i8 %12, 0 %strcmp.cmp16 = icmp eq i8 %12, 0
call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1) call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1)
......
...@@ -31,7 +31,7 @@ entry: ...@@ -31,7 +31,7 @@ entry:
call void @llvm.memset.p0i8.i64(i8* nonnull align 1 %1, i8 0, i64 16, i1 false) call void @llvm.memset.p0i8.i64(i8* nonnull align 1 %1, i8 0, i64 16, i1 false)
%get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16) %get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16)
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char)
%probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 8, [16 x i8]* nonnull %comm) %probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 1, [16 x i8]* nonnull %comm)
%2 = load i8, i8* %strcmp.char, align 1 %2 = load i8, i8* %strcmp.char, align 1
%strcmp.cmp = icmp eq i8 %2, 115 %strcmp.cmp = icmp eq i8 %2, 115
br i1 %strcmp.cmp, label %strcmp.loop, label %pred_true.critedge br i1 %strcmp.cmp, label %strcmp.loop, label %pred_true.critedge
...@@ -71,7 +71,7 @@ pred_true: ; preds = %strcmp.loop9, %pred ...@@ -71,7 +71,7 @@ pred_true: ; preds = %strcmp.loop9, %pred
strcmp.loop: ; preds = %entry strcmp.loop: ; preds = %entry
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2)
%5 = add [16 x i8]* %comm, i64 1 %5 = add [16 x i8]* %comm, i64 1
%probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 8, [16 x i8]* %5) %probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 1, [16 x i8]* %5)
%6 = load i8, i8* %strcmp.char2, align 1 %6 = load i8, i8* %strcmp.char2, align 1
%strcmp.cmp4 = icmp eq i8 %6, 115 %strcmp.cmp4 = icmp eq i8 %6, 115
br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_true.critedge20 br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_true.critedge20
...@@ -79,7 +79,7 @@ strcmp.loop: ; preds = %entry ...@@ -79,7 +79,7 @@ strcmp.loop: ; preds = %entry
strcmp.loop1: ; preds = %strcmp.loop strcmp.loop1: ; preds = %strcmp.loop
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6)
%7 = add [16 x i8]* %comm, i64 2 %7 = add [16 x i8]* %comm, i64 2
%probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 8, [16 x i8]* %7) %probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 1, [16 x i8]* %7)
%8 = load i8, i8* %strcmp.char6, align 1 %8 = load i8, i8* %strcmp.char6, align 1
%strcmp.cmp8 = icmp eq i8 %8, 104 %strcmp.cmp8 = icmp eq i8 %8, 104
br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_true.critedge21 br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_true.critedge21
...@@ -87,7 +87,7 @@ strcmp.loop1: ; preds = %strcmp.loop ...@@ -87,7 +87,7 @@ strcmp.loop1: ; preds = %strcmp.loop
strcmp.loop5: ; preds = %strcmp.loop1 strcmp.loop5: ; preds = %strcmp.loop1
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10)
%9 = add [16 x i8]* %comm, i64 3 %9 = add [16 x i8]* %comm, i64 3
%probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 8, [16 x i8]* %9) %probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 1, [16 x i8]* %9)
%10 = load i8, i8* %strcmp.char10, align 1 %10 = load i8, i8* %strcmp.char10, align 1
%strcmp.cmp12 = icmp eq i8 %10, 100 %strcmp.cmp12 = icmp eq i8 %10, 100
br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_true.critedge22 br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_true.critedge22
...@@ -95,7 +95,7 @@ strcmp.loop5: ; preds = %strcmp.loop1 ...@@ -95,7 +95,7 @@ strcmp.loop5: ; preds = %strcmp.loop1
strcmp.loop9: ; preds = %strcmp.loop5 strcmp.loop9: ; preds = %strcmp.loop5
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14)
%11 = add [16 x i8]* %comm, i64 4 %11 = add [16 x i8]* %comm, i64 4
%probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 8, [16 x i8]* %11) %probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 1, [16 x i8]* %11)
%12 = load i8, i8* %strcmp.char14, align 1 %12 = load i8, i8* %strcmp.char14, align 1
%strcmp.cmp16 = icmp eq i8 %12, 0 %strcmp.cmp16 = icmp eq i8 %12, 0
call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1) call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1)
...@@ -153,7 +153,7 @@ entry: ...@@ -153,7 +153,7 @@ entry:
call void @llvm.memset.p0i8.i64(i8* nonnull %1, i8 0, i64 16, i32 1, i1 false) call void @llvm.memset.p0i8.i64(i8* nonnull %1, i8 0, i64 16, i32 1, i1 false)
%get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16) %get_comm = call i64 inttoptr (i64 16 to i64 (i8*, i64)*)([16 x i8]* nonnull %comm, i64 16)
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char)
%probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 8, [16 x i8]* nonnull %comm) %probe_read = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char, i64 1, [16 x i8]* nonnull %comm)
%2 = load i8, i8* %strcmp.char, align 1 %2 = load i8, i8* %strcmp.char, align 1
%strcmp.cmp = icmp eq i8 %2, 115 %strcmp.cmp = icmp eq i8 %2, 115
br i1 %strcmp.cmp, label %strcmp.loop, label %pred_true.critedge br i1 %strcmp.cmp, label %strcmp.loop, label %pred_true.critedge
...@@ -193,7 +193,7 @@ pred_true: ; preds = %strcmp.loop9, %pred ...@@ -193,7 +193,7 @@ pred_true: ; preds = %strcmp.loop9, %pred
strcmp.loop: ; preds = %entry strcmp.loop: ; preds = %entry
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char2)
%5 = add [16 x i8]* %comm, i64 1 %5 = add [16 x i8]* %comm, i64 1
%probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 8, [16 x i8]* %5) %probe_read3 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char2, i64 1, [16 x i8]* %5)
%6 = load i8, i8* %strcmp.char2, align 1 %6 = load i8, i8* %strcmp.char2, align 1
%strcmp.cmp4 = icmp eq i8 %6, 115 %strcmp.cmp4 = icmp eq i8 %6, 115
br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_true.critedge20 br i1 %strcmp.cmp4, label %strcmp.loop1, label %pred_true.critedge20
...@@ -201,7 +201,7 @@ strcmp.loop: ; preds = %entry ...@@ -201,7 +201,7 @@ strcmp.loop: ; preds = %entry
strcmp.loop1: ; preds = %strcmp.loop strcmp.loop1: ; preds = %strcmp.loop
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char6)
%7 = add [16 x i8]* %comm, i64 2 %7 = add [16 x i8]* %comm, i64 2
%probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 8, [16 x i8]* %7) %probe_read7 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char6, i64 1, [16 x i8]* %7)
%8 = load i8, i8* %strcmp.char6, align 1 %8 = load i8, i8* %strcmp.char6, align 1
%strcmp.cmp8 = icmp eq i8 %8, 104 %strcmp.cmp8 = icmp eq i8 %8, 104
br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_true.critedge21 br i1 %strcmp.cmp8, label %strcmp.loop5, label %pred_true.critedge21
...@@ -209,7 +209,7 @@ strcmp.loop1: ; preds = %strcmp.loop ...@@ -209,7 +209,7 @@ strcmp.loop1: ; preds = %strcmp.loop
strcmp.loop5: ; preds = %strcmp.loop1 strcmp.loop5: ; preds = %strcmp.loop1
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char10)
%9 = add [16 x i8]* %comm, i64 3 %9 = add [16 x i8]* %comm, i64 3
%probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 8, [16 x i8]* %9) %probe_read11 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char10, i64 1, [16 x i8]* %9)
%10 = load i8, i8* %strcmp.char10, align 1 %10 = load i8, i8* %strcmp.char10, align 1
%strcmp.cmp12 = icmp eq i8 %10, 100 %strcmp.cmp12 = icmp eq i8 %10, 100
br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_true.critedge22 br i1 %strcmp.cmp12, label %strcmp.loop9, label %pred_true.critedge22
...@@ -217,7 +217,7 @@ strcmp.loop5: ; preds = %strcmp.loop1 ...@@ -217,7 +217,7 @@ strcmp.loop5: ; preds = %strcmp.loop1
strcmp.loop9: ; preds = %strcmp.loop5 strcmp.loop9: ; preds = %strcmp.loop5
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14) call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %strcmp.char14)
%11 = add [16 x i8]* %comm, i64 4 %11 = add [16 x i8]* %comm, i64 4
%probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 8, [16 x i8]* %11) %probe_read15 = call i64 inttoptr (i64 4 to i64 (i8*, i64, i8*)*)(i8* nonnull %strcmp.char14, i64 1, [16 x i8]* %11)
%12 = load i8, i8* %strcmp.char14, align 1 %12 = load i8, i8* %strcmp.char14, align 1
%strcmp.cmp16 = icmp eq i8 %12, 0 %strcmp.cmp16 = icmp eq i8 %12, 0
call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1) call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment