[Driver] Fix use after free in Hexagon toolchain code.

No functionality change intended.

llvm-svn: 316127
diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp
index ea100fb..d4ab5dc 100644
--- a/clang/lib/Driver/ToolChains/Hexagon.cpp
+++ b/clang/lib/Driver/ToolChains/Hexagon.cpp
@@ -28,8 +28,8 @@
 using namespace llvm::opt;
 
 // Default hvx-length for various versions.
-static std::string getDefaultHvxLength(const StringRef &Cpu) {
-  return llvm::StringSwitch<std::string>(Cpu)
+static StringRef getDefaultHvxLength(StringRef Cpu) {
+  return llvm::StringSwitch<StringRef>(Cpu)
       .Case("v60", "64b")
       .Case("v62", "64b")
       .Default("128b");
@@ -93,7 +93,7 @@
   }
   // Default hvx-length based on Cpu.
   else if (HasHVX)
-    HVXLength = StringRef(getDefaultHvxLength(Cpu));
+    HVXLength = getDefaultHvxLength(Cpu);
 
   if (!HVXLength.empty()) {
     HVXFeature =