diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/recog.c | 15 |
2 files changed, 12 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 072c891..cb4132f9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2020-02-05 Jakub Jelinek <jakub@redhat.com> + + PR target/92190 + * recog.c (pass_split_after_reload::gate): For STACK_REGS targets, + don't run when !optimize. + (pass_split_before_regstack::gate): For STACK_REGS targets, run even + when !optimize. + 2020-02-05 Richard Biener <rguenther@suse.de> PR middle-end/90648 diff --git a/gcc/recog.c b/gcc/recog.c index 5dd1a92..5790a58 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -3924,14 +3924,7 @@ public: virtual bool gate (function *) { /* If optimizing, then go ahead and split insns now. */ - if (optimize > 0) - return true; - -#ifdef STACK_REGS - return true; -#else - return false; -#endif + return optimize > 0; } virtual unsigned int execute (function *) @@ -3991,12 +3984,12 @@ pass_split_before_regstack::gate (function *) split until final which doesn't allow splitting if HAVE_ATTR_length. */ # ifdef INSN_SCHEDULING - return (optimize && !flag_schedule_insns_after_reload); + return !optimize || !flag_schedule_insns_after_reload; # else - return (optimize); + return true; # endif #else - return 0; + return false; #endif } |