type Funclet = <CodegenCx<'ll, 'tcx> as BackendTypes>::Funclet;
type DIScope = <CodegenCx<'ll, 'tcx> as BackendTypes>::DIScope;
+ type DIVariable = <CodegenCx<'ll, 'tcx> as BackendTypes>::DIVariable;
}
impl ty::layout::HasDataLayout for Builder<'_, '_, '_> {
align: Align,
flags: MemFlags,
) {
- let ptr_width = &self.sess().target.target.target_pointer_width;
- let intrinsic_key = format!("llvm.memset.p0i8.i{}", ptr_width);
- let llintrinsicfn = self.get_intrinsic(&intrinsic_key);
+ let is_volatile = flags.contains(MemFlags::VOLATILE);
let ptr = self.pointercast(ptr, self.type_i8p());
- let align = self.const_u32(align.bytes() as u32);
- let volatile = self.const_bool(flags.contains(MemFlags::VOLATILE));
- self.call(llintrinsicfn, &[ptr, fill_byte, size, align, volatile], None);
+ unsafe {
+ llvm::LLVMRustBuildMemSet(
+ self.llbuilder,
+ ptr,
+ align.bytes() as c_uint,
+ fill_byte,
+ size,
+ is_volatile,
+ );
+ }
}
fn select(
}
fn lifetime_start(&mut self, ptr: &'ll Value, size: Size) {
- self.call_lifetime_intrinsic("llvm.lifetime.start", ptr, size);
+ self.call_lifetime_intrinsic("llvm.lifetime.start.p0i8", ptr, size);
}
fn lifetime_end(&mut self, ptr: &'ll Value, size: Size) {
- self.call_lifetime_intrinsic("llvm.lifetime.end", ptr, size);
+ self.call_lifetime_intrinsic("llvm.lifetime.end.p0i8", ptr, size);
}
fn call(