Skip to content

Commit 5bbb9e4

Browse files
committed
Support -Zforce-intrinsic-fallback
1 parent 5de4124 commit 5bbb9e4

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

src/intrinsics/mod.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,14 @@ pub(crate) fn codegen_intrinsic_call<'tcx>(
276276
target: Option<BasicBlock>,
277277
source_info: mir::SourceInfo,
278278
) -> Result<(), Instance<'tcx>> {
279+
// When `-Zforce-intrinsic-fallback` is enabled, always use the fallback body if it exists,
280+
if fx.tcx.sess.opts.unstable_opts.force_intrinsic_fallback
281+
&& let Some(def) = fx.tcx.intrinsic(instance.def_id())
282+
&& !def.must_be_overridden
283+
{
284+
return Err(Instance::new_raw(instance.def_id(), instance.args));
285+
}
286+
279287
let intrinsic = fx.tcx.item_name(instance.def_id());
280288
let instance_args = instance.args;
281289

0 commit comments

Comments
 (0)