diff options
| author | Tomasz Miąsko <tomasz.miasko@gmail.com> | 2022-05-08 00:00:00 +0000 |
|---|---|---|
| committer | Tomasz Miąsko <tomasz.miasko@gmail.com> | 2022-05-08 23:48:23 +0200 |
| commit | 2be012a0c664bf1ee90af0e5cac9a3e3e24f4666 (patch) | |
| tree | 3db2ef367e84fcfcb6adba09433e1e41cd3acc60 /compiler/rustc_mir_dataflow/src | |
| parent | fbc3cc18bee7fb6dfd39e11521783f00506ca06b (diff) | |
| download | rust-2be012a0c664bf1ee90af0e5cac9a3e3e24f4666.tar.gz rust-2be012a0c664bf1ee90af0e5cac9a3e3e24f4666.zip | |
Use sparse representation of switch sources
to avoid quadratic space overhead
Diffstat (limited to 'compiler/rustc_mir_dataflow/src')
| -rw-r--r-- | compiler/rustc_mir_dataflow/src/framework/direction.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_mir_dataflow/src/framework/direction.rs b/compiler/rustc_mir_dataflow/src/framework/direction.rs index 327002219db..18795128b85 100644 --- a/compiler/rustc_mir_dataflow/src/framework/direction.rs +++ b/compiler/rustc_mir_dataflow/src/framework/direction.rs @@ -322,7 +322,7 @@ where fn apply(&mut self, mut apply_edge_effect: impl FnMut(&mut D, SwitchIntTarget)) { assert!(!self.effects_applied); - let values = &self.body.switch_sources()[self.bb][self.pred]; + let values = &self.body.switch_sources()[&(self.bb, self.pred)]; let targets = values.iter().map(|&value| SwitchIntTarget { value, target: self.bb }); let mut tmp = None; |
