Lines Matching refs:vcode

252     pub(crate) vcode: VCode<I>,  field
283 let vcode = VCode::new( in new() localVariable
293 vcode, in new()
300 self.vcode.abi.init_retval_area(&self.vcode.sigs, vregs) in init_retval_area()
305 &self.vcode.abi in abi()
310 &mut self.vcode.abi in abi_mut()
314 &self.vcode.sigs in sigs()
318 &mut self.vcode.sigs in sigs_mut()
323 &self.vcode.block_order in block_order()
328 self.vcode.entry = block; in set_entry()
334 let end_idx = self.vcode.insts.len(); in end_bb()
336 self.vcode.block_ranges.push_end(end_idx); in end_bb()
338 let succ_end = self.vcode.block_succs.len(); in end_bb()
339 self.vcode.block_succ_range.push_end(succ_end); in end_bb()
341 let block_params_end = self.vcode.block_params.len(); in end_bb()
342 self.vcode.block_params_range.push_end(block_params_end); in end_bb()
344 let branch_block_arg_succ_end = self.vcode.branch_block_arg_range.len(); in end_bb()
345 self.vcode in end_bb()
351 self.vcode.block_params.push(param.into()); in add_block_param()
355 self.vcode in add_branch_args_for_succ()
358 let end = self.vcode.branch_block_args.len(); in add_branch_args_for_succ()
359 self.vcode.branch_block_arg_range.push_end(end); in add_branch_args_for_succ()
366 self.vcode.insts.push(insn); in push()
367 self.vcode.srclocs.push(loc); in push()
372 self.vcode.block_succs.push(block); in add_succ()
397 let next_inst_index = self.vcode.insts.len(); in add_value_label()
413 &mut self.vcode.constants in constants()
419 let mut starts = vec![0u32; self.vcode.num_blocks()]; in compute_preds_from_succs()
420 for succ in &self.vcode.block_succs { in compute_preds_from_succs()
427 self.vcode.block_pred_range.reserve(starts.len()); in compute_preds_from_succs()
433 self.vcode.block_pred_range.push_end(end as usize); in compute_preds_from_succs()
436 debug_assert_eq!(end, self.vcode.block_succs.len()); in compute_preds_from_succs()
443 self.vcode.block_preds.resize(end, BlockIndex::invalid()); in compute_preds_from_succs()
444 for (pred, range) in self.vcode.block_succ_range.iter() { in compute_preds_from_succs()
446 for succ in &self.vcode.block_succs[range] { in compute_preds_from_succs()
448 self.vcode.block_preds[*pos as usize] = pred; in compute_preds_from_succs()
452 debug_assert!(self.vcode.block_preds.iter().all(|pred| pred.is_valid())); in compute_preds_from_succs()
459 let n_insts = self.vcode.insts.len(); in reverse_and_finalize()
465 self.vcode.block_ranges.reverse_index(); in reverse_and_finalize()
466 self.vcode.block_ranges.reverse_target(n_insts); in reverse_and_finalize()
472 self.vcode.block_params_range.reverse_index(); in reverse_and_finalize()
475 self.vcode.block_succ_range.reverse_index(); in reverse_and_finalize()
476 self.vcode.insts.reverse(); in reverse_and_finalize()
477 self.vcode.srclocs.reverse(); in reverse_and_finalize()
480 self.vcode.branch_block_arg_succ_range.reverse_index(); in reverse_and_finalize()
500 self.vcode in reverse_and_finalize()
508 self.vcode in reverse_and_finalize()
514 let allocatable = PRegSet::from(self.vcode.abi.machine_env()); in collect_operands()
515 for (i, insn) in self.vcode.insts.iter_mut().enumerate() { in collect_operands()
528 OperandCollector::new(&mut self.vcode.operands, allocatable, |vreg| { in collect_operands()
533 self.vcode.operand_ranges.push_end(ops); in collect_operands()
536 self.vcode.clobbers.insert(InsnIndex::new(i), clobbers); in collect_operands()
555 for arg in &mut self.vcode.branch_block_args { in collect_operands()
564 self.vcode.vreg_types = take(&mut vregs.vreg_types); in build()
572 self.vcode.debug_value_labels.sort_unstable(); in build()
580 vregs.debug_assert_no_vreg_aliases(self.vcode.operands.iter().map(|op| op.vreg())); in build()
582 vregs.debug_assert_no_vreg_aliases(self.vcode.block_params.iter().copied()); in build()
584 vregs.debug_assert_no_vreg_aliases(self.vcode.branch_block_args.iter().copied()); in build()
587 self.vcode.debug_value_labels.iter().map(|&(vreg, ..)| vreg), in build()
590 self.vcode in build()
599 let stack_map = ir::UserStackMap::new(entries, self.vcode.abi.sized_stackslot_offsets()); in add_user_stack_map()
600 let old_entry = self.vcode.user_stack_maps.insert(inst, stack_map); in add_user_stack_map()
606 let start = u32::try_from(self.vcode.debug_tag_pool.len()).unwrap(); in add_debug_tags()
607 self.vcode.debug_tag_pool.extend(entries.iter().cloned()); in add_debug_tags()
608 let end = u32::try_from(self.vcode.debug_tag_pool.len()).unwrap(); in add_debug_tags()
609 self.vcode.debug_tags.insert(inst, start..end); in add_debug_tags()