Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions cl/_testdata/print/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ func bytes(s string) (ret []byte) {
// CHECK-NEXT: %9 = icmp slt i64 %5, 0
// CHECK-NEXT: %10 = icmp uge i64 %5, %8
// CHECK-NEXT: %11 = or i1 %10, %9
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %11)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %11, {{.*}})
// CHECK-NEXT: %12 = getelementptr inbounds i8, ptr %7, i64 %5
// CHECK-NEXT: %13 = load i8, ptr %12, align 1
// CHECK-NEXT: %14 = call i32 (ptr, ...) @printf(ptr @0, i8 %13)
Expand Down Expand Up @@ -983,7 +983,7 @@ func printbool(v bool) {
// CHECK-NEXT: %47 = icmp slt i64 %44, 0
// CHECK-NEXT: %48 = icmp uge i64 %44, 14
// CHECK-NEXT: %49 = or i1 %48, %47
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %49)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %49, {{.*}})
// CHECK-NEXT: %50 = getelementptr inbounds i8, ptr %8, i64 %44
// CHECK-NEXT: store i8 %46, ptr %50, align 1
// CHECK-NEXT: %51 = sitofp i64 %43 to double
Expand Down Expand Up @@ -1116,13 +1116,13 @@ func printfloat(v float64) {
// CHECK-NEXT: _llgo_1: ; preds = %_llgo_3
// CHECK-NEXT: %2 = urem i64 %22, 16
// CHECK-NEXT: %3 = icmp uge i64 %2, 16
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %3)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %3, {{.*}})
// CHECK-NEXT: %4 = getelementptr inbounds i8, ptr @28, i64 %2
// CHECK-NEXT: %5 = load i8, ptr %4, align 1
// CHECK-NEXT: %6 = icmp slt i64 %23, 0
// CHECK-NEXT: %7 = icmp uge i64 %23, 100
// CHECK-NEXT: %8 = or i1 %7, %6
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %8)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %8, {{.*}})
// CHECK-NEXT: %9 = getelementptr inbounds i8, ptr %1, i64 %23
// CHECK-NEXT: store i8 %5, ptr %9, align 1
// CHECK-NEXT: %10 = icmp ult i64 %22, 16
Expand All @@ -1133,17 +1133,17 @@ func printfloat(v float64) {
// CHECK-NEXT: %12 = icmp slt i64 %11, 0
// CHECK-NEXT: %13 = icmp uge i64 %11, 100
// CHECK-NEXT: %14 = or i1 %13, %12
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %14)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %14, {{.*}})
// CHECK-NEXT: %15 = getelementptr inbounds i8, ptr %1, i64 %11
// CHECK-NEXT: store i8 120, ptr %15, align 1
// CHECK-NEXT: %16 = sub i64 %11, 1
// CHECK-NEXT: %17 = icmp slt i64 %16, 0
// CHECK-NEXT: %18 = icmp uge i64 %16, 100
// CHECK-NEXT: %19 = or i1 %18, %17
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %19)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %19, {{.*}})
// CHECK-NEXT: %20 = getelementptr inbounds i8, ptr %1, i64 %16
// CHECK-NEXT: store i8 48, ptr %20, align 1
// CHECK-NEXT: %21 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %1, i64 1, i64 100, i64 %16, i64 100, i64 100)
// CHECK-NEXT: %21 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: call void @"{{.*}}/cl/_testdata/print.gwrite"(%"{{.*}}/runtime/internal/runtime.Slice" %21)
// CHECK-NEXT: ret void
// CHECK-EMPTY:
Expand Down Expand Up @@ -1222,7 +1222,7 @@ func printint(v int64) {
// CHECK-NEXT: %7 = icmp slt i64 %3, 0
// CHECK-NEXT: %8 = icmp uge i64 %3, %6
// CHECK-NEXT: %9 = or i1 %8, %7
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %9)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %9, {{.*}})
// CHECK-NEXT: %10 = getelementptr inbounds %"{{.*}}/runtime/internal/runtime.eface", ptr %5, i64 %3
// CHECK-NEXT: %11 = load %"{{.*}}/runtime/internal/runtime.eface", ptr %10, align 8
// CHECK-NEXT: %12 = icmp ne i64 %3, 0
Expand Down Expand Up @@ -1290,14 +1290,14 @@ func printstring(s string) {
// CHECK-NEXT: %5 = icmp slt i64 %12, 0
// CHECK-NEXT: %6 = icmp uge i64 %12, 100
// CHECK-NEXT: %7 = or i1 %6, %5
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %7)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %7, {{.*}})
// CHECK-NEXT: %8 = getelementptr inbounds i8, ptr %1, i64 %12
// CHECK-NEXT: store i8 %4, ptr %8, align 1
// CHECK-NEXT: %9 = icmp ult i64 %11, 10
// CHECK-NEXT: br i1 %9, label %_llgo_2, label %_llgo_4
// CHECK-EMPTY:
// CHECK-NEXT: _llgo_2: ; preds = %_llgo_1, %_llgo_3
// CHECK-NEXT: %10 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %1, i64 1, i64 100, i64 %12, i64 100, i64 100)
// CHECK-NEXT: %10 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: call void @"{{.*}}/cl/_testdata/print.gwrite"(%"{{.*}}/runtime/internal/runtime.Slice" %10)
// CHECK-NEXT: ret void
// CHECK-EMPTY:
Expand Down
4 changes: 2 additions & 2 deletions cl/_testdata/utf8/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
// CHECK-NEXT: %2 = icmp slt i64 %1, 0
// CHECK-NEXT: %3 = icmp uge i64 %1, 8
// CHECK-NEXT: %4 = or i1 %3, %2
// CHECK-NEXT: call void @"{{.*}}.AssertIndexRange"(i1 %4)
// CHECK-NEXT: call void @"{{.*}}.CheckIndexRange"(i1 %4, {{.*}})
// CHECK-NEXT: %5 = getelementptr inbounds i8, ptr @"{{.*}}.array", i64 %1
// CHECK-NEXT: %6 = load i8, ptr %5, align 1
// CHECK-NEXT: ret i8 %6
Expand All @@ -37,7 +37,7 @@ var array = [...]uint8{
// CHECK-NEXT: br i1 %1, label %_llgo_2, label %_llgo_3
// CHECK-EMPTY:
// CHECK-NEXT: _llgo_2: ; preds = %_llgo_1
// CHECK-NEXT: %2 = call %"{{.*}}runtime/internal/runtime.String" @"{{.*}}runtime/internal/runtime.StringSlice"(%"{{.*}}runtime/internal/runtime.String" { ptr @0, i64 7 }, i64 %0, i64 7)
// CHECK-NEXT: %2 = call %"{{.*}}runtime/internal/runtime.String" @"{{.*}}runtime/internal/runtime.StringSlice2"({{.*}})
// CHECK-NEXT: %3 = call { i32, i64 } @"unicode/utf8.DecodeRuneInString"(%"{{.*}}runtime/internal/runtime.String" %2)
// CHECK-NEXT: %4 = extractvalue { i32, i64 } %3, 0
// CHECK-NEXT: %5 = extractvalue { i32, i64 } %3, 1
Expand Down
14 changes: 7 additions & 7 deletions cl/_testgo/cursor/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ func (c Cursor) Node() ast.Node {
// CHECK-NEXT: %58 = icmp slt i64 %57, 0
// CHECK-NEXT: %59 = icmp uge i64 %57, %56
// CHECK-NEXT: %60 = or i1 %59, %58
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %60)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %60, {{.*}})
// CHECK-NEXT: %61 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %55, i64 %57
// CHECK-NEXT: %62 = load %"{{.*}}/cl/_testgo/cursor.event", ptr %61, align 8
// CHECK-NEXT: store %"{{.*}}/cl/_testgo/cursor.event" %62, ptr %54, align 8
Expand Down Expand Up @@ -191,7 +191,7 @@ func (c Cursor) Node() ast.Node {
// CHECK-NEXT: %91 = icmp slt i64 %90, 0
// CHECK-NEXT: %92 = icmp uge i64 %90, %89
// CHECK-NEXT: %93 = or i1 %92, %91
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %93)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %93, {{.*}})
// CHECK-NEXT: %94 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %88, i64 %90
// CHECK-NEXT: %95 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %94, i32 0, i32 1
// CHECK-NEXT: %96 = load i64, ptr %95, align 8
Expand Down Expand Up @@ -565,7 +565,7 @@ const (
// CHECK-NEXT: %14 = icmp slt i64 %13, 0
// CHECK-NEXT: %15 = icmp uge i64 %13, %12
// CHECK-NEXT: %16 = or i1 %15, %14
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %16)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %16, {{.*}})
// CHECK-NEXT: %17 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %11, i64 %13
// CHECK-NEXT: %18 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %17, i32 0, i32 0
// CHECK-NEXT: %19 = load %"{{.*}}/runtime/internal/runtime.iface", ptr %18, align 8
Expand Down Expand Up @@ -620,7 +620,7 @@ const (
// CHECK-NEXT: %19 = icmp slt i64 %18, 0
// CHECK-NEXT: %20 = icmp uge i64 %18, %17
// CHECK-NEXT: %21 = or i1 %20, %19
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %21)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %21, {{.*}})
// CHECK-NEXT: %22 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %16, i64 %18
// CHECK-NEXT: %23 = load %"{{.*}}/cl/_testgo/cursor.event", ptr %22, align 8
// CHECK-NEXT: store %"{{.*}}/cl/_testgo/cursor.event" %23, ptr %15, align 8
Expand Down Expand Up @@ -654,7 +654,7 @@ const (
// CHECK-NEXT: %39 = icmp slt i64 %38, 0
// CHECK-NEXT: %40 = icmp uge i64 %38, %37
// CHECK-NEXT: %41 = or i1 %40, %39
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %41)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %41, {{.*}})
// CHECK-NEXT: %42 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %36, i64 %38
// CHECK-NEXT: %43 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %42, i32 0, i32 1
// CHECK-NEXT: %44 = load i64, ptr %43, align 8
Expand Down Expand Up @@ -720,7 +720,7 @@ const (
// CHECK-NEXT: %23 = icmp slt i64 %22, 0
// CHECK-NEXT: %24 = icmp uge i64 %22, %21
// CHECK-NEXT: %25 = or i1 %24, %23
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %25)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %25, {{.*}})
// CHECK-NEXT: %26 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %20, i64 %22
// CHECK-NEXT: %27 = getelementptr inbounds %"{{.*}}/cl/_testgo/cursor.event", ptr %26, i32 0, i32 2
// CHECK-NEXT: %28 = load i32, ptr %27, align 4
Expand Down Expand Up @@ -817,7 +817,7 @@ const (
// CHECK-NEXT: %10 = icmp slt i64 %6, 0
// CHECK-NEXT: %11 = icmp uge i64 %6, %9
// CHECK-NEXT: %12 = or i1 %11, %10
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %12)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %12, {{.*}})
// CHECK-NEXT: %13 = getelementptr inbounds %"{{.*}}/runtime/internal/runtime.iface", ptr %8, i64 %6
// CHECK-NEXT: %14 = load %"{{.*}}/runtime/internal/runtime.iface", ptr %13, align 8
// CHECK-NEXT: %15 = call i64 @"{{.*}}/cl/_testgo/cursor.typeOf"(%"{{.*}}/runtime/internal/runtime.iface" %14)
Expand Down
4 changes: 2 additions & 2 deletions cl/_testgo/equal/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,9 @@ func init() {
// CHECK-NEXT: %5 = insertvalue %"{{.*}}/runtime/internal/runtime.Slice" %4, i64 3, 1
// CHECK-NEXT: %6 = insertvalue %"{{.*}}/runtime/internal/runtime.Slice" %5, i64 3, 2
// CHECK-NEXT: %7 = call ptr @"{{.*}}/runtime/internal/runtime.AllocZ"(i64 16)
// CHECK-NEXT: %8 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %7, i64 8, i64 2, i64 0, i64 2, i64 2)
// CHECK-NEXT: %8 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: %9 = call ptr @"{{.*}}/runtime/internal/runtime.AllocZ"(i64 16)
// CHECK-NEXT: %10 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %9, i64 8, i64 2, i64 0, i64 0, i64 2)
// CHECK-NEXT: %10 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: call void @"{{.*}}/cl/_testgo/equal.assert"(i1 true)
// CHECK-NEXT: %11 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %6, 0
// CHECK-NEXT: %12 = icmp ne ptr %11, null
Expand Down
20 changes: 10 additions & 10 deletions cl/_testgo/reader/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ func (c nopCloserWriterTo) WriteTo(w Writer) (n int64, err error) {
// CHECK-LABEL: define { %"{{.*}}/runtime/internal/runtime.Slice", %"{{.*}}/runtime/internal/runtime.iface" } @"{{.*}}/cl/_testgo/reader.ReadAll"(%"{{.*}}/runtime/internal/runtime.iface" %0){{.*}} {
// CHECK-NEXT: _llgo_0:
// CHECK-NEXT: %1 = call ptr @"{{.*}}/runtime/internal/runtime.AllocZ"(i64 512)
// CHECK-NEXT: %2 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %1, i64 1, i64 512, i64 0, i64 0, i64 512)
// CHECK-NEXT: %2 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: br label %_llgo_1
// CHECK-EMPTY:
// CHECK-NEXT: _llgo_1: ; preds = %_llgo_6, %_llgo_3, %_llgo_0
Expand All @@ -211,7 +211,7 @@ func (c nopCloserWriterTo) WriteTo(w Writer) (n int64, err error) {
// CHECK-NEXT: %5 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %3, 2
// CHECK-NEXT: %6 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %3, 2
// CHECK-NEXT: %7 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %3, 0
// CHECK-NEXT: %8 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %7, i64 1, i64 %6, i64 %4, i64 %5, i64 %6)
// CHECK-NEXT: %8 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: %9 = call ptr @"{{.*}}/runtime/internal/runtime.IfacePtrData"(%"{{.*}}/runtime/internal/runtime.iface" %0)
// CHECK-NEXT: %10 = extractvalue %"{{.*}}/runtime/internal/runtime.iface" %0, 0
// CHECK-NEXT: %11 = getelementptr ptr, ptr %10, i64 3
Expand All @@ -227,7 +227,7 @@ func (c nopCloserWriterTo) WriteTo(w Writer) (n int64, err error) {
// CHECK-NEXT: %21 = add i64 %20, %18
// CHECK-NEXT: %22 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %3, 2
// CHECK-NEXT: %23 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %3, 0
// CHECK-NEXT: %24 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %23, i64 1, i64 %22, i64 0, i64 %21, i64 %22)
// CHECK-NEXT: %24 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: %25 = call ptr @"{{.*}}/runtime/internal/runtime.IfaceType"(%"{{.*}}/runtime/internal/runtime.iface" %19)
// CHECK-NEXT: %26 = extractvalue %"{{.*}}/runtime/internal/runtime.iface" %19, 1
// CHECK-NEXT: %27 = insertvalue %"{{.*}}/runtime/internal/runtime.eface" undef, ptr %25, 0
Expand Down Expand Up @@ -280,7 +280,7 @@ func (c nopCloserWriterTo) WriteTo(w Writer) (n int64, err error) {
// CHECK-NEXT: %58 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %24, 1
// CHECK-NEXT: %59 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %57, 2
// CHECK-NEXT: %60 = extractvalue %"{{.*}}/runtime/internal/runtime.Slice" %57, 0
// CHECK-NEXT: %61 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice3"(ptr %60, i64 1, i64 %59, i64 0, i64 %58, i64 %59)
// CHECK-NEXT: %61 = call %"{{.*}}/runtime/internal/runtime.Slice" @"{{.*}}/runtime/internal/runtime.NewSlice{{.*}}"({{.*}})
// CHECK-NEXT: br label %_llgo_1
// CHECK-NEXT: }

Expand Down Expand Up @@ -774,7 +774,7 @@ func main() {
// CHECK-NEXT: %13 = getelementptr inbounds %"{{.*}}/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1
// CHECK-NEXT: %14 = load i64, ptr %13, align 8
// CHECK-NEXT: %15 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %12, 1
// CHECK-NEXT: %16 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice"(%"{{.*}}/runtime/internal/runtime.String" %12, i64 %14, i64 %15)
// CHECK-NEXT: %16 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice2"({{.*}})
// CHECK-NEXT: %17 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %16, 0
// CHECK-NEXT: %18 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %16, 1
// CHECK-NEXT: %19 = call i64 @"{{.*}}/runtime/internal/runtime.SliceCopy"(%"{{.*}}/runtime/internal/runtime.Slice" %1, ptr %17, i64 %18, i64 1)
Expand Down Expand Up @@ -814,7 +814,7 @@ func main() {
// CHECK-NEXT: %12 = getelementptr inbounds %"{{.*}}/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 0
// CHECK-NEXT: %13 = load %"{{.*}}/runtime/internal/runtime.String", ptr %12, align 8
// CHECK-NEXT: %14 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %13, 1
// CHECK-NEXT: %15 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice"(%"{{.*}}/runtime/internal/runtime.String" %13, i64 %2, i64 %14)
// CHECK-NEXT: %15 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice2"({{.*}})
// CHECK-NEXT: %16 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %15, 0
// CHECK-NEXT: %17 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %15, 1
// CHECK-NEXT: %18 = call i64 @"{{.*}}/runtime/internal/runtime.SliceCopy"(%"{{.*}}/runtime/internal/runtime.Slice" %1, ptr %16, i64 %17, i64 1)
Expand Down Expand Up @@ -860,7 +860,7 @@ func main() {
// CHECK-NEXT: %16 = icmp slt i64 %11, 0
// CHECK-NEXT: %17 = icmp uge i64 %11, %15
// CHECK-NEXT: %18 = or i1 %17, %16
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %18)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %18, {{.*}})
// CHECK-NEXT: %19 = getelementptr inbounds i8, ptr %14, i64 %11
// CHECK-NEXT: %20 = load i8, ptr %19, align 1
// CHECK-NEXT: %21 = getelementptr inbounds %"{{.*}}/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1
Expand Down Expand Up @@ -904,7 +904,7 @@ func main() {
// CHECK-NEXT: %19 = icmp slt i64 %14, 0
// CHECK-NEXT: %20 = icmp uge i64 %14, %18
// CHECK-NEXT: %21 = or i1 %20, %19
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.AssertIndexRange"(i1 %21)
// CHECK-NEXT: call void @"{{.*}}/runtime/internal/runtime.CheckIndexRange"(i1 %21, {{.*}})
// CHECK-NEXT: %22 = getelementptr inbounds i8, ptr %17, i64 %14
// CHECK-NEXT: %23 = load i8, ptr %22, align 1
// CHECK-NEXT: %24 = icmp ult i8 %23, -128
Expand All @@ -928,7 +928,7 @@ func main() {
// CHECK-NEXT: %35 = getelementptr inbounds %"{{.*}}/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1
// CHECK-NEXT: %36 = load i64, ptr %35, align 8
// CHECK-NEXT: %37 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %34, 1
// CHECK-NEXT: %38 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice"(%"{{.*}}/runtime/internal/runtime.String" %34, i64 %36, i64 %37)
// CHECK-NEXT: %38 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice2"({{.*}})
// CHECK-NEXT: %39 = call { i32, i64 } @"unicode/utf8.DecodeRuneInString"(%"{{.*}}/runtime/internal/runtime.String" %38)
// CHECK-NEXT: %40 = extractvalue { i32, i64 } %39, 0
// CHECK-NEXT: %41 = extractvalue { i32, i64 } %39, 1
Expand Down Expand Up @@ -1079,7 +1079,7 @@ func main() {
// CHECK-NEXT: %11 = getelementptr inbounds %"{{.*}}/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1
// CHECK-NEXT: %12 = load i64, ptr %11, align 8
// CHECK-NEXT: %13 = extractvalue %"{{.*}}/runtime/internal/runtime.String" %10, 1
// CHECK-NEXT: %14 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice"(%"{{.*}}/runtime/internal/runtime.String" %10, i64 %12, i64 %13)
// CHECK-NEXT: %14 = call %"{{.*}}/runtime/internal/runtime.String" @"{{.*}}/runtime/internal/runtime.StringSlice2"({{.*}})
// CHECK-NEXT: %15 = call { i64, %"{{.*}}/runtime/internal/runtime.iface" } @"{{.*}}/cl/_testgo/reader.WriteString"(%"{{.*}}/runtime/internal/runtime.iface" %1, %"{{.*}}/runtime/internal/runtime.String" %14)
// CHECK-NEXT: %16 = extractvalue { i64, %"{{.*}}/runtime/internal/runtime.iface" } %15, 0
// CHECK-NEXT: %17 = extractvalue { i64, %"{{.*}}/runtime/internal/runtime.iface" } %15, 1
Expand Down
Loading
Loading