Don't renumber entities in the parser.

This makes it easier to debug testcases:
 - the entity numbers in a .cton file match the entity numbers used
   within Cretonne.
 - serializing and deserializing doesn't cause indices to change.

One disadvantage is that if a .cton file uses sparse entity numbers,
deserializing to the in-memory form doesn't compact it. However, the
text format is not intended to be performance-critical, so this isn't
expected to be a big burden.
This commit is contained in:
Dan Gohman
2018-02-15 21:13:25 -08:00
parent c846ec1626
commit a5b00b173e
22 changed files with 677 additions and 650 deletions

View File

@@ -25,22 +25,22 @@ ebb3(v30: i32):
}
; sameln:function %multiple_blocks(i32) -> i32 {
; nextln: ebb0(v0: i32):
; nextln: v2 = iconst.i32 1
; nextln: v3 = iconst.i32 2
; nextln: v4 = iadd v2, v3
; nextln: v9 = iadd v2, v4
; nextln: v11 = iconst.i32 1
; nextln: v12 = iconst.i32 2
; nextln: v13 = iadd v11, v12
; nextln: v31 = iadd v11, v13
; nextln: jump ebb1(v0)
; nextln:
; nextln: ebb1(v1: i32):
; nextln: brz v1, ebb2(v1)
; nextln: v5 = isub v1, v2
; nextln: brz v5, ebb3(v5)
; nextln: v6 = isub v1, v2
; nextln: jump ebb1(v6)
; nextln: ebb1(v10: i32):
; nextln: brz v10, ebb2(v10)
; nextln: v15 = isub v10, v11
; nextln: brz v15, ebb3(v15)
; nextln: v14 = isub v10, v11
; nextln: jump ebb1(v14)
; nextln:
; nextln: ebb2(v7: i32):
; nextln: return v7
; nextln: ebb2(v20: i32):
; nextln: return v20
; nextln:
; nextln: ebb3(v8: i32):
; nextln: jump ebb1(v8)
; nextln: ebb3(v30: i32):
; nextln: jump ebb1(v30)
; nextln: }

View File

@@ -33,23 +33,23 @@ ebb4(v30: i32):
; nextln: v2 = iconst.i32 1
; nextln: v3 = iconst.i32 2
; nextln: v4 = iadd v2, v3
; nextln: v8 = iconst.i32 1
; nextln: v12 = iconst.i32 1
; nextln: jump ebb1(v0)
; nextln:
; nextln: ebb1(v1: i32):
; nextln: v5 = isub v1, v2
; nextln: v9 = iadd.i32 v8, v5
; nextln: v15 = iadd.i32 v12, v5
; nextln: jump ebb2(v5, v5)
; nextln:
; nextln: ebb2(v6: i32, v7: i32):
; nextln: brz v7, ebb3(v6)
; nextln: v10 = isub v7, v8
; nextln: jump ebb2(v6, v10)
; nextln: ebb2(v10: i32, v11: i32):
; nextln: brz v11, ebb3(v10)
; nextln: v13 = isub v11, v12
; nextln: jump ebb2(v10, v13)
; nextln:
; nextln: ebb3(v11: i32):
; nextln: brz v11, ebb4(v11)
; nextln: jump ebb1(v11)
; nextln: ebb3(v20: i32):
; nextln: brz v20, ebb4(v20)
; nextln: jump ebb1(v20)
; nextln:
; nextln: ebb4(v12: i32):
; nextln: return v12
; nextln: ebb4(v30: i32):
; nextln: return v30
; nextln: }