Home
last modified time | relevance | path

Searched refs:insn (Results 1 – 23 of 23) sorted by relevance

/illumos-gate/usr/src/tools/smatch/src/
H A Dsimplify.c314 if (!insn || !insn->bb) in kill_insn()
1197 if (dead_insn(insn, &insn->src1, &insn->src2, NULL)) in simplify_binop()
1206 if (insn->src1 == insn->src2) in simplify_binop()
1238 switch_pseudo(insn, &insn->src1, insn, &insn->src2); in canonicalize_commutative()
1247 switch_pseudo(insn, &insn->src1, insn, &insn->src2); in canonicalize_compare()
1550 if (dead_insn(insn, &insn->src1, &insn->src2, &insn->src3)) in simplify_select()
1639 insert_branch(insn->bb, insn, cond->value ? insn->bb_true : insn->bb_false); in simplify_branch()
1671 insert_branch(insn->bb, insn, insn->bb_false); in simplify_branch()
1675 insert_branch(insn->bb, insn, insn->bb_true); in simplify_branch()
1680 insn->bb_true = insn->bb_false; in simplify_branch()
[all …]
H A Dir.c35 if (bb_list_size(insn->bb->parents) != nbr_phi_operands(insn)) { in check_phi_node()
39 info(insn->pos, "phisrcs: %d", nbr_phi_operands(insn)); in check_phi_node()
128 err += check_user(insn, insn->src3); in validate_insn()
132 err += check_user(insn, insn->src2); in validate_insn()
139 err += check_user(insn, insn->src1); in validate_insn()
143 err += check_branch(ep, insn, insn->bb_true); in validate_insn()
144 err += check_branch(ep, insn, insn->bb_false); in validate_insn()
147 err += check_user(insn, insn->cond); in validate_insn()
159 err += check_user(insn, insn->target); in validate_insn()
163 err += check_user(insn, insn->src); in validate_insn()
[all …]
H A Dssa.c81 if (insn == a) in insn_before()
83 if (insn == b) in insn_before()
93 insn->bb = NULL; in kill_store()
106 if (!insn->bb || insn->src != addr) in rewrite_local_var()
118 kill_store(insn); in rewrite_local_var()
130 struct instruction *insn = pu->insn; in rewrite_single_store() local
203 struct instruction *insn = pu->insn; in ssa_convert_one_var() local
209 store = insn; in ssa_convert_one_var()
278 addr = insn->src; in ssa_rename_insn()
314 if (!insn->bb) in ssa_rename_insns()
[all …]
H A Dflow.c60 if (insn->opcode == OP_SYMADDR && insn->target == pseudo) in pseudo_truth_value()
95 if (!insn->bb) in bb_depends_on_phi()
167 if (!insn->bb) in bb_has_side_effects()
175 if (!insn->type) in bb_has_side_effects()
221 if (!insn || insn->opcode != OP_CBR || insn->cond != br->cond) in simplify_branch_branch()
228 final = bb_true ? insn->bb_true : insn->bb_false; in simplify_branch_branch()
438 if (!insn->bb) in kill_dead_stores_bb()
510 struct instruction *insn = pu->insn; in kill_dead_stores() local
558 if (!insn->bb) in kill_bb()
602 if (!insn) in rewrite_parent_branch()
[all …]
H A Dmemops.c34 if (one == insn) in find_dominating_parents()
69 struct instruction *insn = pu->insn; in address_taken() local
70 if (insn->bb && (insn->opcode != OP_LOAD && insn->opcode != OP_STORE)) in address_taken()
87 struct instruction *insn; in simplify_loads() local
90 if (!insn->bb) in simplify_loads()
100 check_access(insn); in simplify_loads()
102 if (insn->is_volatile) in simplify_loads()
151 struct instruction *insn; in kill_dominated_stores() local
154 if (!insn->bb) in kill_dominated_stores()
161 if (!insn->type) in kill_dominated_stores()
[all …]
H A Dsparse-llvm.c223 if (insn->type) in insn_symbol_type()
539 lhs = get_ioperand(fn, insn->type, insn->src1); in output_op_binary()
540 rhs = get_ioperand(fn, insn->type, insn->src2); in output_op_binary()
694 src = pseudo_to_value(fn, insn->type, insn->src); in calc_memop_addr()
760 src2 = get_operand(fn, insn->type, insn->src2); in output_op_sel()
761 src3 = get_operand(fn, insn->type, insn->src3); in output_op_sel()
783 sw_val = get_ioperand(fn, insn->type, insn->cond); in output_op_switch()
835 v = get_operand(fn, insn->type, insn->phi_src); in output_op_phisrc()
1070 src = pseudo_to_value(fn, insn->type, insn->src); in output_insn()
1084 src = pseudo_to_value(fn, insn->type, insn->src); in output_insn()
[all …]
H A Dsparse.c46 struct instruction *insn; in context_increase() local
50 if (!insn->bb) in context_increase()
54 val = insn->increment; in context_increase()
55 if (insn->check) { in context_increase()
66 } END_FOR_EACH_PTR(insn); in context_increase()
83 struct instruction *insn; in check_children() local
87 if (!insn) in check_children()
123 int new = insn->size; in check_cast_instruction()
179 check_byte_count(insn, argument(insn, 3)); in check_memset()
218 switch (insn->opcode) { in check_one_instruction()
[all …]
H A Dgraph.c47 struct instruction *insn; in graph_ep() local
76 FOR_EACH_PTR(bb->insns, insn) { in graph_ep()
77 if (!insn->bb) in graph_ep()
79 switch(insn->opcode) { in graph_ep()
99 } END_FOR_EACH_PTR(insn); in graph_ep()
123 struct instruction *insn; in graph_calls() local
134 FOR_EACH_PTR(bb->insns, insn) { in graph_calls()
135 if (!insn->bb) in graph_calls()
153 insn->pos.line, insn->pos.line, insn->pos.pos); in graph_calls()
158 insn->pos.line, insn->pos.line, insn->pos.pos); in graph_calls()
[all …]
H A Dcse.c42 hash = (insn->opcode << 3) + (insn->size >> 3); in cse_collect()
43 switch (insn->opcode) { in cse_collect()
45 hash += hashval(insn->src3); in cse_collect()
95 if (!insn->orig_type || insn->orig_type->bit_size < 0) in cse_collect()
268 kill_instruction(insn); in cse_one_instruction()
295 insn->bb = bb; in add_instruction_to_end()
318 if (insn == i1) in try_to_cse()
320 if (insn == i2) in try_to_cse()
359 if (!insn->bb) in cse_eliminate()
363 insn = try_to_cse(ep, last, insn); in cse_eliminate()
[all …]
H A Dliveness.c55 switch (insn->opcode) { in track_instruction_usage()
100 phi_defines(insn, insn->target, def); in track_instruction_usage()
113 if (insn->target != VOID) in track_instruction_usage()
210 if (!insn->bb) in track_pseudo_liveness()
212 assert(insn->bb == bb); in track_pseudo_liveness()
265 struct instruction *insn; in track_bb_phi_uses() local
267 if (insn->bb && insn->opcode == OP_PHI) in track_bb_phi_uses()
268 track_phi_uses(insn); in track_bb_phi_uses()
269 } END_FOR_EACH_PTR(insn); in track_bb_phi_uses()
291 struct instruction *insn; in track_pseudo_death_bb() local
[all …]
H A Dlinearize.c334 if (insn->src && insn->src != VOID) in show_instruction()
462 show_pseudo(insn->src1), show_pseudo(insn->src2), show_pseudo(insn->src3)); in show_instruction()
1065 use_pseudo(insn, left, &insn->src1); in add_binary_op()
1066 use_pseudo(insn, right, &insn->src2); in add_binary_op()
1172 use_pseudo(insn, src, &insn->src1); in add_unop()
1194 use_pseudo(insn, pre, &insn->base); in linearize_slice()
1399 use_pseudo(insn, src, &insn->src); in cast_pseudo()
1521 use_pseudo(insn, call, &insn->func); in linearize_call_expression()
1606 use_pseudo(insn, cond, &insn->src1); in linearize_select()
1607 use_pseudo(insn, valt, &insn->src2); in linearize_select()
[all …]
H A Dexample.c903 do_binop(state, insn, insn->src1, insn->src2); in generate_binop()
927 src1 = insn->src1; in generate_commutative_binop()
981 …output_insn(state, "mov.%d %s,%s", insn->size, reg_or_imm(state, insn->target), address(state, ins… in generate_store()
1019 struct hardreg *src = getreg(state, insn->src, insn->target); in generate_copy()
1026 struct hardreg *src = getreg(state, insn->src, insn->target); in generate_cast()
1131 if (insn->target && insn->target != VOID) in generate_call()
1143 src2 = getreg(state, insn->src3, insn->target); in generate_select()
1330 if (insn->asm_rules->outputs || insn->asm_rules->inputs) { in generate_asm()
1353 src = getreg(state, insn->src1, insn->target); in generate_compare()
1707 if (!insn->bb) in generate()
[all …]
H A Dunssa.c56 use_pseudo(pu->insn, tmp, pu->userp); in simplify_phi_node()
94 struct instruction *insn; in replace_phi_node() local
96 insn = src->def; in replace_phi_node()
97 if (!insn) in replace_phi_node()
99 insn->target = tmp; in replace_phi_node()
119 struct instruction *insn; in rewrite_phi_bb() local
124 FOR_EACH_PTR(bb->insns, insn) { in rewrite_phi_bb()
125 if (!insn->bb) in rewrite_phi_bb()
127 if (insn->opcode != OP_PHI) in rewrite_phi_bb()
129 replace_phi_node(insn); in rewrite_phi_bb()
[all …]
H A Dflow.h22 extern void convert_instruction_target(struct instruction *insn, pseudo_t src);
32 static inline int kill_instruction(struct instruction *insn) in kill_instruction() argument
34 return kill_insn(insn, 0); in kill_instruction()
36 static inline int kill_instruction_force(struct instruction *insn) in kill_instruction_force() argument
38 return kill_insn(insn, 1); in kill_instruction_force()
41 void check_access(struct instruction *insn);
44 int dominates(pseudo_t pseudo, struct instruction *insn, struct instruction *dom, int local);
H A Dlinearize.h15 struct instruction *insn; member
191 static inline void add_instruction(struct instruction_list **list, struct instruction *insn) in add_instruction() argument
193 add_ptr_list(list, insn); in add_instruction()
218 struct instruction *insn; in bb_terminated() local
221 insn = last_instruction(bb->insns); in bb_terminated()
222 return insn && insn->opcode >= OP_TERMINATOR in bb_terminated()
223 && insn->opcode <= OP_TERMINATOR_END; in bb_terminated()
276 user->insn = insn; in alloc_pseudo_user()
280 static inline void use_pseudo(struct instruction *insn, pseudo_t p, pseudo_t *pp) in use_pseudo() argument
284 add_pseudo_user_ptr(alloc_pseudo_user(insn, pp), &p->users); in use_pseudo()
[all …]
H A Doptimize.c35 struct instruction *insn; in clean_up_insns() local
36 FOR_EACH_PTR(bb->insns, insn) { in clean_up_insns()
37 repeat_phase |= simplify_instruction(insn); in clean_up_insns()
38 if (!insn->bb) in clean_up_insns()
40 assert(insn->bb == bb); in clean_up_insns()
41 cse_collect(insn); in clean_up_insns()
42 } END_FOR_EACH_PTR(insn); in clean_up_insns()
H A Dtest-unssa.c12 struct instruction *insn; in output_bb() local
17 FOR_EACH_PTR(bb->insns, insn) { in output_bb()
18 if (!insn->bb) in output_bb()
20 printf("\t%s\n", show_instruction(insn)); in output_bb()
22 END_FOR_EACH_PTR(insn); in output_bb()
H A Dcompile-i386.c174 char insn[32]; member
626 static void insn(const char *insn, struct storage *op1, struct storage *op2, in insn() argument
632 assert(insn != NULL); in insn()
634 strcpy(atom->insn, insn); in insn()
732 atom->insn, in emit_insn_atom()
886 insn("ret", NULL, NULL, NULL); in emit_func_post()
1191 insn("mov", src, dest, NULL); in emit_move()
1295 insn("movl", val, new, NULL); in emit_value()
1426 insn(opstr, src, dest, NULL); in emit_binop()
1449 insn("test", reg, reg, NULL); in emit_conditional_test()
[all …]
H A Dstorage.c271 struct instruction *insn; in combine_phi_storage() local
272 FOR_EACH_PTR(bb->insns, insn) { in combine_phi_storage()
276 if (!insn->bb || insn->opcode != OP_PHISOURCE) in combine_phi_storage()
279 FOR_EACH_PTR(insn->phi_users, phi) { in combine_phi_storage()
289 PACK_PTR_LIST(&insn->phi_users); in combine_phi_storage()
290 } END_FOR_EACH_PTR(insn); in combine_phi_storage()
H A Dcse.h8 void cse_collect(struct instruction *insn);
/illumos-gate/usr/src/cmd/sgs/rtld/sparcv9/
H A Dboot_elf.S214 sethi %hi(M_SETHI_L0), %o4 ! Get "sethi 0x0, %l0" insn
220 sethi %hi(M_SETHI_L1), %o4 ! Get "sethi 0x0, %l1" insn
225 sethi %hi(M_OR_L0L0), %o4 ! Get "or %l0, 0x0, %l0" insn
237 sethi %hi(M_OR_L0L1L0), %o4 ! get "or %l0, %l1, %l0" insn
248 sethi %hi(M_MOV_G1O0), %o4 ! get "mov %g1, %o0" insn
406 sethi %hi(M_JMPL_G1G0), %o3 ! Get "jmpl %g1, %g0" insn
417 sethi %hi(M_SETHI_G5), %o3 ! Get "sethi 0x0, %g5" insn
457 setuw M_JMPL_G1G0, %o3 ! Get "jmpl %g1, %g0" insn
527 sethi %hi(M_OR_G1G1), %o3 ! Get "or %g1, 0x0, %g1" insn
534 sethi %hi(M_SETHI_G5), %o3 ! Get "sethi 0x0, %g5" insn
[all …]
/illumos-gate/usr/src/lib/libm/common/C/
H A Dlibm.h165 #define PIC_G_LOAD(insn,sym,dst) \ argument
167 insn (%dst),%dst
178 #define PIC_G_LOAD(insn,sym,dst) \ argument
180 insn (%dst),%dst
188 #define PIC_G_LOAD(insn,sym,dst) insn sym,%dst argument
/illumos-gate/usr/src/uts/intel/os/
H A Darchdep.c435 uint32_t insn; in getuserpc() local
446 if (fuword32((void *)(upc - 2), &insn) != -1 && in getuserpc()
447 (insn & 0xffff) == 0x340f || (insn & 0xffff) == 0x050f) in getuserpc()