Fixed extra lines after IR blocks

This commit is contained in:
Sasha Koshka 2024-01-28 03:18:39 -05:00
parent 1b4a0621de
commit e9a9fc75c6
3 changed files with 1 additions and 18 deletions

View File

@ -8,14 +8,11 @@ testString (test,
0:
%1 = alloca i64
br i1 true, label %2, label %4
2:
store i64 5, ptr %1
br label %3
3:
ret void
4:
store i64 6, ptr %1
br label %3
@ -39,11 +36,9 @@ testString (test,
0:
%1 = alloca i64
br i1 true, label %2, label %3
2:
store i64 5, ptr %1
br label %3
3:
ret void
}
@ -64,15 +59,12 @@ testString (test,
0:
%1 = alloca i64
br i1 true, label %2, label %5
2:
br label %3
3:
%4 = phi i64 [ 5, %2 ], [ 6, %5 ]
store i64 %4, ptr %1
ret void
5:
br label %3
}
@ -89,10 +81,8 @@ testString (test,
`define void @main() {
0:
br label %1
1:
br label %1
2:
ret void
}

View File

@ -115,16 +115,13 @@ define void @print(%String %string) {
store %String %string, ptr %1
%2 = alloca %String
br label %3
3:
%4 = getelementptr { ptr, %Index }, ptr %1, i32 0, i32 1
%5 = load %Index, ptr %4
%6 = icmp ult %Index %5, 1
br i1 %6, label %7, label %8
7:
br label %21
8:
%9 = getelementptr { ptr, %Index }, ptr %1, i32 0, i32 0
%10 = load ptr, ptr %9
@ -142,7 +139,6 @@ define void @print(%String %string) {
%20 = load %String, ptr %2
store %String %20, ptr %1
br label %3
21:
ret void
}

View File

@ -109,10 +109,7 @@ func (this *Function) headerString () string {
func (this *Function) bodyString () string {
buffer := &strings.Builder { }
buffer.WriteString("{\n")
for i, block := range this.Blocks {
if i != 0 {
buffer.WriteString("\n")
}
for _, block := range this.Blocks {
fmt.Fprintf(buffer, "%s", block.LLString())
}
buffer.WriteString("}\n")