[−][src]Trait rustc_codegen_llvm::type_of::LayoutLlvmExt
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Required Methods
fn is_llvm_immediate(&self) -> bool
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn is_llvm_scalar_pair<'a>(&self) -> bool
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn llvm_type<'a>(&self, cx: &CodegenCx<'a, 'tcx>) -> &'a Type
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn immediate_llvm_type<'a>(&self, cx: &CodegenCx<'a, 'tcx>) -> &'a Type
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn scalar_llvm_type_at<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
scalar: &Scalar,
offset: Size
) -> &'a Type
&self,
cx: &CodegenCx<'a, 'tcx>,
scalar: &Scalar,
offset: Size
) -> &'a Type
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn scalar_pair_element_llvm_type<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
index: usize,
immediate: bool
) -> &'a Type
&self,
cx: &CodegenCx<'a, 'tcx>,
index: usize,
immediate: bool
) -> &'a Type
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn llvm_field_index(&self, index: usize) -> u64
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn pointee_info_at<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
offset: Size
) -> Option<PointeeInfo>
&self,
cx: &CodegenCx<'a, 'tcx>,
offset: Size
) -> Option<PointeeInfo>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Implementations on Foreign Types
impl<'tcx> LayoutLlvmExt<'tcx> for TyLayout<'tcx>[src]
impl<'tcx> LayoutLlvmExt<'tcx> for TyLayout<'tcx>fn is_llvm_immediate(&self) -> bool[src]
fn is_llvm_immediate(&self) -> bool🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn is_llvm_scalar_pair<'a>(&self) -> bool[src]
fn is_llvm_scalar_pair<'a>(&self) -> bool🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn llvm_type<'a>(&self, cx: &CodegenCx<'a, 'tcx>) -> &'a Type[src]
fn llvm_type<'a>(&self, cx: &CodegenCx<'a, 'tcx>) -> &'a Type🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Get the LLVM type corresponding to a Rust type, i.e. rustc::ty::Ty.
The pointee type of the pointer in PlaceRef is always this type.
For sized types, it is also the right LLVM type for an alloca
containing a value of that type, and most immediates (except bool).
Unsized types, however, are represented by a "minimal unit", e.g.
[T] becomes T, while str and Trait turn into i8 - this
is useful for indexing slices, as &[T]'s data pointer is T*.
If the type is an unsized struct, the regular layout is generated,
with the inner-most trailing unsized field using the "minimal unit"
of that field's type - this is useful for taking the address of
that field and ensuring the struct has the right alignment.
fn immediate_llvm_type<'a>(&self, cx: &CodegenCx<'a, 'tcx>) -> &'a Type[src]
fn immediate_llvm_type<'a>(&self, cx: &CodegenCx<'a, 'tcx>) -> &'a Type🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn scalar_llvm_type_at<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
scalar: &Scalar,
offset: Size
) -> &'a Type[src]
fn scalar_llvm_type_at<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
scalar: &Scalar,
offset: Size
) -> &'a Type🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn scalar_pair_element_llvm_type<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
index: usize,
immediate: bool
) -> &'a Type[src]
fn scalar_pair_element_llvm_type<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
index: usize,
immediate: bool
) -> &'a Type🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn llvm_field_index(&self, index: usize) -> u64[src]
fn llvm_field_index(&self, index: usize) -> u64🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn pointee_info_at<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
offset: Size
) -> Option<PointeeInfo>[src]
fn pointee_info_at<'a>(
&self,
cx: &CodegenCx<'a, 'tcx>,
offset: Size
) -> Option<PointeeInfo>🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?