Remove type argument of array_alloca and rename to byte_array_alloca
This commit is contained in:
parent
0fe84bc38b
commit
268e02c387
4 changed files with 6 additions and 5 deletions
|
@ -655,7 +655,7 @@ impl<'a, 'gcc, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'gcc, 'tcx> {
|
||||||
self.current_func().new_local(None, aligned_type, &format!("stack_var_{}", self.stack_var_count.get())).get_address(None)
|
self.current_func().new_local(None, aligned_type, &format!("stack_var_{}", self.stack_var_count.get())).get_address(None)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn array_alloca(&mut self, _ty: Type<'gcc>, _len: RValue<'gcc>, _align: Align) -> RValue<'gcc> {
|
fn byte_array_alloca(&mut self, _len: RValue<'gcc>, _align: Align) -> RValue<'gcc> {
|
||||||
unimplemented!();
|
unimplemented!();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -418,9 +418,10 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn array_alloca(&mut self, ty: &'ll Type, len: &'ll Value, align: Align) -> &'ll Value {
|
fn byte_array_alloca(&mut self, len: &'ll Value, align: Align) -> &'ll Value {
|
||||||
unsafe {
|
unsafe {
|
||||||
let alloca = llvm::LLVMBuildArrayAlloca(self.llbuilder, ty, len, UNNAMED);
|
let alloca =
|
||||||
|
llvm::LLVMBuildArrayAlloca(self.llbuilder, self.cx().type_i8(), len, UNNAMED);
|
||||||
llvm::LLVMSetAlignment(alloca, align.bytes() as c_uint);
|
llvm::LLVMSetAlignment(alloca, align.bytes() as c_uint);
|
||||||
alloca
|
alloca
|
||||||
}
|
}
|
||||||
|
|
|
@ -352,7 +352,7 @@ impl<'a, 'tcx, V: CodegenObject> OperandValue<V> {
|
||||||
|
|
||||||
// Allocate an appropriate region on the stack, and copy the value into it
|
// Allocate an appropriate region on the stack, and copy the value into it
|
||||||
let (llsize, _) = glue::size_and_align_of_dst(bx, unsized_ty, Some(llextra));
|
let (llsize, _) = glue::size_and_align_of_dst(bx, unsized_ty, Some(llextra));
|
||||||
let lldst = bx.array_alloca(bx.cx().type_i8(), llsize, max_align);
|
let lldst = bx.byte_array_alloca(llsize, max_align);
|
||||||
bx.memcpy(lldst, max_align, llptr, min_align, llsize, flags);
|
bx.memcpy(lldst, max_align, llptr, min_align, llsize, flags);
|
||||||
|
|
||||||
// Store the allocated region and the extra to the indirect place.
|
// Store the allocated region and the extra to the indirect place.
|
||||||
|
|
|
@ -135,7 +135,7 @@ pub trait BuilderMethods<'a, 'tcx>:
|
||||||
fn to_immediate_scalar(&mut self, val: Self::Value, scalar: Scalar) -> Self::Value;
|
fn to_immediate_scalar(&mut self, val: Self::Value, scalar: Scalar) -> Self::Value;
|
||||||
|
|
||||||
fn alloca(&mut self, ty: Self::Type, align: Align) -> Self::Value;
|
fn alloca(&mut self, ty: Self::Type, align: Align) -> Self::Value;
|
||||||
fn array_alloca(&mut self, ty: Self::Type, len: Self::Value, align: Align) -> Self::Value;
|
fn byte_array_alloca(&mut self, len: Self::Value, align: Align) -> Self::Value;
|
||||||
|
|
||||||
fn load(&mut self, ty: Self::Type, ptr: Self::Value, align: Align) -> Self::Value;
|
fn load(&mut self, ty: Self::Type, ptr: Self::Value, align: Align) -> Self::Value;
|
||||||
fn volatile_load(&mut self, ty: Self::Type, ptr: Self::Value) -> Self::Value;
|
fn volatile_load(&mut self, ty: Self::Type, ptr: Self::Value) -> Self::Value;
|
||||||
|
|
Loading…
Add table
Reference in a new issue