Change dfg.inst_results to return a slice.
Now we can access instruction results and arguments as well as EBB arguments as slices. Delete the Values iterator which was traversing the linked lists of values. It is no longer needed.
This commit is contained in:
@@ -233,7 +233,7 @@ impl LiveValueTracker {
|
||||
|
||||
// Add the values defined by `inst`.
|
||||
let first_def = self.live.values.len();
|
||||
for value in dfg.inst_results(inst) {
|
||||
for &value in dfg.inst_results(inst) {
|
||||
let lr = match liveness.get(value) {
|
||||
Some(lr) => lr,
|
||||
None => panic!("{} result {} has no live range", dfg[inst].opcode(), value),
|
||||
|
||||
@@ -308,7 +308,7 @@ impl Liveness {
|
||||
// Make sure we have created live ranges for dead defs.
|
||||
// TODO: When we implement DCE, we can use the absence of a live range to indicate
|
||||
// an unused value.
|
||||
for def in func.dfg.inst_results(inst) {
|
||||
for &def in func.dfg.inst_results(inst) {
|
||||
get_or_create(&mut self.ranges, def, func, &enc_info);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user