[RISCV] Support fast calling convention

LLVM may annotate the function with fastcc if there has only one caller
and there're no other caller out of the module and the function is not
naked or contain variable arguments.

The fastcc functions could pass the arguments by the caller saved registers.

Differential Revision: https://reviews.llvm.org/D68559

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374857 91177308-0d34-0410-b5e6-96231b3b80d8
3 files changed