Lines Matching refs:pseudo
20 // or when it doesn't matter if the pseudo is a constant or not.
57 // check if a pseudo is a power of 2
67 static struct basic_block *phi_parent(struct basic_block *source, pseudo_t pseudo)
69 /* Can't go upwards if the pseudo is defined in the bb it came from.. */
70 if (pseudo->type == PSEUDO_REG) {
71 struct instruction *def = pseudo->def;
172 * select pseudo, p1, p2
189 // @pseudo: the candidate resulting pseudo (NULL when starting)
199 static pseudo_t trivial_phi(pseudo_t pseudo, struct instruction *insn, struct pseudo_list **list)
220 if (!pseudo) {
221 pseudo = src;
224 if (src == pseudo)
229 if ((pseudo = trivial_phi(pseudo, def, list)))
235 return pseudo ? pseudo : VOID;
241 pseudo_t pseudo;
243 if ((pseudo = trivial_phi(NULL, insn, &list))) {
244 convert_instruction_target(insn, pseudo);
316 kill_use(&con->pseudo);
429 static inline int constant(pseudo_t pseudo)
431 return pseudo->type == PSEUDO_VAL;
478 int replace_with_pseudo(struct instruction *insn, pseudo_t pseudo)
480 convert_instruction_target(insn, pseudo);
605 // try to determine the maximum size of bits in a pseudo
609 static unsigned int operand_size(struct instruction *insn, pseudo_t pseudo)
613 if (pseudo->type == PSEUDO_REG) {
614 struct instruction *src = pseudo->def;
621 if (pseudo->type == PSEUDO_VAL) {
622 unsigned int orig_size = value_size(pseudo->value);
911 static int simplify_shift(struct instruction *insn, pseudo_t pseudo, long long value)
920 return replace_with_pseudo(insn, pseudo);
930 if (pseudo->type != PSEUDO_REG)
932 def = pseudo->def;
963 size = operand_size(insn, pseudo);
966 switch(DEF_OPCODE(def, pseudo)) {
979 if (!one_use(pseudo))
1003 switch(DEF_OPCODE(def, pseudo)) {
1047 return replace_pseudo(insn, &insn->src1, pseudo->def->src1);
1757 static inline int simple_pseudo(pseudo_t pseudo)
1759 return pseudo->type == PSEUDO_VAL || pseudo->type == PSEUDO_SYM;
1778 // check if it safe for a pseudo to be used by an instruction
1803 pseudo_t pseudo = insn->src1;
1807 if (pseudo->type != PSEUDO_REG)
1809 def = pseudo->def;
2670 static struct basic_block *is_label(pseudo_t pseudo)
2674 if (DEF_OPCODE(def, pseudo) != OP_LABEL)