The target clone pass is the only small IPA pass that doesn't disable
itself after errors but has properties whose verification can fail
because we cut off build SSA passes after errors.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

        PR ipa/107897
        * multiple_target.cc (pass_target_clone::gate): Disable
        after errors.
---
 gcc/multiple_target.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/multiple_target.cc b/gcc/multiple_target.cc
index 77e0f21dd05..fd88c22b002 100644
--- a/gcc/multiple_target.cc
+++ b/gcc/multiple_target.cc
@@ -539,7 +539,8 @@ public:
 bool
 pass_target_clone::gate (function *)
 {
-  return true;
+  /* If there were any errors avoid pass property verification errors.  */
+  return !seen_error ();
 }
 
 } // anon namespace
-- 
2.35.3

Reply via email to