// search for an expression in prior instructions.
// search for an expression in prior instructions. Return whether expression was found.
boolbackup_until(conststring&insn_type_regex_str,// what to search for
// If an assignment is found, stopped_because_set is set to this instruction and false is returned
boolbackup_until_or_move(conststring&insn_type_regex_str,// what to search for
Instruction_t*&prev,// output param -- the instruction we found.
Instruction_t*&prev,// output param -- the instruction we found.
Instruction_t*orig,// where to start the search.
Instruction_t*orig,// where to start the search.
Instruction_t*&stopped_because_set,// output param -- the instruction that stopped the search because of stop_if_set. nullptr if the search was not stopped because of this reason
conststring&stop_if_set="",// stop if an operand that's written matches this expression.
conststring&stop_if_set="",// stop if an operand that's written matches this expression.
conststring&stop_if_opcode="",// stop if an opcode matches this expression
conststring&stop_if_opcode="",// stop if an opcode matches this expression
boolrecursive=false,// search recursively?
boolrecursive=false,// search recursively?
uint32_tmax_insns=10000u,// max number of instructions to search through.
uint32_tmax_insns=10000u,// max number of instructions to search through.
uint32_tmax_recursions=5u)// make number of blocks to recusive into
uint32_tmax_recursions=5u)// make number of blocks to recusive into