Remove -pipe from default list of args. Closes #8508.
diff --git a/docs/markdown/snippets/nopipe.md b/docs/markdown/snippets/nopipe.md
new file mode 100644
index 0000000..431205b
--- /dev/null
+++ b/docs/markdown/snippets/nopipe.md
@@ -0,0 +1,10 @@
+## `-pipe` no longer used by default
+
+Meson used to add the `-pipe` command line argument to all compilers
+that supported it, but no longer does. If you need this, then you can
+add it manually. However note that you should not do this unless you
+have actually measured that it provides performance improvements. In
+our tests we could not find a case where adding `-pipe` made
+compilation faster and using `-pipe` [can cause sporadic build
+failures in certain
+cases](https://github.com/mesonbuild/meson/issues/8508).
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
index 787c2c1..87db2a4 100644
--- a/mesonbuild/compilers/mixins/clike.py
+++ b/mesonbuild/compilers/mixins/clike.py
@@ -154,7 +154,7 @@
         '''
         Args that are always-on for all C compilers other than MSVC
         '''
-        return ['-pipe'] + self.get_largefile_args()
+        return self.get_largefile_args()
 
     def get_no_stdinc_args(self) -> T.List[str]:
         return ['-nostdinc']
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 68744ef..26d844d 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -4667,9 +4667,6 @@
             elif arg == '-g':
                 mlog.warning(f'Consider using the built-in debug option instead of using "{arg}".',
                              location=self.current_node)
-            elif arg == '-pipe':
-                mlog.warning("You don't need to add -pipe, Meson will use it automatically when it is available.",
-                             location=self.current_node)
             elif arg.startswith('-fsanitize'):
                 mlog.warning(f'Consider using the built-in option for sanitizers instead of using "{arg}".',
                              location=self.current_node)