Move the ctrl_typevar function into dfg.

Soon, InstructionData won't have sufficient information to compute this.

Give TargetIsa::encode() an explicit ctrl_typevar argument. This
function does not require the instruction to be inserted in the DFG
tables.
This commit is contained in:
Jakob Stoklund Olesen
2017-04-12 13:14:03 -07:00
parent e653d44f39
commit 28ff7b7925
11 changed files with 69 additions and 53 deletions

View File

@@ -64,7 +64,7 @@ pub fn legalize_function(func: &mut Function, cfg: &mut ControlFlowGraph, isa: &
split::simplify_branch_arguments(&mut func.dfg, inst);
}
match isa.encode(&func.dfg, &func.dfg[inst]) {
match isa.encode(&func.dfg, &func.dfg[inst], func.dfg.ctrl_typevar(inst)) {
Ok(encoding) => *func.encodings.ensure(inst) = encoding,
Err(action) => {
// We should transform the instruction into legal equivalents.