Module Name:    src
Committed By:   kalvisd
Date:           Sun Sep 29 13:13:43 UTC 2024

Modified Files:
        src/external/gpl3/gcc/dist/gcc/config/vax: vax.md

Log Message:
gcc: vax: update limit operand in casesi instruction pattern

    Wrap the limit operand in a (use ), to allow single_set() to identify
    it as an RTL expression setting PC.  This allows the optimiser to
    optimise away case statements branching only to a basic block.
    Note that the label is used in the casesi pattern.

    OK rin@


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/external/gpl3/gcc/dist/gcc/config/vax/vax.md

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/dist/gcc/config/vax/vax.md
diff -u src/external/gpl3/gcc/dist/gcc/config/vax/vax.md:1.22 src/external/gpl3/gcc/dist/gcc/config/vax/vax.md:1.23
--- src/external/gpl3/gcc/dist/gcc/config/vax/vax.md:1.22	Sun Sep 29 12:52:56 2024
+++ src/external/gpl3/gcc/dist/gcc/config/vax/vax.md	Sun Sep 29 13:13:43 2024
@@ -2948,7 +2948,7 @@
   "#"
   "reload_completed"
   [(parallel
-     [(match_dup 1)
+     [(use (match_dup 1))
       (set (pc)
 	   (plus:SI (sign_extend:SI
 		      (mem:HI (plus:SI
@@ -2957,11 +2957,13 @@
 				  (const_int 2))
 				(pc))))
 		    (label_ref:SI (match_dup 2))))
-      (clobber (reg:CC VAX_PSL_REGNUM))])]
+      (clobber (reg:CC VAX_PSL_REGNUM))
+      (use (label_ref:SI (match_dup 2)))
+     ])]
   "")
 
 (define_insn "*casesi1"
-  [(match_operand:SI 1 "const_int_operand" "n")
+  [(use (match_operand:SI 1 "const_int_operand" "n"))
    (set (pc)
 	(plus:SI (sign_extend:SI
 		   (mem:HI (plus:SI
@@ -2970,7 +2972,9 @@
 			       (const_int 2))
 			     (pc))))
 		 (label_ref:SI (match_operand 2 "" ""))))
-   (clobber (reg:CC VAX_PSL_REGNUM))]
+   (clobber (reg:CC VAX_PSL_REGNUM))
+   (use (label_ref:SI (match_dup 2)))
+   ]
   "reload_completed"
   "casel %0,$0,%1")
 

Reply via email to