Conversation
- Rewrite extern C fn sigs to Rust ABI to satisfy new rustc fn_abi sanity checks. - Handle direct calls represented as ptr<void> by recovering function signature from callee type/fn_abi. - Keep generated SPIR-V target JSON aligned with backend target options and rustc 1.93 schema expectations.
Refresh expected stderr for debug_printf trait-path wording and unwrap_or line mapping changes.
Normalize target-spec JSON before comparing backend-expected vs provided JSON by dropping the is-like-gpu key, which rustc rejects in external target JSON for non-nvptx/amdgcn targets.
| _args: &[OperandRef<'tcx, Self::Value>], | ||
| _is_cleanup: bool, | ||
| ) -> Self::Value { | ||
| bug!("LLVM intrinsic call not supported in SPIR-V backend: {instance:?}") |
There was a problem hiding this comment.
I think we want to use this rather than our own home-grown replacements, but didn't want to do it in this PR.
14cdf92 to
6434ab8
Compare
|
|
|
Tried to update with a patched Details |
|
Cool, I'll take a look. There were some changes in this area. |
| fn get_funclet_cleanuppad(&self, _funclet: &Self::Funclet) -> Self::Value { | ||
| bug!("Funclets are not supported") | ||
| } |
There was a problem hiding this comment.
There is inconsistent style between this function and the function above. They should either both use self.fatal or use bug!. And they should either both ignore arguments with leading underscore or put them into let _ =. My vote is on using bug! and leading underscore.
There was a problem hiding this comment.
I wonder whether this is still needed? After #148789, we can simply detect Arguments::from_str if the argument is a const str.
|
|
||
| let value = match name { | ||
| sym::likely | sym::unlikely => { | ||
| _ if name == sym::unlikely || name.as_str() == "likely" => { |
There was a problem hiding this comment.
Is there any reason for this change?
Requires #542