The GCC RISC-V toolchain accepts -msave-restore and -mno-save-restore
to control whether libcalls are used for saving and restoring the stack within
prologues and epilogues.
Clang currently errors if someone passes -msave-restore or -mno-save-restore.
This means that people need to change build configurations to use clang. This
patch adds these flags, so that clang invocations can now match gcc.
As the RISC-V backend does not currently have a save-restore target feature,
we emit a warning if someone requests -msave-restore. LLVM does not error if
we pass the (unimplemented) target features +save-restore or -save-restore.