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

@@ -11,8 +11,8 @@ isa intel haswell
; Tests from binary32.cton affected by allones_funcaddrs.
function %I32() {
fn0 = function %foo()
sig0 = ()
fn0 = function %foo()
ebb0:

View File

@@ -12,8 +12,8 @@ isa intel haswell
; Tests from binary64.cton affected by allones_funcaddrs.
function %I64() {
fn0 = function %foo()
sig0 = ()
fn0 = function %foo()
ebb0:

View File

@@ -9,8 +9,8 @@ isa intel haswell
;
function %I32() {
fn0 = function %foo()
sig0 = ()
fn0 = function %foo()
gv0 = globalsym %some_gv

View File

@@ -12,8 +12,8 @@ isa intel haswell
; Tests for i64 instructions.
function %I64() {
fn0 = function %foo()
sig0 = ()
fn0 = function %foo()
gv0 = globalsym %some_gv

View File

@@ -11,8 +11,8 @@ isa intel haswell
; Tests for i64 instructions.
function %I64() {
fn0 = function %foo()
sig0 = ()
fn0 = function %foo()
gv0 = globalsym %some_gv
@@ -641,8 +641,8 @@ ebb1:
; encodings which are chosen by default. Switching to non-REX encodings should
; be done by an instruction shrinking pass.
function %I32() {
fn0 = function %foo()
sig0 = ()
fn0 = function %foo()
ss0 = incoming_arg 8, offset 0
ss1 = incoming_arg 1024, offset -1024

View File

@@ -76,9 +76,9 @@ ebb0(v0: i32, v999: i64):
; check: $ebb0(
; nextln: trap heap_oob
; check: ebb1:
; nextln: v2 = iconst.i64 0
; nextln: v3 = load.f32 v2+16
; nextln: return v3
; nextln: v1 = iconst.i64 0
; nextln: v2 = load.f32 v1+16
; nextln: return v2
; nextln: }
v1 = heap_addr.i64 heap0, v0, 0x1000_0001
v2 = load.f32 v1+16