================
@@ -738,12 +738,20 @@ void TextDiagnostic::printDiagnosticMessage(raw_ostream 
&OS,
 }
 
 void TextDiagnostic::emitFilename(StringRef Filename, const SourceManager &SM) 
{
-#ifdef _WIN32
-  SmallString<4096> TmpFilename;
-#endif
-  if (DiagOpts.AbsolutePath) {
-    auto File = SM.getFileManager().getOptionalFileRef(Filename);
-    if (File) {
+  auto File = SM.getFileManager().getOptionalFileRef(Filename);
+
+  // Try to simplify paths that contain '..' in any case since paths to
+  // standard library headers especially tend to get quite long otherwise.
+  // Only do that for local filesystems though to avoid slowing down
+  // compilation too much.
+  auto AlwaysSimplify = [&] {
+    return File->getName().contains("..") &&
+           llvm::sys::fs::is_local(File->getName());
+  };
----------------
AaronBallman wrote:

Without your patch, the average is consistently just shy of 7 seconds
With your patch, the average is kind of hard to trust; I've seen it as low as 5 
seconds and as high as 9 seconds.

Overall, I think this means I'm either not testing what I think I'm testing or 
the performance changes aren't significant. If I was consistently getting 9 
second times, I think that's demonstrate something tangible.

WDYT?

https://github.com/llvm/llvm-project/pull/143520
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to