For GCC, we can configure default target with with-{tune/arch/abi}
options. While for Clang, we don't have the similar way to configure.
Here we add two CMake options CLANG_RISCV32_DEFAULT_CPU and
CLANG_RISCV64_DEFAULT_CPU to configure default CPU for riscv32
and riscv64.
By specifying these two options when compiling Clang/LLVM, we can
achieve the same goal just like GCC's with-{tune/arch/abi}:
- Tune/arch info can be inferred from CPU info.
- Default ABI can be computed from arch string.
And we can do native detection via specifying default CPU to native.
Test clang/test/Driver/riscv-march-mcpu-mtune.c will failed if we
specify different default CPU.
Can we initialize CPU to the default CPU at the top? Remove the CPU.empty() check. Then we don't need a second "native" check.