internal-fn: Support undefined rtx for uninitialized SSA_NAME[PR110751]
According to PR: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110751
As Richard and Richi suggested, we recognize uninitialized SSA_NAME and convert it
into SCRATCH rtx if the target predicate allows SCRATCH.
It can help to reduce redundant data move instructions of targets like RISC-V.
Bootstrap and Regression on x86 passed.
gcc/ChangeLog:
PR target/110751
* internal-fn.cc (expand_fn_using_insn): Support undefined rtx value.
* optabs.cc (maybe_legitimize_operand): Ditto.
(can_reuse_operands_p): Ditto.
* optabs.h (enum expand_operand_type): Ditto.
(create_undefined_input_operand): Ditto.