[ARM] Changes to Arch/CPU handling to help with -Wa,-mfpu etc. (nfc)

To be able to handle -Wa, options in the assembler (ClangAs), we need to
make the handling of options based on the value of the options, not direct
Arguments from the list, since the list is immutable.

No functional change in this patch, but this allows validating of -Wa,-mfpu
and friends in the same way we validate -mfpu and friends, *just* for the
assembler.

llvm-svn: 243352
diff --git a/clang/lib/Driver/Tools.h b/clang/lib/Driver/Tools.h
index 4f816a0..1b1086a 100644
--- a/clang/lib/Driver/Tools.h
+++ b/clang/lib/Driver/Tools.h
@@ -240,13 +240,13 @@
 } // end namespace amdgpu
 
 namespace arm {
-std::string getARMTargetCPU(const llvm::opt::ArgList &Args,
+std::string getARMTargetCPU(StringRef CPU, StringRef Arch,
                             const llvm::Triple &Triple);
-const std::string getARMArch(const llvm::opt::ArgList &Args,
+const std::string getARMArch(StringRef Arch,
                              const llvm::Triple &Triple);
-const char *getARMCPUForMArch(const llvm::opt::ArgList &Args,
+const char* getARMCPUForMArch(StringRef Arch,
                               const llvm::Triple &Triple);
-const char *getLLVMArchSuffixForARM(StringRef CPU, StringRef Arch);
+const char* getLLVMArchSuffixForARM(StringRef CPU, StringRef Arch);
 
 void appendEBLinkFlags(const llvm::opt::ArgList &Args, ArgStringList &CmdArgs,
                        const llvm::Triple &Triple);