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