Generalized base.rs#call_memcpy and everything that it uses

Generalized operand.rs#nontemporal_store and fixed tidy issues

Generalized operand.rs#nontemporal_store's implem even more
With a BuilderMethod trait implemented by Builder for LLVM

Cleaned builder.rs : no more code duplication, no more ValueTrait

Full traitification of builder.rs
This commit is contained in:
Denis Merigoux
2018-08-07 17:14:40 +02:00
committed by Eduard-Mihai Burtescu
parent 83b2152ce4
commit 34c5dc045f
28 changed files with 793 additions and 314 deletions

View File

@@ -17,6 +17,8 @@ use monomorphize;
use type_::Type;
use value::Value;
use traits::BuilderMethods;
use rustc::ty::{self, Ty};
use rustc::ty::layout::HasDataLayout;
use debuginfo;
@@ -48,7 +50,11 @@ impl<'a, 'tcx> VirtualIndex {
ptr
}
pub fn get_usize(self, bx: &Builder<'a, 'll, 'tcx>, llvtable: &'ll Value) -> &'ll Value {
pub fn get_usize(
self,
bx: &Builder<'a, 'll, 'tcx, &'ll Value>,
llvtable: &'ll Value
) -> &'ll Value {
// Load the data pointer from the object.
debug!("get_int({:?}, {:?})", llvtable, self);