Struct rustc::middle::trans::builder::Builder[src]
pub struct Builder<'a> {
pub llbuilder: BuilderRef,
pub ccx: &'a CrateContext,
}Fields
llbuilder | |
ccx |
pub struct Builder<'a> {
pub llbuilder: BuilderRef,
pub ccx: &'a CrateContext,
}llbuilder | |
ccx |
impl<'a> Builder<'a>fn new(ccx: &'a CrateContext) -> Builder<'a>fn count_insn(&self, category: &str)fn position_before(&self, insn: ValueRef)fn position_at_end(&self, llbb: BasicBlockRef)fn ret_void(&self)fn ret(&self, v: ValueRef)fn aggregate_ret(&self, ret_vals: &[ValueRef])fn br(&self, dest: BasicBlockRef)fn cond_br(&self, cond: ValueRef, then_llbb: BasicBlockRef, else_llbb: BasicBlockRef)fn switch(&self, v: ValueRef, else_llbb: BasicBlockRef, num_cases: uint) -> ValueReffn indirect_br(&self, addr: ValueRef, num_dests: uint)fn invoke(&self, llfn: ValueRef, args: &[ValueRef], then: BasicBlockRef, catch: BasicBlockRef, attributes: &[(uint, u64)]) -> ValueReffn unreachable(&self)fn add(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn nswadd(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn nuwadd(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn fadd(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn sub(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn nswsub(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn nuwsub(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn fsub(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn mul(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn nswmul(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn nuwmul(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn fmul(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn udiv(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn sdiv(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn exactsdiv(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn fdiv(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn urem(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn srem(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn frem(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn shl(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn lshr(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn ashr(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn and(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn or(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn xor(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn binop(&self, op: Opcode, lhs: ValueRef, rhs: ValueRef) -> ValueReffn neg(&self, v: ValueRef) -> ValueReffn nswneg(&self, v: ValueRef) -> ValueReffn nuwneg(&self, v: ValueRef) -> ValueReffn fneg(&self, v: ValueRef) -> ValueReffn not(&self, v: ValueRef) -> ValueReffn malloc(&self, ty: Type) -> ValueReffn array_malloc(&self, ty: Type, val: ValueRef) -> ValueReffn alloca(&self, ty: Type, name: &str) -> ValueReffn array_alloca(&self, ty: Type, val: ValueRef) -> ValueReffn free(&self, ptr: ValueRef)fn load(&self, ptr: ValueRef) -> ValueReffn volatile_load(&self, ptr: ValueRef) -> ValueReffn atomic_load(&self, ptr: ValueRef, order: AtomicOrdering) -> ValueReffn load_range_assert(&self, ptr: ValueRef, lo: c_ulonglong, hi: c_ulonglong, signed: Bool) -> ValueReffn store(&self, val: ValueRef, ptr: ValueRef)fn volatile_store(&self, val: ValueRef, ptr: ValueRef)fn atomic_store(&self, val: ValueRef, ptr: ValueRef, order: AtomicOrdering)fn gep(&self, ptr: ValueRef, indices: &[ValueRef]) -> ValueReffn gepi(&self, base: ValueRef, ixs: &[uint]) -> ValueReffn inbounds_gep(&self, ptr: ValueRef, indices: &[ValueRef]) -> ValueReffn struct_gep(&self, ptr: ValueRef, idx: uint) -> ValueReffn global_string(&self, _str: *c_char) -> ValueReffn global_string_ptr(&self, _str: *c_char) -> ValueReffn trunc(&self, val: ValueRef, dest_ty: Type) -> ValueReffn zext(&self, val: ValueRef, dest_ty: Type) -> ValueReffn sext(&self, val: ValueRef, dest_ty: Type) -> ValueReffn fptoui(&self, val: ValueRef, dest_ty: Type) -> ValueReffn fptosi(&self, val: ValueRef, dest_ty: Type) -> ValueReffn uitofp(&self, val: ValueRef, dest_ty: Type) -> ValueReffn sitofp(&self, val: ValueRef, dest_ty: Type) -> ValueReffn fptrunc(&self, val: ValueRef, dest_ty: Type) -> ValueReffn fpext(&self, val: ValueRef, dest_ty: Type) -> ValueReffn ptrtoint(&self, val: ValueRef, dest_ty: Type) -> ValueReffn inttoptr(&self, val: ValueRef, dest_ty: Type) -> ValueReffn bitcast(&self, val: ValueRef, dest_ty: Type) -> ValueReffn zext_or_bitcast(&self, val: ValueRef, dest_ty: Type) -> ValueReffn sext_or_bitcast(&self, val: ValueRef, dest_ty: Type) -> ValueReffn trunc_or_bitcast(&self, val: ValueRef, dest_ty: Type) -> ValueReffn cast(&self, op: Opcode, val: ValueRef, dest_ty: Type) -> ValueReffn pointercast(&self, val: ValueRef, dest_ty: Type) -> ValueReffn intcast(&self, val: ValueRef, dest_ty: Type) -> ValueReffn fpcast(&self, val: ValueRef, dest_ty: Type) -> ValueReffn icmp(&self, op: IntPredicate, lhs: ValueRef, rhs: ValueRef) -> ValueReffn fcmp(&self, op: RealPredicate, lhs: ValueRef, rhs: ValueRef) -> ValueReffn empty_phi(&self, ty: Type) -> ValueReffn phi(&self, ty: Type, vals: &[ValueRef], bbs: &[BasicBlockRef]) -> ValueReffn add_span_comment(&self, sp: Span, text: &str)fn add_comment(&self, text: &str)fn inline_asm_call(&self, asm: *c_char, cons: *c_char, inputs: &[ValueRef], output: Type, volatile: bool, alignstack: bool, dia: AsmDialect) -> ValueReffn call(&self, llfn: ValueRef, args: &[ValueRef], attributes: &[(uint, u64)]) -> ValueReffn call_with_conv(&self, llfn: ValueRef, args: &[ValueRef], conv: CallConv, attributes: &[(uint, u64)]) -> ValueReffn select(&self, cond: ValueRef, then_val: ValueRef, else_val: ValueRef) -> ValueReffn va_arg(&self, list: ValueRef, ty: Type) -> ValueReffn extract_element(&self, vec: ValueRef, idx: ValueRef) -> ValueReffn insert_element(&self, vec: ValueRef, elt: ValueRef, idx: ValueRef) -> ValueReffn shuffle_vector(&self, v1: ValueRef, v2: ValueRef, mask: ValueRef) -> ValueReffn vector_splat(&self, num_elts: uint, elt: ValueRef) -> ValueReffn extract_value(&self, agg_val: ValueRef, idx: uint) -> ValueReffn insert_value(&self, agg_val: ValueRef, elt: ValueRef, idx: uint) -> ValueReffn is_null(&self, val: ValueRef) -> ValueReffn is_not_null(&self, val: ValueRef) -> ValueReffn ptrdiff(&self, lhs: ValueRef, rhs: ValueRef) -> ValueReffn trap(&self)fn landing_pad(&self, ty: Type, pers_fn: ValueRef, num_clauses: uint) -> ValueReffn set_cleanup(&self, landing_pad: ValueRef)fn resume(&self, exn: ValueRef) -> ValueReffn atomic_cmpxchg(&self, dst: ValueRef, cmp: ValueRef, src: ValueRef, order: AtomicOrdering, failure_order: AtomicOrdering) -> ValueReffn atomic_rmw(&self, op: AtomicBinOp, dst: ValueRef, src: ValueRef, order: AtomicOrdering) -> ValueReffn atomic_fence(&self, order: AtomicOrdering)
Prefix searches with a type followed by a colon (e.g.
fn:) to restrict the search to a given type.
Accepted types are: fn, mod,
struct (or str), enum,
trait, typedef (or
tdef).