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")