Lines Matching refs:builder

20         builder: &mut FunctionBuilder<'_>,  in builtin_funcref()
27 fn trap(&mut self, builder: &mut FunctionBuilder, trap: ir::TrapCode) { in trap()
35 builder.ins().trap(trap); in trap()
42 let debug_tags = self.debug_tags(builder.srcloc()); in trap()
43 let trap_libcall = self.builtin_funcref(builder, BuiltinFunctionIndex::trap()); in trap()
44 let vmctx = self.vmctx_val(&mut builder.cursor()); in trap()
45 let trap_code = builder.ins().iconst(I8, i64::from(trap as u8)); in trap()
46 builder.ins().call(trap_libcall, &[vmctx, trap_code]); in trap()
47 let raise_libcall = self.builtin_funcref(builder, BuiltinFunctionIndex::raise()); in trap()
48 let inst = builder.ins().call(raise_libcall, &[vmctx]); in trap()
49 builder.func.debug_tags.set(inst, debug_tags); in trap()
50 builder.ins().trap(TRAP_INTERNAL_ASSERT); in trap()
55 fn trapz(&mut self, builder: &mut FunctionBuilder, value: ir::Value, trap: ir::TrapCode) { in trapz()
57 builder.ins().trapz(value, trap); in trapz()
59 let ty = builder.func.dfg.value_type(value); in trapz()
60 let zero = builder.ins().iconst(ty, 0); in trapz()
61 let cmp = builder.ins().icmp(IntCC::Equal, value, zero); in trapz()
62 self.conditionally_trap(builder, cmp, trap); in trapz()
66 fn trapnz(&mut self, builder: &mut FunctionBuilder, value: ir::Value, trap: ir::TrapCode) { in trapnz()
68 builder.ins().trapnz(value, trap); in trapnz()
70 let ty = builder.func.dfg.value_type(value); in trapnz()
71 let zero = builder.ins().iconst(ty, 0); in trapnz()
72 let cmp = builder.ins().icmp(IntCC::NotEqual, value, zero); in trapnz()
73 self.conditionally_trap(builder, cmp, trap); in trapnz()
79 builder: &mut FunctionBuilder, in uadd_overflow_trap()
85 builder.ins().uadd_overflow_trap(lhs, rhs, trap) in uadd_overflow_trap()
87 let (ret, overflow) = builder.ins().uadd_overflow(lhs, rhs); in uadd_overflow_trap()
88 self.conditionally_trap(builder, overflow, trap); in uadd_overflow_trap()
99 builder: &mut FunctionBuilder, in conditionally_trap()
105 let trap_block = builder.create_block(); in conditionally_trap()
106 builder.set_cold_block(trap_block); in conditionally_trap()
107 let continuation_block = builder.create_block(); in conditionally_trap()
109 builder in conditionally_trap()
113 builder.seal_block(trap_block); in conditionally_trap()
114 builder.seal_block(continuation_block); in conditionally_trap()
116 builder.switch_to_block(trap_block); in conditionally_trap()
117 self.trap(builder, trap); in conditionally_trap()
118 builder.switch_to_block(continuation_block); in conditionally_trap()