[02/11] arc: Update unexpected empty split condition

Message ID 239dc6f5de19c088ab44c102d0cc4f8b53de1d12.1622179420.git.linkw@linux.ibm.com
State New
Headers show
Series
  • Fix up some unexpected empty split conditions
Related show

Commit Message

apinski--- via Gcc-patches June 2, 2021, 5:04 a.m.
gcc/ChangeLog:

	* config/arc/arc.md (*bbit_di): Fix empty split condition.
---
 gcc/config/arc/arc.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.17.1

Comments

apinski--- via Gcc-patches June 2, 2021, 6:52 a.m. | #1
Hi,

Indeed, the split condition needs to be populated. However, I doubt that the pattern in question is used by the compiler. Do you have an example where it is exercised?

Thanks,
Claudiu
________________________________
From: Kewen Lin <linkw@linux.ibm.com>

Sent: Wednesday, June 2, 2021 8:04 AM
To: gcc-patches@gcc.gnu.org <gcc-patches@gcc.gnu.org>
Cc: Kewen Lin <linkw@linux.ibm.com>; gnu@amylaar.uk <gnu@amylaar.uk>; Claudiu Zissulescu <claziss@synopsys.com>; andrew.burgess@embecosm.com <andrew.burgess@embecosm.com>
Subject: [PATCH 02/11] arc: Update unexpected empty split condition

gcc/ChangeLog:

        * config/arc/arc.md (*bbit_di): Fix empty split condition.
---
 gcc/config/arc/arc.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 7a52551eef5..a03840c4c36 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -5020,7 +5020,7 @@ (define_insn_and_split "*bbit_di"
    (clobber (reg:CC_ZN CC_REG))]
   "!CROSSING_JUMP_P (insn)"
   "#"
-  ""
+  "&& 1"
   [(parallel
      [(set (pc) (if_then_else (match_dup 3) (label_ref (match_dup 0)) (pc)))
       (clobber (reg:CC_ZN CC_REG))])]
--
2.17.1
apinski--- via Gcc-patches June 2, 2021, 7:05 a.m. | #2
Hi Claudiu,

on 2021/6/2 下午2:52, Claudiu Zissulescu wrote:
> Hi,

> 

> Indeed, the split condition needs to be populated. However, I doubt that the pattern in question is used by the compiler. Do you have an example where it is exercised?

> 


Thanks for the reply!  Sorry that I don't have an example, the gensupport change will emit an error message
for this pattern in build stage even without actual running.

BR,
Kewen

> Thanks,

> Claudiu

> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

> *From:* Kewen Lin <linkw@linux.ibm.com>

> *Sent:* Wednesday, June 2, 2021 8:04 AM

> *To:* gcc-patches@gcc.gnu.org <gcc-patches@gcc.gnu.org>

> *Cc:* Kewen Lin <linkw@linux.ibm.com>; gnu@amylaar.uk <gnu@amylaar.uk>; Claudiu Zissulescu <claziss@synopsys.com>; andrew.burgess@embecosm.com <andrew.burgess@embecosm.com>

> *Subject:* [PATCH 02/11] arc: Update unexpected empty split condition

>  

> gcc/ChangeLog:

> 

>         * config/arc/arc.md (*bbit_di): Fix empty split condition.

> ---

>  gcc/config/arc/arc.md | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md

> index 7a52551eef5..a03840c4c36 100644

> --- a/gcc/config/arc/arc.md

> +++ b/gcc/config/arc/arc.md

> @@ -5020,7 +5020,7 @@ (define_insn_and_split "*bbit_di"

>     (clobber (reg:CC_ZN CC_REG))]

>    "!CROSSING_JUMP_P (insn)"

>    "#"

> -  ""

> +  "&& 1"

>    [(parallel

>       [(set (pc) (if_then_else (match_dup 3) (label_ref (match_dup 0)) (pc)))

>        (clobber (reg:CC_ZN CC_REG))])]

> -- 

> 2.17.1
apinski--- via Gcc-patches June 2, 2021, 7:12 a.m. | #3
Hi Kewen,

Maybe it is best just to remove the pattern entirely, I couldn't exercise it myself. I was secretly hopping someone could do it.
Please can you submit a patch which removes it if it is not too much trouble?

Thanks,
Claudiu
________________________________
From: Kewen.Lin <linkw@linux.ibm.com>

Sent: Wednesday, June 2, 2021 10:05 AM
To: Claudiu Zissulescu <claziss@synopsys.com>; gcc-patches@gcc.gnu.org <gcc-patches@gcc.gnu.org>
Cc: gnu@amylaar.uk <gnu@amylaar.uk>; andrew.burgess@embecosm.com <andrew.burgess@embecosm.com>
Subject: Re: [PATCH 02/11] arc: Update unexpected empty split condition

Hi Claudiu,

on 2021/6/2 下午2:52, Claudiu Zissulescu wrote:
> Hi,

>

> Indeed, the split condition needs to be populated. However, I doubt that the pattern in question is used by the compiler. Do you have an example where it is exercised?

>


Thanks for the reply!  Sorry that I don't have an example, the gensupport change will emit an error message
for this pattern in build stage even without actual running.

BR,
Kewen

> Thanks,

> Claudiu

> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

> *From:* Kewen Lin <linkw@linux.ibm.com>

> *Sent:* Wednesday, June 2, 2021 8:04 AM

> *To:* gcc-patches@gcc.gnu.org <gcc-patches@gcc.gnu.org>

> *Cc:* Kewen Lin <linkw@linux.ibm.com>; gnu@amylaar.uk <gnu@amylaar.uk>; Claudiu Zissulescu <claziss@synopsys.com>; andrew.burgess@embecosm.com <andrew.burgess@embecosm.com>

> *Subject:* [PATCH 02/11] arc: Update unexpected empty split condition

>

> gcc/ChangeLog:

>

>         * config/arc/arc.md (*bbit_di): Fix empty split condition.

> ---

>  gcc/config/arc/arc.md | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md

> index 7a52551eef5..a03840c4c36 100644

> --- a/gcc/config/arc/arc.md

> +++ b/gcc/config/arc/arc.md

> @@ -5020,7 +5020,7 @@ (define_insn_and_split "*bbit_di"

>     (clobber (reg:CC_ZN CC_REG))]

>    "!CROSSING_JUMP_P (insn)"

>    "#"

> -  ""

> +  "&& 1"

>    [(parallel

>       [(set (pc) (if_then_else (match_dup 3) (label_ref (match_dup 0)) (pc)))

>        (clobber (reg:CC_ZN CC_REG))])]

> --

> 2.17.1

Patch

diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 7a52551eef5..a03840c4c36 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -5020,7 +5020,7 @@  (define_insn_and_split "*bbit_di"
    (clobber (reg:CC_ZN CC_REG))]
   "!CROSSING_JUMP_P (insn)"
   "#"
-  ""
+  "&& 1"
   [(parallel
      [(set (pc) (if_then_else (match_dup 3) (label_ref (match_dup 0)) (pc)))
       (clobber (reg:CC_ZN CC_REG))])]