//! Code that is useful in various codegen modules.
-use crate::consts::{self, const_alloc_to_llvm};
+use crate::consts::const_alloc_to_llvm;
pub use crate::context::CodegenCx;
use crate::llvm::{self, BasicBlock, Bool, ConstantInt, False, OperandBundleDef, True};
use crate::type_::Type;
-use crate::type_of::LayoutLlvmExt;
use crate::value::Value;
use rustc_ast::Mutability;
use rustc_hir::def_id::DefId;
use rustc_middle::bug;
use rustc_middle::mir::interpret::{ConstAllocation, GlobalAlloc, Scalar};
-use rustc_middle::ty::layout::LayoutOf;
use rustc_middle::ty::TyCtxt;
use rustc_session::cstore::{DllCallingConvention, DllImport, PeImportNameType};
use rustc_target::abi::{self, AddressSpace, HasDataLayout, Pointer};
})
.1;
let len = s.len();
- let cs = consts::ptrcast(
- str_global,
- self.type_ptr_to(self.layout_of(self.tcx.types.str_).llvm_type(self)),
- );
- (cs, self.const_usize(len as u64))
+ (str_global, self.const_usize(len as u64))
}
fn const_struct(&self, elts: &[&'ll Value], packed: bool) -> &'ll Value {
}
};
let llval = unsafe {
- llvm::LLVMRustConstInBoundsGEP2(
+ llvm::LLVMConstInBoundsGEP2(
self.type_i8(),
- self.const_bitcast(base_addr, self.type_i8p_ext(base_addr_space)),
+ self.const_bitcast(base_addr, self.type_ptr_ext(base_addr_space)),
&self.const_usize(offset.bytes()),
1,
)
const_alloc_to_llvm(self, alloc)
}
- fn const_ptrcast(&self, val: &'ll Value, ty: &'ll Type) -> &'ll Value {
- consts::ptrcast(val, ty)
- }
-
fn const_bitcast(&self, val: &'ll Value, ty: &'ll Type) -> &'ll Value {
self.const_bitcast(val, ty)
}
fn const_ptr_byte_offset(&self, base_addr: Self::Value, offset: abi::Size) -> Self::Value {
unsafe {
- llvm::LLVMRustConstInBoundsGEP2(
+ llvm::LLVMConstInBoundsGEP2(
self.type_i8(),
- self.const_bitcast(base_addr, self.type_i8p()),
+ base_addr,
&self.const_usize(offset.bytes()),
1,
)
DllCallingConvention::C => {}
DllCallingConvention::Stdcall(arg_list_size)
| DllCallingConvention::Fastcall(arg_list_size) => {
- write!(&mut decorated_name, "@{}", arg_list_size).unwrap();
+ write!(&mut decorated_name, "@{arg_list_size}").unwrap();
}
DllCallingConvention::Vectorcall(arg_list_size) => {
- write!(&mut decorated_name, "@@{}", arg_list_size).unwrap();
+ write!(&mut decorated_name, "@@{arg_list_size}").unwrap();
}
}
}