Adds test.support.PGO and skips tests that are not useful for PGO.
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py
index ba9e48b..dbbf72f 100644
--- a/Lib/test/libregrtest/main.py
+++ b/Lib/test/libregrtest/main.py
@@ -473,6 +473,8 @@
         if self.ns.wait:
             input("Press any key to continue...")
 
+        support.PGO = self.ns.pgo
+
         setup_tests(self.ns)
 
         self.find_tests(tests)
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 4a7cd40..3e2ab43 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -105,7 +105,7 @@
     "check_warnings", "check_no_resource_warning", "EnvironmentVarGuard",
     "run_with_locale", "swap_item",
     "swap_attr", "Matcher", "set_memlimit", "SuppressCrashReport", "sortdict",
-    "run_with_tz",
+    "run_with_tz", "PGO",
     ]
 
 class Error(Exception):
@@ -878,6 +878,10 @@
 # Save the initial cwd
 SAVEDCWD = os.getcwd()
 
+# Set by libregrtest/main.py so we can skip tests that are not
+# useful for PGO
+PGO = False
+
 @contextlib.contextmanager
 def temp_dir(path=None, quiet=False):
     """Return a context manager that creates a temporary directory.
diff --git a/Lib/test/test_asyncore.py b/Lib/test/test_asyncore.py
index 3857916..dbee593 100644
--- a/Lib/test/test_asyncore.py
+++ b/Lib/test/test_asyncore.py
@@ -11,6 +11,9 @@
 from test import support
 from io import BytesIO
 
+if support.PGO:
+    raise unittest.SkipTest("test is not helpful for PGO")
+
 try:
     import threading
 except ImportError:
diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py
index 09bafbd..30b5f16 100644
--- a/Lib/test/test_gdb.py
+++ b/Lib/test/test_gdb.py
@@ -110,6 +110,7 @@
 
 BREAKPOINT_FN='builtin_id'
 
+@support.skipIf(support.PGO, "not useful for PGO")
 class DebuggerTests(unittest.TestCase):
 
     """Test that the debugger can debug Python."""
diff --git a/Lib/test/test_multiprocessing_fork.py b/Lib/test/test_multiprocessing_fork.py
index 2bf4e75..9f22500 100644
--- a/Lib/test/test_multiprocessing_fork.py
+++ b/Lib/test/test_multiprocessing_fork.py
@@ -1,6 +1,12 @@
 import unittest
 import test._test_multiprocessing
 
+from test import support
+
+if support.PGO:
+    raise unittest.SkipTest("test is not helpful for PGO")
+
+
 test._test_multiprocessing.install_tests_in_module_dict(globals(), 'fork')
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_multiprocessing_forkserver.py b/Lib/test/test_multiprocessing_forkserver.py
index 193a04a..407bb3f 100644
--- a/Lib/test/test_multiprocessing_forkserver.py
+++ b/Lib/test/test_multiprocessing_forkserver.py
@@ -1,6 +1,11 @@
 import unittest
 import test._test_multiprocessing
 
+from test import support
+
+if support.PGO:
+    raise unittest.SkipTest("test is not helpful for PGO")
+
 test._test_multiprocessing.install_tests_in_module_dict(globals(), 'forkserver')
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_multiprocessing_main_handling.py b/Lib/test/test_multiprocessing_main_handling.py
index 2e15cd8..32593da 100644
--- a/Lib/test/test_multiprocessing_main_handling.py
+++ b/Lib/test/test_multiprocessing_main_handling.py
@@ -16,6 +16,9 @@
     make_pkg, make_script, make_zip_pkg, make_zip_script,
     assert_python_ok)
 
+if support.PGO:
+    raise unittest.SkipTest("test is not helpful for PGO")
+
 # Look up which start methods are available to test
 import multiprocessing
 AVAILABLE_START_METHODS = set(multiprocessing.get_all_start_methods())
diff --git a/Lib/test/test_multiprocessing_spawn.py b/Lib/test/test_multiprocessing_spawn.py
index 334ae9e..6558952 100644
--- a/Lib/test/test_multiprocessing_spawn.py
+++ b/Lib/test/test_multiprocessing_spawn.py
@@ -1,6 +1,11 @@
 import unittest
 import test._test_multiprocessing
 
+from test import support
+
+if support.PGO:
+    raise unittest.SkipTest("test is not helpful for PGO")
+
 test._test_multiprocessing.install_tests_in_module_dict(globals(), 'spawn')
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 2bfb69c..0906606 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -21,6 +21,9 @@
 except ImportError:
     threading = None
 
+if support.PGO:
+    raise unittest.SkipTest("test is not helpful for PGO")
+
 mswindows = (sys.platform == "win32")
 
 #