diff --git a/include/llvm/System/Path.h b/include/llvm/System/Path.h
index 7862e21..10c8bcc 100644
--- a/include/llvm/System/Path.h
+++ b/include/llvm/System/Path.h
@@ -18,6 +18,7 @@
 #include <set>
 #include <string>
 #include <vector>
+#include <ostream>
 
 namespace llvm {
 namespace sys {
@@ -161,7 +162,7 @@
       /// @throws std::string if the path string is not legal.
       /// @param unverified_path The path to verify and assign.
       /// @brief Construct a Path from a string.
-      explicit Path(std::string unverified_path);
+      explicit Path(const std::string& unverified_path);
 
     /// @}
     /// @name Operators
@@ -547,6 +548,11 @@
   LLVMFileType IdentifyFileType(const char*magic, unsigned length);
 }
 
+inline std::ostream& operator<<(std::ostream& strm, const sys::Path& aPath) {
+  strm << aPath.toString();
+  return strm;
+}
+
 }
 
 // vim: sw=2
diff --git a/lib/System/Unix/Path.cpp b/lib/System/Unix/Path.cpp
index 63184f6..e655ef4 100644
--- a/lib/System/Unix/Path.cpp
+++ b/lib/System/Unix/Path.cpp
@@ -27,7 +27,7 @@
 namespace llvm {
 using namespace sys;
 
-Path::Path(std::string unverified_path) 
+Path::Path(const std::string& unverified_path) 
   : path(unverified_path)
 {
   if (unverified_path.empty())
diff --git a/lib/System/Unix/Path.inc b/lib/System/Unix/Path.inc
index 63184f6..e655ef4 100644
--- a/lib/System/Unix/Path.inc
+++ b/lib/System/Unix/Path.inc
@@ -27,7 +27,7 @@
 namespace llvm {
 using namespace sys;
 
-Path::Path(std::string unverified_path) 
+Path::Path(const std::string& unverified_path) 
   : path(unverified_path)
 {
   if (unverified_path.empty())
diff --git a/lib/System/Win32/Path.cpp b/lib/System/Win32/Path.cpp
index 095417f..070ebb3 100644
--- a/lib/System/Win32/Path.cpp
+++ b/lib/System/Win32/Path.cpp
@@ -97,7 +97,7 @@
   return *TempDirectory;
 }
 
-Path::Path(std::string unverified_path)
+Path::Path(const std::string& unverified_path)
   : path(unverified_path)
 {
   FlipBackSlashes(path);
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index 095417f..070ebb3 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -97,7 +97,7 @@
   return *TempDirectory;
 }
 
-Path::Path(std::string unverified_path)
+Path::Path(const std::string& unverified_path)
   : path(unverified_path)
 {
   FlipBackSlashes(path);
