(
&mut self,
name: UserFuncName,
isa: OwnedTargetIsa,
usercalls: Vec<(UserExternalName, Signature)>,
libcalls: Vec<LibCall>,
)
| 148 | } |
| 149 | |
| 150 | pub fn generate_func( |
| 151 | &mut self, |
| 152 | name: UserFuncName, |
| 153 | isa: OwnedTargetIsa, |
| 154 | usercalls: Vec<(UserExternalName, Signature)>, |
| 155 | libcalls: Vec<LibCall>, |
| 156 | ) -> Result<Function> { |
| 157 | let sig = self.generate_signature(&*isa)?; |
| 158 | |
| 159 | let func = FunctionGenerator::new( |
| 160 | &mut self.u, |
| 161 | &self.config, |
| 162 | isa.clone(), |
| 163 | name, |
| 164 | sig, |
| 165 | usercalls, |
| 166 | libcalls, |
| 167 | ) |
| 168 | .generate()?; |
| 169 | |
| 170 | self.run_func_passes(func, &*isa) |
| 171 | } |
| 172 | |
| 173 | /// Generate a random set of cranelift flags. |
| 174 | /// Only semantics preserving flags are considered |
no test coverage detected