diff --git a/llvm/test/Transforms/SampleProfile/Inputs/profile-symbol-list.ll b/llvm/test/Transforms/SampleProfile/Inputs/profile-symbol-list.ll index f30df4e6ba4f9..b8e64e82b9717 100644 --- a/llvm/test/Transforms/SampleProfile/Inputs/profile-symbol-list.ll +++ b/llvm/test/Transforms/SampleProfile/Inputs/profile-symbol-list.ll @@ -83,12 +83,12 @@ while.body: ; preds = %while.body, %entry br i1 %exitcond.4, label %while.end, label %while.body, !dbg !27, !llvm.loop !28 while.end: ; preds = %while.body - %call2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i64 0, i64 0), i32 %spec.select.4), !dbg !31 + %call2 = tail call i32 (ptr, ...) @printf(ptr @.str, i32 %spec.select.4), !dbg !31 ret i32 0, !dbg !32 } ; Function Attrs: nofree nounwind -declare dso_local i32 @printf(i8* nocapture readonly, ...) local_unnamed_addr #3 +declare dso_local i32 @printf(ptr nocapture readonly, ...) local_unnamed_addr #3 attributes #0 = { noinline norecurse nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "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"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" "use-sample-profile" } attributes #1 = { norecurse nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "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"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" "use-sample-profile" } diff --git a/llvm/test/Transforms/SampleProfile/branch.ll b/llvm/test/Transforms/SampleProfile/branch.ll index a65e3bb04ab57..96bd2b1971d4f 100644 --- a/llvm/test/Transforms/SampleProfile/branch.ll +++ b/llvm/test/Transforms/SampleProfile/branch.ll @@ -29,63 +29,63 @@ @.str = private unnamed_addr constant [15 x i8] c"result is %lf\0A\00", align 1 ; Function Attrs: uwtable -define i32 @main(i32 %argc, i8** %argv) #0 !dbg !6 { +define i32 @main(i32 %argc, ptr %argv) #0 !dbg !6 { ; CHECK: Printing analysis {{.*}} for function 'main': entry: %retval = alloca i32, align 4 %argc.addr = alloca i32, align 4 - %argv.addr = alloca i8**, align 8 + %argv.addr = alloca ptr, align 8 %result = alloca double, align 8 %limit = alloca i32, align 4 %s = alloca double, align 8 %u = alloca i32, align 4 %x = alloca double, align 8 - store i32 0, i32* %retval, align 4 - store i32 %argc, i32* %argc.addr, align 4 - call void @llvm.dbg.declare(metadata i32* %argc.addr, metadata !16, metadata !17), !dbg !18 - store i8** %argv, i8*** %argv.addr, align 8 - call void @llvm.dbg.declare(metadata i8*** %argv.addr, metadata !19, metadata !17), !dbg !20 - %0 = load i32, i32* %argc.addr, align 4, !dbg !21 + store i32 0, ptr %retval, align 4 + store i32 %argc, ptr %argc.addr, align 4 + call void @llvm.dbg.declare(metadata ptr %argc.addr, metadata !16, metadata !17), !dbg !18 + store ptr %argv, ptr %argv.addr, align 8 + call void @llvm.dbg.declare(metadata ptr %argv.addr, metadata !19, metadata !17), !dbg !20 + %0 = load i32, ptr %argc.addr, align 4, !dbg !21 %cmp = icmp slt i32 %0, 2, !dbg !23 br i1 %cmp, label %if.then, label %if.end, !dbg !24 ; CHECK: edge entry -> if.then probability is 0x4ccf6b16 / 0x80000000 = 60.01% ; CHECK: edge entry -> if.end probability is 0x333094ea / 0x80000000 = 39.99% if.then: ; preds = %entry - store i32 1, i32* %retval, align 4, !dbg !25 + store i32 1, ptr %retval, align 4, !dbg !25 br label %return, !dbg !25 if.end: ; preds = %entry - call void @llvm.dbg.declare(metadata double* %result, metadata !26, metadata !17), !dbg !27 - call void @llvm.dbg.declare(metadata i32* %limit, metadata !28, metadata !17), !dbg !29 - %1 = load i8**, i8*** %argv.addr, align 8, !dbg !30 - %arrayidx = getelementptr inbounds i8*, i8** %1, i64 1, !dbg !30 - %2 = load i8*, i8** %arrayidx, align 8, !dbg !30 - %call = call i32 @atoi(i8* %2) #4, !dbg !31 - store i32 %call, i32* %limit, align 4, !dbg !29 - %3 = load i32, i32* %limit, align 4, !dbg !32 + call void @llvm.dbg.declare(metadata ptr %result, metadata !26, metadata !17), !dbg !27 + call void @llvm.dbg.declare(metadata ptr %limit, metadata !28, metadata !17), !dbg !29 + %1 = load ptr, ptr %argv.addr, align 8, !dbg !30 + %arrayidx = getelementptr inbounds ptr, ptr %1, i64 1, !dbg !30 + %2 = load ptr, ptr %arrayidx, align 8, !dbg !30 + %call = call i32 @atoi(ptr %2) #4, !dbg !31 + store i32 %call, ptr %limit, align 4, !dbg !29 + %3 = load i32, ptr %limit, align 4, !dbg !32 %cmp1 = icmp sgt i32 %3, 100, !dbg !34 br i1 %cmp1, label %if.then.2, label %if.else, !dbg !35 ; CHECK: edge if.end -> if.then.2 probability is 0x6652c748 / 0x80000000 = 79.94% ; CHECK: edge if.end -> if.else probability is 0x19ad38b8 / 0x80000000 = 20.06% if.then.2: ; preds = %if.end - call void @llvm.dbg.declare(metadata double* %s, metadata !36, metadata !17), !dbg !38 - %4 = load i8**, i8*** %argv.addr, align 8, !dbg !39 - %arrayidx3 = getelementptr inbounds i8*, i8** %4, i64 2, !dbg !39 - %5 = load i8*, i8** %arrayidx3, align 8, !dbg !39 - %call4 = call i32 @atoi(i8* %5) #4, !dbg !40 + call void @llvm.dbg.declare(metadata ptr %s, metadata !36, metadata !17), !dbg !38 + %4 = load ptr, ptr %argv.addr, align 8, !dbg !39 + %arrayidx3 = getelementptr inbounds ptr, ptr %4, i64 2, !dbg !39 + %5 = load ptr, ptr %arrayidx3, align 8, !dbg !39 + %call4 = call i32 @atoi(ptr %5) #4, !dbg !40 %conv = sitofp i32 %call4 to double, !dbg !40 %mul = fmul double 0x40370ABE6A337A81, %conv, !dbg !41 - store double %mul, double* %s, align 8, !dbg !38 - call void @llvm.dbg.declare(metadata i32* %u, metadata !42, metadata !17), !dbg !44 - store i32 0, i32* %u, align 4, !dbg !44 + store double %mul, ptr %s, align 8, !dbg !38 + call void @llvm.dbg.declare(metadata ptr %u, metadata !42, metadata !17), !dbg !44 + store i32 0, ptr %u, align 4, !dbg !44 br label %for.cond, !dbg !45 for.cond: ; preds = %for.inc, %if.then.2 - %6 = load i32, i32* %u, align 4, !dbg !46 - %7 = load i32, i32* %limit, align 4, !dbg !48 + %6 = load i32, ptr %u, align 4, !dbg !46 + %7 = load i32, ptr %limit, align 4, !dbg !48 %cmp5 = icmp slt i32 %6, %7, !dbg !49 br i1 %cmp5, label %for.body, label %for.end, !dbg !50, !prof !80 ; CHECK: edge for.cond -> for.body probability is 0x73333333 / 0x80000000 = 90.00% @@ -94,53 +94,53 @@ for.cond: ; preds = %for.inc, %if.then.2 ; OVW: edge for.cond -> for.end probability is 0x094c0c42 / 0x80000000 = 7.26% for.body: ; preds = %for.cond - call void @llvm.dbg.declare(metadata double* %x, metadata !51, metadata !17), !dbg !53 - %8 = load double, double* %s, align 8, !dbg !54 - store double %8, double* %x, align 8, !dbg !53 - %9 = load double, double* %x, align 8, !dbg !55 + call void @llvm.dbg.declare(metadata ptr %x, metadata !51, metadata !17), !dbg !53 + %8 = load double, ptr %s, align 8, !dbg !54 + store double %8, ptr %x, align 8, !dbg !53 + %9 = load double, ptr %x, align 8, !dbg !55 %add = fadd double %9, 3.049000e+00, !dbg !56 - %10 = load i32, i32* %u, align 4, !dbg !57 + %10 = load i32, ptr %u, align 4, !dbg !57 %conv6 = sitofp i32 %10 to double, !dbg !57 %add7 = fadd double %add, %conv6, !dbg !58 - store double %add7, double* %s, align 8, !dbg !59 - %11 = load double, double* %s, align 8, !dbg !60 - %12 = load double, double* %x, align 8, !dbg !61 + store double %add7, ptr %s, align 8, !dbg !59 + %11 = load double, ptr %s, align 8, !dbg !60 + %12 = load double, ptr %x, align 8, !dbg !61 %div = fdiv double 3.940000e+00, %12, !dbg !62 %mul8 = fmul double %div, 3.200000e-01, !dbg !63 %add9 = fadd double %11, %mul8, !dbg !64 - %13 = load double, double* %s, align 8, !dbg !65 + %13 = load double, ptr %s, align 8, !dbg !65 %sub = fsub double %13, %add9, !dbg !65 - store double %sub, double* %s, align 8, !dbg !65 + store double %sub, ptr %s, align 8, !dbg !65 br label %for.inc, !dbg !66 for.inc: ; preds = %for.body - %14 = load i32, i32* %u, align 4, !dbg !67 + %14 = load i32, ptr %u, align 4, !dbg !67 %inc = add nsw i32 %14, 1, !dbg !67 - store i32 %inc, i32* %u, align 4, !dbg !67 + store i32 %inc, ptr %u, align 4, !dbg !67 br label %for.cond, !dbg !68 for.end: ; preds = %for.cond - %15 = load double, double* %s, align 8, !dbg !69 - store double %15, double* %result, align 8, !dbg !70 + %15 = load double, ptr %s, align 8, !dbg !69 + store double %15, ptr %result, align 8, !dbg !70 br label %if.end.13, !dbg !71 if.else: ; preds = %if.end - %16 = load i8**, i8*** %argv.addr, align 8, !dbg !72 - %arrayidx10 = getelementptr inbounds i8*, i8** %16, i64 2, !dbg !72 - %17 = load i8*, i8** %arrayidx10, align 8, !dbg !72 - %call11 = call i32 @atoi(i8* %17) #4, !dbg !74 + %16 = load ptr, ptr %argv.addr, align 8, !dbg !72 + %arrayidx10 = getelementptr inbounds ptr, ptr %16, i64 2, !dbg !72 + %17 = load ptr, ptr %arrayidx10, align 8, !dbg !72 + %call11 = call i32 @atoi(ptr %17) #4, !dbg !74 %conv12 = sitofp i32 %call11 to double, !dbg !74 - store double %conv12, double* %result, align 8, !dbg !75 + store double %conv12, ptr %result, align 8, !dbg !75 br label %if.end.13 if.end.13: ; preds = %if.else, %for.end - %18 = load double, double* %result, align 8, !dbg !76 - %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str, i32 0, i32 0), double %18), !dbg !77 - store i32 0, i32* %retval, align 4, !dbg !78 + %18 = load double, ptr %result, align 8, !dbg !76 + %call14 = call i32 (ptr, ...) @printf(ptr @.str, double %18), !dbg !77 + store i32 0, ptr %retval, align 4, !dbg !78 br label %return, !dbg !78 return: ; preds = %if.end.13, %if.then - %19 = load i32, i32* %retval, align 4, !dbg !79 + %19 = load i32, ptr %retval, align 4, !dbg !79 ret i32 %19, !dbg !79 } @@ -148,9 +148,9 @@ return: ; preds = %if.end.13, %if.then declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 ; Function Attrs: nounwind readonly -declare i32 @atoi(i8*) #2 +declare i32 @atoi(ptr) #2 -declare i32 @printf(i8*, ...) #3 +declare i32 @printf(ptr, ...) #3 attributes #0 = { uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" "use-sample-profile" } attributes #1 = { nounwind readnone } diff --git a/llvm/test/Transforms/SampleProfile/calls.ll b/llvm/test/Transforms/SampleProfile/calls.ll index db61b72c1d2b3..e540a5bbea645 100644 --- a/llvm/test/Transforms/SampleProfile/calls.ll +++ b/llvm/test/Transforms/SampleProfile/calls.ll @@ -23,10 +23,10 @@ define i32 @_Z3sumii(i32 %x, i32 %y) #0 !dbg !4 { entry: %x.addr = alloca i32, align 4 %y.addr = alloca i32, align 4 - store i32 %x, i32* %x.addr, align 4 - store i32 %y, i32* %y.addr, align 4 - %0 = load i32, i32* %x.addr, align 4, !dbg !11 - %1 = load i32, i32* %y.addr, align 4, !dbg !11 + store i32 %x, ptr %x.addr, align 4 + store i32 %y, ptr %y.addr, align 4 + %0 = load i32, ptr %x.addr, align 4, !dbg !11 + %1 = load i32, ptr %y.addr, align 4, !dbg !11 %add = add nsw i32 %0, %1, !dbg !11 ret i32 %add, !dbg !11 } @@ -37,21 +37,21 @@ entry: %retval = alloca i32, align 4 %s = alloca i32, align 4 %i = alloca i32, align 4 - store i32 0, i32* %retval - store i32 0, i32* %i, align 4, !dbg !12 + store i32 0, ptr %retval + store i32 0, ptr %i, align 4, !dbg !12 br label %while.cond, !dbg !13 while.cond: ; preds = %if.end, %entry - %0 = load i32, i32* %i, align 4, !dbg !14 + %0 = load i32, ptr %i, align 4, !dbg !14 %inc = add nsw i32 %0, 1, !dbg !14 - store i32 %inc, i32* %i, align 4, !dbg !14 + store i32 %inc, ptr %i, align 4, !dbg !14 %cmp = icmp slt i32 %0, 400000000, !dbg !14 br i1 %cmp, label %while.body, label %while.end, !dbg !14 ; CHECK: edge while.cond -> while.body probability is 0x77f2798d / 0x80000000 = 93.71% [HOT edge] ; CHECK: edge while.cond -> while.end probability is 0x080d8673 / 0x80000000 = 6.29% while.body: ; preds = %while.cond - %1 = load i32, i32* %i, align 4, !dbg !16 + %1 = load i32, ptr %i, align 4, !dbg !16 %cmp1 = icmp ne i32 %1, 100, !dbg !16 br i1 %cmp1, label %if.then, label %if.else, !dbg !16 ; Without discriminator information, the profiler used to think that @@ -63,26 +63,26 @@ while.body: ; preds = %while.cond if.then: ; preds = %while.body - %2 = load i32, i32* %i, align 4, !dbg !18 - %3 = load i32, i32* %s, align 4, !dbg !18 + %2 = load i32, ptr %i, align 4, !dbg !18 + %3 = load i32, ptr %s, align 4, !dbg !18 %call = call i32 @_Z3sumii(i32 %2, i32 %3), !dbg !18 - store i32 %call, i32* %s, align 4, !dbg !18 + store i32 %call, ptr %s, align 4, !dbg !18 br label %if.end, !dbg !18 if.else: ; preds = %while.body - store i32 30, i32* %s, align 4, !dbg !20 + store i32 30, ptr %s, align 4, !dbg !20 br label %if.end if.end: ; preds = %if.else, %if.then br label %while.cond, !dbg !22 while.end: ; preds = %while.cond - %4 = load i32, i32* %s, align 4, !dbg !24 - %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i32 %4), !dbg !24 + %4 = load i32, ptr %s, align 4, !dbg !24 + %call2 = call i32 (ptr, ...) @printf(ptr @.str, i32 %4), !dbg !24 ret i32 0, !dbg !25 } -declare i32 @printf(i8*, ...) #2 +declare i32 @printf(ptr, ...) #2 attributes #0 = {"use-sample-profile"} diff --git a/llvm/test/Transforms/SampleProfile/cold-indirect-call.ll b/llvm/test/Transforms/SampleProfile/cold-indirect-call.ll index 3c8914239b6eb..bffc775b64394 100644 --- a/llvm/test/Transforms/SampleProfile/cold-indirect-call.ll +++ b/llvm/test/Transforms/SampleProfile/cold-indirect-call.ll @@ -1,6 +1,6 @@ ; RUN: opt < %s -passes=sample-profile -sample-profile-file=%S/Inputs/cold-indirect-call.prof -S | FileCheck %s -define i32 @foo(i32 ()* %func) #0 !dbg !3 { +define i32 @foo(ptr %func) #0 !dbg !3 { ; CHECK: icmp {{.*}} @bar ; CHECK-NOT: icmp {{.*}} @baz %call = call i32 %func(), !dbg !4 diff --git a/llvm/test/Transforms/SampleProfile/cov-zero-samples.ll b/llvm/test/Transforms/SampleProfile/cov-zero-samples.ll index 43ba65b9c8f84..d59fc8fedc916 100644 --- a/llvm/test/Transforms/SampleProfile/cov-zero-samples.ll +++ b/llvm/test/Transforms/SampleProfile/cov-zero-samples.ll @@ -31,58 +31,58 @@ entry: %retval = alloca i32, align 4 %sum = alloca i32, align 4 %i = alloca i64, align 8 - store i32 0, i32* %retval, align 4 - call void @llvm.dbg.declare(metadata i32* %sum, metadata !20, metadata !21), !dbg !22 - store i32 0, i32* %sum, align 4, !dbg !22 - call void @llvm.dbg.declare(metadata i64* %i, metadata !23, metadata !21), !dbg !25 - store i64 0, i64* %i, align 8, !dbg !25 + store i32 0, ptr %retval, align 4 + call void @llvm.dbg.declare(metadata ptr %sum, metadata !20, metadata !21), !dbg !22 + store i32 0, ptr %sum, align 4, !dbg !22 + call void @llvm.dbg.declare(metadata ptr %i, metadata !23, metadata !21), !dbg !25 + store i64 0, ptr %i, align 8, !dbg !25 br label %for.cond, !dbg !26 for.cond: ; preds = %for.inc, %entry - %0 = load i64, i64* %i, align 8, !dbg !27 - %1 = load volatile i64, i64* @N, align 8, !dbg !30 + %0 = load i64, ptr %i, align 8, !dbg !27 + %1 = load volatile i64, ptr @N, align 8, !dbg !30 %cmp = icmp slt i64 %0, %1, !dbg !31 br i1 %cmp, label %for.body, label %for.end, !dbg !32 for.body: ; preds = %for.cond - %2 = load i64, i64* %i, align 8, !dbg !33 - %3 = load volatile i64, i64* @N, align 8, !dbg !36 + %2 = load i64, ptr %i, align 8, !dbg !33 + %3 = load volatile i64, ptr @N, align 8, !dbg !36 %cmp1 = icmp sgt i64 %2, %3, !dbg !37 br i1 %cmp1, label %if.then, label %if.end, !dbg !38 if.then: ; preds = %for.body - %4 = load i64, i64* %i, align 8, !dbg !39 + %4 = load i64, ptr %i, align 8, !dbg !39 %conv = trunc i64 %4 to i32, !dbg !39 %call = call i32 @_Z12never_calledi(i32 %conv), !dbg !41 - %5 = load i32, i32* %sum, align 4, !dbg !42 + %5 = load i32, ptr %sum, align 4, !dbg !42 %add = add nsw i32 %5, %call, !dbg !42 - store i32 %add, i32* %sum, align 4, !dbg !42 + store i32 %add, ptr %sum, align 4, !dbg !42 br label %if.end, !dbg !43 if.end: ; preds = %if.then, %for.body - %6 = load i64, i64* %i, align 8, !dbg !44 + %6 = load i64, ptr %i, align 8, !dbg !44 %div = sdiv i64 %6, 239, !dbg !45 - %7 = load i32, i32* %sum, align 4, !dbg !46 + %7 = load i32, ptr %sum, align 4, !dbg !46 %conv2 = sext i32 %7 to i64, !dbg !46 %mul = mul nsw i64 %conv2, %div, !dbg !46 %conv3 = trunc i64 %mul to i32, !dbg !46 - store i32 %conv3, i32* %sum, align 4, !dbg !46 + store i32 %conv3, ptr %sum, align 4, !dbg !46 br label %for.inc, !dbg !47 for.inc: ; preds = %if.end - %8 = load i64, i64* %i, align 8, !dbg !48 + %8 = load i64, ptr %i, align 8, !dbg !48 %inc = add nsw i64 %8, 1, !dbg !48 - store i64 %inc, i64* %i, align 8, !dbg !48 + store i64 %inc, ptr %i, align 8, !dbg !48 br label %for.cond, !dbg !50 for.end: ; preds = %for.cond - %9 = load i32, i32* %sum, align 4, !dbg !51 - %call4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i32 %9), !dbg !52 + %9 = load i32, ptr %sum, align 4, !dbg !51 + %call4 = call i32 (ptr, ...) @printf(ptr @.str, i32 %9), !dbg !52 ret i32 0, !dbg !53 } -declare i32 @printf(i8*, ...) +declare i32 @printf(ptr, ...) attributes #0 = { nounwind readnone } attributes #1 = {"use-sample-profile"} diff --git a/llvm/test/Transforms/SampleProfile/coverage-warning.ll b/llvm/test/Transforms/SampleProfile/coverage-warning.ll index 888d262e9d4c0..fe54a05caac08 100644 --- a/llvm/test/Transforms/SampleProfile/coverage-warning.ll +++ b/llvm/test/Transforms/SampleProfile/coverage-warning.ll @@ -8,21 +8,21 @@ define i32 @foo(i32 %i) #0 !dbg !4 { entry: %retval = alloca i32, align 4 %i.addr = alloca i32, align 4 - store i32 %i, i32* %i.addr, align 4 - %0 = load i32, i32* %i.addr, align 4, !dbg !9 + store i32 %i, ptr %i.addr, align 4 + %0 = load i32, ptr %i.addr, align 4, !dbg !9 %cmp = icmp sgt i32 %0, 1000, !dbg !10 br i1 %cmp, label %if.then, label %if.end, !dbg !9 if.then: ; preds = %entry - store i32 30, i32* %retval, align 4, !dbg !11 + store i32 30, ptr %retval, align 4, !dbg !11 br label %return, !dbg !11 if.end: ; preds = %entry - store i32 3, i32* %retval, align 4, !dbg !12 + store i32 3, ptr %retval, align 4, !dbg !12 br label %return, !dbg !12 return: ; preds = %if.end, %if.then - %1 = load i32, i32* %retval, align 4, !dbg !13 + %1 = load i32, ptr %retval, align 4, !dbg !13 ret i32 %1, !dbg !13 } diff --git a/llvm/test/Transforms/SampleProfile/csspgo-inline-debug.ll b/llvm/test/Transforms/SampleProfile/csspgo-inline-debug.ll index e5f2f7571eafe..fe3102355dccd 100644 --- a/llvm/test/Transforms/SampleProfile/csspgo-inline-debug.ll +++ b/llvm/test/Transforms/SampleProfile/csspgo-inline-debug.ll @@ -60,7 +60,7 @@ while.cond2.preheader: ; preds = %entry while.body: ; preds = %while.body, %entry %x.addr.016 = phi i32 [ %sub, %while.body ], [ %x, %entry ] - %tmp = load volatile i32, i32* @factor, align 4, !dbg !64 + %tmp = load volatile i32, ptr @factor, align 4, !dbg !64 %call = tail call i32 @_Z3fibi(i32 %tmp), !dbg !67 %sub = sub nsw i32 %x.addr.016, %call, !dbg !68 %cmp1 = icmp sgt i32 %sub, 0, !dbg !69 @@ -68,7 +68,7 @@ while.body: ; preds = %while.body, %entry while.body4: ; preds = %while.body4, %while.cond2.preheader %x.addr.114 = phi i32 [ %add, %while.body4 ], [ %x, %while.cond2.preheader ] - %tmp1 = load volatile i32, i32* @factor, align 4, !dbg !72 + %tmp1 = load volatile i32, ptr @factor, align 4, !dbg !72 %call5 = tail call i32 @_Z3fibi(i32 %tmp1), !dbg !74 %add = add nsw i32 %call5, %x.addr.114, !dbg !75 %cmp3 = icmp slt i32 %add, 0, !dbg !60 diff --git a/llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll b/llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll index 6e42ee15c39b7..32b47bcfc6d84 100644 --- a/llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll +++ b/llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll @@ -4,18 +4,18 @@ ; RUN: opt < %s -passes=sample-profile -sample-profile-file=%t.md5 -sample-profile-icp-relative-hotness=1 -pass-remarks=sample-profile -sample-profile-inline-size=0 -S -o /dev/null 2>&1 | FileCheck -check-prefix=ICP-HOT %s -define void @test(void ()*) #0 !dbg !3 { +define void @test(ptr) #0 !dbg !3 { ;; Add two direct call to force top-down order for sample profile loader call void @_Z3foov(), !dbg !7 call void @_Z3barv(), !dbg !7 call void @_Z3bazv(), !dbg !7 - %2 = alloca void ()* - store void ()* %0, void ()** %2 - %3 = load void ()*, void ()** %2 + %2 = alloca ptr + store ptr %0, ptr %2 + %3 = load ptr, ptr %2 call void %3(), !dbg !4 - %4 = alloca void ()* - store void ()* %0, void ()** %4 - %5 = load void ()*, void ()** %4 + %4 = alloca ptr + store ptr %0, ptr %4 + %5 = load ptr, ptr %4 call void %5(), !dbg !5 ret void } diff --git a/llvm/test/Transforms/SampleProfile/csspgo-inline.ll b/llvm/test/Transforms/SampleProfile/csspgo-inline.ll index 1894ec6e3ce99..c88de5f56c743 100644 --- a/llvm/test/Transforms/SampleProfile/csspgo-inline.ll +++ b/llvm/test/Transforms/SampleProfile/csspgo-inline.ll @@ -81,7 +81,7 @@ while.cond2.preheader: ; preds = %entry while.body: ; preds = %while.body, %entry %x.addr.016 = phi i32 [ %sub, %while.body ], [ %x, %entry ] - %tmp = load volatile i32, i32* @factor, align 4, !dbg !64 + %tmp = load volatile i32, ptr @factor, align 4, !dbg !64 %call = tail call i32 @_Z3fibi(i32 %tmp), !dbg !67 %sub = sub nsw i32 %x.addr.016, %call, !dbg !68 %cmp1 = icmp sgt i32 %sub, 0, !dbg !69 @@ -89,7 +89,7 @@ while.body: ; preds = %while.body, %entry while.body4: ; preds = %while.body4, %while.cond2.preheader %x.addr.114 = phi i32 [ %add, %while.body4 ], [ %x, %while.cond2.preheader ] - %tmp1 = load volatile i32, i32* @factor, align 4, !dbg !72 + %tmp1 = load volatile i32, ptr @factor, align 4, !dbg !72 %call5 = tail call i32 @_Z3fibi(i32 %tmp1), !dbg !74 %add = add nsw i32 %call5, %x.addr.114, !dbg !75 %cmp3 = icmp slt i32 %add, 0, !dbg !60 diff --git a/llvm/test/Transforms/SampleProfile/csspgo-summary.ll b/llvm/test/Transforms/SampleProfile/csspgo-summary.ll index 411bb4d5e362c..f18425ed3a90a 100644 --- a/llvm/test/Transforms/SampleProfile/csspgo-summary.ll +++ b/llvm/test/Transforms/SampleProfile/csspgo-summary.ll @@ -47,7 +47,7 @@ while.cond2.preheader: ; preds = %entry while.body: ; preds = %while.body, %entry %x.addr.016 = phi i32 [ %sub, %while.body ], [ %x, %entry ] - %tmp = load volatile i32, i32* @factor, align 4, !dbg !64 + %tmp = load volatile i32, ptr @factor, align 4, !dbg !64 %call = tail call i32 @_Z3fibi(i32 %tmp), !dbg !67 %sub = sub nsw i32 %x.addr.016, %call, !dbg !68 %cmp1 = icmp sgt i32 %sub, 0, !dbg !69 @@ -55,7 +55,7 @@ while.body: ; preds = %while.body, %entry while.body4: ; preds = %while.body4, %while.cond2.preheader %x.addr.114 = phi i32 [ %add, %while.body4 ], [ %x, %while.cond2.preheader ] - %tmp1 = load volatile i32, i32* @factor, align 4, !dbg !72 + %tmp1 = load volatile i32, ptr @factor, align 4, !dbg !72 %call5 = tail call i32 @_Z3fibi(i32 %tmp1), !dbg !74 %add = add nsw i32 %call5, %x.addr.114, !dbg !75 %cmp3 = icmp slt i32 %add, 0, !dbg !60 diff --git a/llvm/test/Transforms/SampleProfile/csspgo-use-preinliner.ll b/llvm/test/Transforms/SampleProfile/csspgo-use-preinliner.ll index 4b6f57ac740b2..da9c37937d2ae 100644 --- a/llvm/test/Transforms/SampleProfile/csspgo-use-preinliner.ll +++ b/llvm/test/Transforms/SampleProfile/csspgo-use-preinliner.ll @@ -59,7 +59,7 @@ while.cond2.preheader: ; preds = %entry while.body: ; preds = %while.body, %entry %x.addr.016 = phi i32 [ %sub, %while.body ], [ %x, %entry ] - %tmp = load volatile i32, i32* @factor, align 4, !dbg !64 + %tmp = load volatile i32, ptr @factor, align 4, !dbg !64 %call = tail call i32 @_Z3fibi(i32 %tmp), !dbg !67 %sub = sub nsw i32 %x.addr.016, %call, !dbg !68 %cmp1 = icmp sgt i32 %sub, 0, !dbg !69 @@ -67,7 +67,7 @@ while.body: ; preds = %while.body, %entry while.body4: ; preds = %while.body4, %while.cond2.preheader %x.addr.114 = phi i32 [ %add, %while.body4 ], [ %x, %while.cond2.preheader ] - %tmp1 = load volatile i32, i32* @factor, align 4, !dbg !72 + %tmp1 = load volatile i32, ptr @factor, align 4, !dbg !72 %call5 = tail call i32 @_Z3fibi(i32 %tmp1), !dbg !74 %add = add nsw i32 %call5, %x.addr.114, !dbg !75 %cmp3 = icmp slt i32 %add, 0, !dbg !60 diff --git a/llvm/test/Transforms/SampleProfile/discriminator.ll b/llvm/test/Transforms/SampleProfile/discriminator.ll index b644d9ae45da7..4dd66cb6e98ee 100644 --- a/llvm/test/Transforms/SampleProfile/discriminator.ll +++ b/llvm/test/Transforms/SampleProfile/discriminator.ll @@ -26,38 +26,38 @@ define i32 @foo(i32 %i) #0 !dbg !4 { entry: %i.addr = alloca i32, align 4 %x = alloca i32, align 4 - store i32 %i, i32* %i.addr, align 4 - store i32 0, i32* %x, align 4, !dbg !10 + store i32 %i, ptr %i.addr, align 4 + store i32 0, ptr %x, align 4, !dbg !10 br label %while.cond, !dbg !11 while.cond: ; preds = %if.end, %entry - %0 = load i32, i32* %i.addr, align 4, !dbg !12 + %0 = load i32, ptr %i.addr, align 4, !dbg !12 %cmp = icmp slt i32 %0, 100, !dbg !12 br i1 %cmp, label %while.body, label %while.end, !dbg !12 ; CHECK: edge while.cond -> while.body probability is 0x7d83ba68 / 0x80000000 = 98.06% [HOT edge] ; CHECK: edge while.cond -> while.end probability is 0x027c4598 / 0x80000000 = 1.94% while.body: ; preds = %while.cond - %1 = load i32, i32* %i.addr, align 4, !dbg !14 + %1 = load i32, ptr %i.addr, align 4, !dbg !14 %cmp1 = icmp slt i32 %1, 50, !dbg !14 br i1 %cmp1, label %if.then, label %if.end, !dbg !14 ; CHECK: edge while.body -> if.then probability is 0x07878788 / 0x80000000 = 5.88% ; CHECK: edge while.body -> if.end probability is 0x78787878 / 0x80000000 = 94.12% [HOT edge] if.then: ; preds = %while.body - %2 = load i32, i32* %x, align 4, !dbg !17 + %2 = load i32, ptr %x, align 4, !dbg !17 %dec = add nsw i32 %2, -1, !dbg !17 - store i32 %dec, i32* %x, align 4, !dbg !17 + store i32 %dec, ptr %x, align 4, !dbg !17 br label %if.end, !dbg !17 if.end: ; preds = %if.then, %while.body - %3 = load i32, i32* %i.addr, align 4, !dbg !19 + %3 = load i32, ptr %i.addr, align 4, !dbg !19 %inc = add nsw i32 %3, 1, !dbg !19 - store i32 %inc, i32* %i.addr, align 4, !dbg !19 + store i32 %inc, ptr %i.addr, align 4, !dbg !19 br label %while.cond, !dbg !20 while.end: ; preds = %while.cond - %4 = load i32, i32* %x, align 4, !dbg !21 + %4 = load i32, ptr %x, align 4, !dbg !21 ret i32 %4, !dbg !21 } diff --git a/llvm/test/Transforms/SampleProfile/early-inline.ll b/llvm/test/Transforms/SampleProfile/early-inline.ll index 204e0bb2951e1..884353ae76cdd 100644 --- a/llvm/test/Transforms/SampleProfile/early-inline.ll +++ b/llvm/test/Transforms/SampleProfile/early-inline.ll @@ -5,11 +5,11 @@ target triple = "x86_64-unknown-linux-gnu" -@_ZTIi = external constant i8* +@_ZTIi = external constant ptr ; Function Attrs: uwtable -define void @_Z3foov() #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !6 { - %1 = alloca i8* +define void @_Z3foov() #0 personality ptr @__gxx_personality_v0 !dbg !6 { + %1 = alloca ptr %2 = alloca i32 %3 = alloca i32, align 4 ; CHECK: call void @no_inline @@ -24,8 +24,8 @@ define void @_Z3foov() #0 personality i8* bitcast (i32 (...)* @__gxx_personality ret void ;