(&self)
| 88 | } |
| 89 | |
| 90 | fn skip(&self) -> bool { |
| 91 | match self.name { |
| 92 | // Skip instructions related to control-flow as those require |
| 93 | // special handling with `MachBuffer`. |
| 94 | "Jump" => true, |
| 95 | n if n.starts_with("Call") => true, |
| 96 | |
| 97 | // Skip special instructions not used in Cranelift. |
| 98 | "XPush32Many" | "XPush64Many" | "XPop32Many" | "XPop64Many" => true, |
| 99 | |
| 100 | // Skip more branching-related instructions. |
| 101 | n => n.starts_with("Br"), |
| 102 | } |
| 103 | } |
| 104 | } |
| 105 | |
| 106 | pub fn generate_rust(filename: &str, out_dir: &Path) -> Result<(), Error> { |
no outgoing calls