Skip to content

Commit 399e020

Browse files
bjorn3RalfJung
authored andcommitted
Move vtable_size and vtable_align impls to cg_ssa
1 parent 1afea1f commit 399e020

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

compiler/rustc_codegen_llvm/src/intrinsic.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ use crate::value::Value;
1010
use rustc_codegen_ssa::base::{compare_simd_types, wants_msvc_seh};
1111
use rustc_codegen_ssa::common::span_invalid_monomorphization_error;
1212
use rustc_codegen_ssa::common::{IntPredicate, TypeKind};
13-
use rustc_codegen_ssa::meth;
1413
use rustc_codegen_ssa::mir::operand::OperandRef;
1514
use rustc_codegen_ssa::mir::place::PlaceRef;
1615
use rustc_codegen_ssa::traits::*;
@@ -364,16 +363,6 @@ impl<'ll, 'tcx> IntrinsicCallMethods<'tcx> for Builder<'_, 'll, 'tcx> {
364363
return;
365364
}
366365

367-
sym::vtable_size | sym::vtable_align => {
368-
let vtable = args[0].immediate();
369-
let idx = match name {
370-
sym::vtable_size => ty::COMMON_VTABLE_ENTRIES_SIZE,
371-
sym::vtable_align => ty::COMMON_VTABLE_ENTRIES_ALIGN,
372-
_ => bug!(),
373-
};
374-
meth::VirtualIndex::from_index(idx).get_usize(self, vtable)
375-
}
376-
377366
_ if name.as_str().starts_with("simd_") => {
378367
match generic_simd_intrinsic(self, name, callee_ty, args, ret_ty, llret_ty, span) {
379368
Ok(llval) => llval,

compiler/rustc_codegen_ssa/src/mir/intrinsic.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use super::place::PlaceRef;
33
use super::FunctionCx;
44
use crate::common::{span_invalid_monomorphization_error, IntPredicate};
55
use crate::glue;
6+
use crate::meth;
67
use crate::traits::*;
78
use crate::MemFlags;
89

@@ -102,6 +103,15 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
102103
bx.const_usize(bx.layout_of(tp_ty).align.abi.bytes())
103104
}
104105
}
106+
sym::vtable_size | sym::vtable_align => {
107+
let vtable = args[0].immediate();
108+
let idx = match name {
109+
sym::vtable_size => ty::COMMON_VTABLE_ENTRIES_SIZE,
110+
sym::vtable_align => ty::COMMON_VTABLE_ENTRIES_ALIGN,
111+
_ => bug!(),
112+
};
113+
meth::VirtualIndex::from_index(idx).get_usize(bx, vtable)
114+
}
105115
sym::pref_align_of
106116
| sym::needs_drop
107117
| sym::type_id

0 commit comments

Comments
 (0)