Suppress printing of placeholder external functions.
With the change to the parser to preserve indices, it now inserts placeholders to pad out index spaces as needed. Placeholder functions use reserved signature indices, so skip them when writing them out, to avoid writing them out as "sig4294967295".
This commit is contained in:
@@ -33,6 +33,7 @@ function %signatures() {
|
||||
; check: sig10 = () native
|
||||
; check: sig11 = (i32, f64) -> i32, b1 spiderwasm
|
||||
; check: sig12 = (i32) -> b1 native
|
||||
; not: fn0
|
||||
; check: fn5 = sig11 %foo
|
||||
; check: fn8 = sig12 %bar
|
||||
; check: }
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
//! equivalent textual representation. This textual representation can be read back by the
|
||||
//! `cretonne-reader` crate.
|
||||
|
||||
use ir::{Function, DataFlowGraph, Ebb, Inst, Value, ValueDef, Type};
|
||||
use ir::{Function, DataFlowGraph, Ebb, Inst, Value, ValueDef, Type, SigRef};
|
||||
use isa::{TargetIsa, RegInfo};
|
||||
use std::fmt::{self, Result, Error, Write};
|
||||
use std::result;
|
||||
use packed_option::ReservedValue;
|
||||
|
||||
/// Write `func` to `w` as equivalent text.
|
||||
/// Use `isa` to emit ISA-dependent annotations.
|
||||
@@ -74,7 +75,10 @@ fn write_preamble(
|
||||
|
||||
for fnref in func.dfg.ext_funcs.keys() {
|
||||
any = true;
|
||||
writeln!(w, " {} = {}", fnref, func.dfg.ext_funcs[fnref])?;
|
||||
let ext_func = &func.dfg.ext_funcs[fnref];
|
||||
if ext_func.signature != SigRef::reserved_value() {
|
||||
writeln!(w, " {} = {}", fnref, ext_func)?;
|
||||
}
|
||||
}
|
||||
|
||||
for jt in func.jump_tables.keys() {
|
||||
|
||||
Reference in New Issue
Block a user