Lines Matching refs:dfg

962         let dfg = self.0;  in fmt()  localVariable
966 if let Some((first, rest)) = dfg.inst_results(inst).split_first() { in fmt()
974 let typevar = dfg.ctrl_typevar(inst); in fmt()
976 write!(f, "{}", dfg[inst].opcode())?; in fmt()
978 write!(f, "{}.{}", dfg[inst].opcode(), typevar)?; in fmt()
980 write_operands(f, dfg, isa, inst) in fmt()
1135 let mut dfg = DataFlowGraph::new(); in make_inst() localVariable
1141 let inst = dfg.make_inst(idata); in make_inst()
1143 dfg.make_inst_results(inst, types::I32); in make_inst()
1146 dfg.display_inst(inst, None).to_string(), in make_inst()
1152 let immdfg = &dfg; in make_inst()
1158 let val = dfg.first_result(inst); in make_inst()
1159 assert_eq!(dfg.inst_results(inst), &[val]); in make_inst()
1161 assert_eq!(dfg.value_def(val), ValueDef::Result(inst, 0)); in make_inst()
1162 assert_eq!(dfg.value_type(val), types::I32); in make_inst()
1165 assert!(dfg.value_is_attached(val)); in make_inst()
1166 let v2 = dfg.replace_result(val, types::F64); in make_inst()
1167 assert!(!dfg.value_is_attached(val)); in make_inst()
1168 assert!(dfg.value_is_attached(v2)); in make_inst()
1169 assert_eq!(dfg.inst_results(inst), &[v2]); in make_inst()
1170 assert_eq!(dfg.value_def(v2), ValueDef::Result(inst, 0)); in make_inst()
1171 assert_eq!(dfg.value_type(v2), types::F64); in make_inst()
1176 let mut dfg = DataFlowGraph::new(); in no_results() localVariable
1182 let inst = dfg.make_inst(idata); in no_results()
1183 assert_eq!(dfg.display_inst(inst, None).to_string(), "trap user0"); in no_results()
1186 assert_eq!(dfg.inst_results(inst), &[]); in no_results()
1191 let mut dfg = DataFlowGraph::new(); in block() localVariable
1193 let block = dfg.make_block(); in block()
1195 assert_eq!(dfg.num_block_params(block), 0); in block()
1196 assert_eq!(dfg.block_params(block), &[]); in block()
1197 assert!(dfg.detach_block_params(block).is_empty()); in block()
1198 assert_eq!(dfg.num_block_params(block), 0); in block()
1199 assert_eq!(dfg.block_params(block), &[]); in block()
1201 let arg1 = dfg.append_block_param(block, types::F32); in block()
1203 assert_eq!(dfg.num_block_params(block), 1); in block()
1204 assert_eq!(dfg.block_params(block), &[arg1]); in block()
1206 let arg2 = dfg.append_block_param(block, types::I16); in block()
1208 assert_eq!(dfg.num_block_params(block), 2); in block()
1209 assert_eq!(dfg.block_params(block), &[arg1, arg2]); in block()
1211 assert_eq!(dfg.value_def(arg1), ValueDef::Param(block, 0)); in block()
1212 assert_eq!(dfg.value_def(arg2), ValueDef::Param(block, 1)); in block()
1213 assert_eq!(dfg.value_type(arg1), types::F32); in block()
1214 assert_eq!(dfg.value_type(arg2), types::I16); in block()
1217 let vlist = dfg.detach_block_params(block); in block()
1218 assert_eq!(dfg.num_block_params(block), 0); in block()
1219 assert_eq!(dfg.block_params(block), &[]); in block()
1220 assert_eq!(vlist.as_slice(&dfg.value_lists), &[arg1, arg2]); in block()
1221 dfg.attach_block_param(block, arg2); in block()
1222 let arg3 = dfg.append_block_param(block, types::I32); in block()
1223 dfg.attach_block_param(block, arg1); in block()
1224 assert_eq!(dfg.block_params(block), &[arg2, arg3, arg1]); in block()
1229 let mut dfg = DataFlowGraph::new(); in replace_block_params() localVariable
1231 let block = dfg.make_block(); in replace_block_params()
1232 let arg1 = dfg.append_block_param(block, types::F32); in replace_block_params()
1234 let new1 = dfg.replace_block_param(arg1, types::I64); in replace_block_params()
1235 assert_eq!(dfg.value_type(arg1), types::F32); in replace_block_params()
1236 assert_eq!(dfg.value_type(new1), types::I64); in replace_block_params()
1237 assert_eq!(dfg.block_params(block), &[new1]); in replace_block_params()
1239 dfg.attach_block_param(block, arg1); in replace_block_params()
1240 assert_eq!(dfg.block_params(block), &[new1, arg1]); in replace_block_params()
1242 let new2 = dfg.replace_block_param(arg1, types::I8); in replace_block_params()
1243 assert_eq!(dfg.value_type(arg1), types::F32); in replace_block_params()
1244 assert_eq!(dfg.value_type(new2), types::I8); in replace_block_params()
1245 assert_eq!(dfg.block_params(block), &[new1, new2]); in replace_block_params()
1247 dfg.attach_block_param(block, arg1); in replace_block_params()
1248 assert_eq!(dfg.block_params(block), &[new1, new2, arg1]); in replace_block_params()
1250 let new3 = dfg.replace_block_param(new2, types::I16); in replace_block_params()
1251 assert_eq!(dfg.value_type(new1), types::I64); in replace_block_params()
1252 assert_eq!(dfg.value_type(new2), types::I8); in replace_block_params()
1253 assert_eq!(dfg.value_type(new3), types::I16); in replace_block_params()
1254 assert_eq!(dfg.block_params(block), &[new1, new3, arg1]); in replace_block_params()
1259 let mut dfg = DataFlowGraph::new(); in swap_remove_block_params() localVariable
1261 let block = dfg.make_block(); in swap_remove_block_params()
1262 let arg1 = dfg.append_block_param(block, types::F32); in swap_remove_block_params()
1263 let arg2 = dfg.append_block_param(block, types::F32); in swap_remove_block_params()
1264 let arg3 = dfg.append_block_param(block, types::F32); in swap_remove_block_params()
1265 assert_eq!(dfg.block_params(block), &[arg1, arg2, arg3]); in swap_remove_block_params()
1267 dfg.swap_remove_block_param(arg1); in swap_remove_block_params()
1268 assert_eq!(dfg.value_is_attached(arg1), false); in swap_remove_block_params()
1269 assert_eq!(dfg.value_is_attached(arg2), true); in swap_remove_block_params()
1270 assert_eq!(dfg.value_is_attached(arg3), true); in swap_remove_block_params()
1271 assert_eq!(dfg.block_params(block), &[arg3, arg2]); in swap_remove_block_params()
1272 dfg.swap_remove_block_param(arg2); in swap_remove_block_params()
1273 assert_eq!(dfg.value_is_attached(arg2), false); in swap_remove_block_params()
1274 assert_eq!(dfg.value_is_attached(arg3), true); in swap_remove_block_params()
1275 assert_eq!(dfg.block_params(block), &[arg3]); in swap_remove_block_params()
1276 dfg.swap_remove_block_param(arg3); in swap_remove_block_params()
1277 assert_eq!(dfg.value_is_attached(arg3), false); in swap_remove_block_params()
1278 assert_eq!(dfg.block_params(block), &[]); in swap_remove_block_params()
1286 let block0 = func.dfg.make_block(); in aliases()
1294 assert_eq!(pos.func.dfg.resolve_aliases(v1), v1); in aliases()
1296 let arg0 = pos.func.dfg.append_block_param(block0, types::I32); in aliases()
1298 let iadd = match pos.func.dfg.value_def(s) { in aliases()
1304 pos.func.dfg.clear_results(iadd); in aliases()
1305 pos.func.dfg.attach_result(iadd, s); in aliases()
1308 pos.func.dfg.replace(iadd).iadd(v1, arg0); in aliases()
1310 pos.func.dfg.change_to_alias(c, c2); in aliases()
1312 assert_eq!(pos.func.dfg.resolve_aliases(c2), c2); in aliases()
1313 assert_eq!(pos.func.dfg.resolve_aliases(c), c2); in aliases()
1318 assert_eq!(pos.func.dfg.resolve_aliases(c3), c3); in aliases()