diff --git a/0384-x86-64-Don-t-use-temp-for-argument-in-a-TImode-regis.patch b/0384-x86-64-Don-t-use-temp-for-argument-in-a-TImode-regis.patch new file mode 100644 index 0000000000000000000000000000000000000000..075dbbbd70151733ce2ce69fb41af7222d87aa1a --- /dev/null +++ b/0384-x86-64-Don-t-use-temp-for-argument-in-a-TImode-regis.patch @@ -0,0 +1,119 @@ +From 3466859f47306e3e3006e810cc5a7fb64be2266a Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Fri, 6 Sep 2024 05:24:07 -0700 +Subject: [PATCH 1/4] x86-64: Don't use temp for argument in a TImode register + +Don't use temp for a PARALLEL BLKmode argument of an EXPR_LIST expression +in a TImode register. Otherwise, the TImode variable will be put in +the GPR save area which guarantees only 8-byte alignment. + +gcc/ + + PR target/116621 + * config/i386/i386.cc (ix86_gimplify_va_arg): Don't use temp for + a PARALLEL BLKmode container of an EXPR_LIST expression in a + TImode register. + +gcc/testsuite/ + + PR target/116621 + * gcc.target/i386/pr116621.c: New test. + +Signed-off-by: H.J. Lu +(cherry picked from commit fa7bbb065c63aa802e0bbb04d605407dad58cf94) +--- + gcc/config/i386/i386.cc | 22 ++++++++++-- + gcc/testsuite/gcc.target/i386/pr116621.c | 43 ++++++++++++++++++++++++ + 2 files changed, 63 insertions(+), 2 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/pr116621.c + +diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc +index e2743e0bd..8a5730a6b 100644 +--- a/gcc/config/i386/i386.cc ++++ b/gcc/config/i386/i386.cc +@@ -4780,13 +4780,31 @@ ix86_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p, + + examine_argument (nat_mode, type, 0, &needed_intregs, &needed_sseregs); + +- need_temp = (!REG_P (container) ++ bool container_in_reg = false; ++ if (REG_P (container)) ++ container_in_reg = true; ++ else if (GET_CODE (container) == PARALLEL ++ && GET_MODE (container) == BLKmode ++ && XVECLEN (container, 0) == 1) ++ { ++ /* Check if it is a PARALLEL BLKmode container of an EXPR_LIST ++ expression in a TImode register. In this case, temp isn't ++ needed. Otherwise, the TImode variable will be put in the ++ GPR save area which guarantees only 8-byte alignment. */ ++ rtx x = XVECEXP (container, 0, 0); ++ if (GET_CODE (x) == EXPR_LIST ++ && REG_P (XEXP (x, 0)) ++ && XEXP (x, 1) == const0_rtx) ++ container_in_reg = true; ++ } ++ ++ need_temp = (!container_in_reg + && ((needed_intregs && TYPE_ALIGN (type) > 64) + || TYPE_ALIGN (type) > 128)); + + /* In case we are passing structure, verify that it is consecutive block + on the register save area. If not we need to do moves. */ +- if (!need_temp && !REG_P (container)) ++ if (!need_temp && !container_in_reg) + { + /* Verify that all registers are strictly consecutive */ + if (SSE_REGNO_P (REGNO (XEXP (XVECEXP (container, 0, 0), 0)))) +diff --git a/gcc/testsuite/gcc.target/i386/pr116621.c b/gcc/testsuite/gcc.target/i386/pr116621.c +new file mode 100644 +index 000000000..704266458 +--- /dev/null ++++ b/gcc/testsuite/gcc.target/i386/pr116621.c +@@ -0,0 +1,43 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2" } */ ++ ++#include ++#include ++ ++union S8302 ++{ ++ union ++ { ++ double b; ++ int c; ++ } a; ++ long double d; ++ unsigned short int f[5]; ++}; ++ ++union S8302 s8302; ++extern void check8302va (int i, ...); ++ ++int ++main (void) ++{ ++ memset (&s8302, '\0', sizeof (s8302)); ++ s8302.a.b = -221438.250000; ++ check8302va (1, s8302); ++ return 0; ++} ++ ++__attribute__((noinline, noclone)) ++void ++check8302va (int z, ...) ++{ ++ union S8302 arg, *p; ++ va_list ap; ++ ++ __builtin_va_start (ap, z); ++ p = &s8302; ++ arg = __builtin_va_arg (ap, union S8302); ++ if (p->a.b != arg.a.b) ++ __builtin_abort (); ++ __builtin_va_end (ap); ++} +-- +2.31.1 + diff --git a/0385-x86-Don-t-use-address-override-with-segment-regsiter.patch b/0385-x86-Don-t-use-address-override-with-segment-regsiter.patch new file mode 100644 index 0000000000000000000000000000000000000000..88301aa517daeb34458d960bfbd703bdc655be42 --- /dev/null +++ b/0385-x86-Don-t-use-address-override-with-segment-regsiter.patch @@ -0,0 +1,126 @@ +From 9b75fdadfe3541634accd204d3ec5d8573978acf Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Wed, 25 Sep 2024 16:39:04 +0800 +Subject: [PATCH 2/4] x86: Don't use address override with segment regsiter + +Address override only applies to the (reg32) part in the thread address +fs:(reg32). Don't rewrite thread address like + +(set (reg:CCZ 17 flags) + (compare:CCZ (reg:SI 98 [ __gmpfr_emax.0_1 ]) + (mem/c:SI (plus:SI (plus:SI (unspec:SI [ + (const_int 0 [0]) + ] UNSPEC_TP) + (reg:SI 107)) + (const:SI (unspec:SI [ + (symbol_ref:SI ("previous_emax") [flags 0x1a] ) + ] UNSPEC_DTPOFF))) [1 previous_emax+0 S4 A32]))) + +if address override is used to avoid the invalid memory operand like + + cmpl %fs:previous_emax@dtpoff(%eax), %r12d + +gcc/ + + PR target/116839 + * config/i386/i386.cc (ix86_rewrite_tls_address_1): Make it + static. Return if TLS address is thread register plus an integer + register. + +gcc/testsuite/ + + PR target/116839 + * gcc.target/i386/pr116839.c: New file. + +Signed-off-by: H.J. Lu +(cherry picked from commit c79cc30862d7255ca15884aa956d1ccfa279d86a) +--- + gcc/config/i386/i386.cc | 9 ++++- + gcc/testsuite/gcc.target/i386/pr116839.c | 48 ++++++++++++++++++++++++ + 2 files changed, 56 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.target/i386/pr116839.c + +diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc +index 8a5730a6b..0b9556f8e 100644 +--- a/gcc/config/i386/i386.cc ++++ b/gcc/config/i386/i386.cc +@@ -11786,7 +11786,7 @@ ix86_tls_address_pattern_p (rtx op) + } + + /* Rewrite *LOC so that it refers to a default TLS address space. */ +-void ++static void + ix86_rewrite_tls_address_1 (rtx *loc) + { + subrtx_ptr_iterator::array_type array; +@@ -11808,6 +11808,13 @@ ix86_rewrite_tls_address_1 (rtx *loc) + if (GET_CODE (u) == UNSPEC + && XINT (u, 1) == UNSPEC_TP) + { ++ /* NB: Since address override only applies to the ++ (reg32) part in fs:(reg32), return if address ++ override is used. */ ++ if (Pmode != word_mode ++ && REG_P (XEXP (*x, 1 - i))) ++ return; ++ + addr_space_t as = DEFAULT_TLS_SEG_REG; + + *x = XEXP (*x, 1 - i); +diff --git a/gcc/testsuite/gcc.target/i386/pr116839.c b/gcc/testsuite/gcc.target/i386/pr116839.c +new file mode 100644 +index 000000000..e5df82562 +--- /dev/null ++++ b/gcc/testsuite/gcc.target/i386/pr116839.c +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { ! ia32 } } } */ ++/* { dg-require-effective-target maybe_x32 } */ ++/* { dg-options "-mx32 -O2 -fPIC -mtls-dialect=gnu2" } */ ++/* { dg-final { scan-assembler-not "cmpl\[ \t\]+%fs:previous_emax@dtpoff\\(%eax\\)" } } */ ++ ++typedef long mpfr_prec_t; ++typedef long mpfr_exp_t; ++typedef struct { ++ mpfr_prec_t _mpfr_prec; ++} __mpfr_struct; ++typedef __mpfr_struct mpfr_t[1]; ++extern _Thread_local mpfr_exp_t __gmpfr_emax; ++static _Thread_local mpfr_exp_t previous_emax; ++static _Thread_local mpfr_t bound_emax; ++extern const mpfr_t __gmpfr_const_log2_RNDD; ++extern const mpfr_t __gmpfr_const_log2_RNDU; ++ ++typedef enum { ++ MPFR_RNDN=0, ++ MPFR_RNDZ, ++ MPFR_RNDU, ++ MPFR_RNDD, ++ MPFR_RNDA, ++ MPFR_RNDF, ++ MPFR_RNDNA=-1 ++} mpfr_rnd_t; ++typedef __mpfr_struct *mpfr_ptr; ++typedef const __mpfr_struct *mpfr_srcptr; ++void mpfr_mul (mpfr_ptr, mpfr_srcptr, mpfr_rnd_t); ++ ++void ++foo (void) ++{ ++ mpfr_exp_t saved_emax; ++ ++ if (__gmpfr_emax != previous_emax) ++ { ++ saved_emax = __gmpfr_emax; ++ ++ bound_emax->_mpfr_prec = 32; ++ ++ mpfr_mul (bound_emax, saved_emax < 0 ? ++ __gmpfr_const_log2_RNDD : __gmpfr_const_log2_RNDU, ++ MPFR_RNDU); ++ previous_emax = saved_emax; ++ __gmpfr_emax = saved_emax; ++ } ++} +-- +2.31.1 + diff --git a/0386-x86-Disable-stack-protector-for-naked-functions.patch b/0386-x86-Disable-stack-protector-for-naked-functions.patch new file mode 100644 index 0000000000000000000000000000000000000000..dd50ce1d53ab145fce7678f05b3de084b8be47de --- /dev/null +++ b/0386-x86-Disable-stack-protector-for-naked-functions.patch @@ -0,0 +1,77 @@ +From 8ff948ada01311776617730bd62434ac2c9d6ef5 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Fri, 4 Oct 2024 16:21:15 +0800 +Subject: [PATCH 3/4] x86: Disable stack protector for naked functions + +Since naked functions should not enable stack protector, define +TARGET_STACK_PROTECT_RUNTIME_ENABLED_P to disable stack protector +for naked functions. + +gcc/ + + PR target/116962 + * config/i386/i386.cc (ix86_stack_protect_runtime_enabled_p): New + function. + (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): New. + +gcc/testsuite/ + + PR target/116962 + * gcc.target/i386/pr116962.c: New file. + +Signed-off-by: H.J. Lu +(cherry picked from commit 7d2845da112214f064e7b24531cc67e256b5177e) +--- + gcc/config/i386/i386.cc | 11 +++++++++++ + gcc/testsuite/gcc.target/i386/pr116962.c | 10 ++++++++++ + 2 files changed, 21 insertions(+) + create mode 100644 gcc/testsuite/gcc.target/i386/pr116962.c + +diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc +index 0b9556f8e..3e7e1b138 100644 +--- a/gcc/config/i386/i386.cc ++++ b/gcc/config/i386/i386.cc +@@ -22606,6 +22606,13 @@ ix86_stack_protect_guard (void) + return default_stack_protect_guard (); + } + ++static bool ++ix86_stack_protect_runtime_enabled_p (void) ++{ ++ /* Naked functions should not enable stack protector. */ ++ return !ix86_function_naked (current_function_decl); ++} ++ + /* For 32-bit code we can save PIC register setup by using + __stack_chk_fail_local hidden function instead of calling + __stack_chk_fail directly. 64-bit code doesn't need to setup any PIC +@@ -24626,6 +24633,10 @@ ix86_libgcc_floating_mode_supported_p + #undef TARGET_STACK_PROTECT_GUARD + #define TARGET_STACK_PROTECT_GUARD ix86_stack_protect_guard + ++#undef TARGET_STACK_PROTECT_RUNTIME_ENABLED_P ++#define TARGET_STACK_PROTECT_RUNTIME_ENABLED_P \ ++ ix86_stack_protect_runtime_enabled_p ++ + #if !TARGET_MACHO + #undef TARGET_STACK_PROTECT_FAIL + #define TARGET_STACK_PROTECT_FAIL ix86_stack_protect_fail +diff --git a/gcc/testsuite/gcc.target/i386/pr116962.c b/gcc/testsuite/gcc.target/i386/pr116962.c +new file mode 100644 +index 000000000..ced16eee7 +--- /dev/null ++++ b/gcc/testsuite/gcc.target/i386/pr116962.c +@@ -0,0 +1,10 @@ ++/* { dg-do compile { target fstack_protector } } */ ++/* { dg-options "-O2 -fstack-protector-all" } */ ++/* { dg-final { scan-assembler-not "__stack_chk_fail" } } */ ++ ++__attribute__ ((naked)) ++void ++foo (void) ++{ ++ asm ("ret"); ++} +-- +2.31.1 + diff --git a/0387-x86-Correct-ASM_OUTPUT_SYMBOL_REF.patch b/0387-x86-Correct-ASM_OUTPUT_SYMBOL_REF.patch new file mode 100644 index 0000000000000000000000000000000000000000..e48656b5342368f96a0751a53138d5cc064758f9 --- /dev/null +++ b/0387-x86-Correct-ASM_OUTPUT_SYMBOL_REF.patch @@ -0,0 +1,36 @@ +From 501d9c6c6af740c4b4327e720bd9957317e9e355 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Tue, 11 Feb 2025 13:47:54 +0800 +Subject: [PATCH 4/4] x86: Correct ASM_OUTPUT_SYMBOL_REF + +x is not a macro argument. It just happens to work as final.cc passes +x for 2nd argument: + +final.cc: ASM_OUTPUT_SYMBOL_REF (file, x); + + PR target/118825 + * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Replace x with + SYM. + +Signed-off-by: H.J. Lu +(cherry picked from commit 7317fc0b03380a83ad03a5fc4fabef5f38c44c9d) +--- + gcc/config/i386/i386.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h +index 5052f878d..a198e36a1 100644 +--- a/gcc/config/i386/i386.h ++++ b/gcc/config/i386/i386.h +@@ -2177,7 +2177,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER]; + #define ASM_OUTPUT_SYMBOL_REF(FILE, SYM) \ + do { \ + const char *name \ +- = assemble_name_resolve (XSTR (x, 0)); \ ++ = assemble_name_resolve (XSTR (SYM, 0)); \ + /* In -masm=att wrap identifiers that start with $ \ + into parens. */ \ + if (ASSEMBLER_DIALECT == ASM_ATT \ +-- +2.31.1 + diff --git a/0388-struct-reorg-Escapes-some-void-pointers.patch b/0388-struct-reorg-Escapes-some-void-pointers.patch new file mode 100644 index 0000000000000000000000000000000000000000..eb45ee941f4ae69001857d2bc3c54ea2321f9c25 --- /dev/null +++ b/0388-struct-reorg-Escapes-some-void-pointers.patch @@ -0,0 +1,110 @@ +From e73b06172ff00cf7004d2d50098bcbb74e92d519 Mon Sep 17 00:00:00 2001 +From: huzife <634763349@qq.com> +Date: Fri, 30 May 2025 11:29:27 +0800 +Subject: [PATCH 1/2] [struct-reorg] Escapes some void pointers + +--- + gcc/ipa-struct-reorg/ipa-struct-reorg.cc | 6 ++-- + .../gcc.dg/struct/sr_early_void_ptr.c | 28 +++++++++++++++++++ + .../struct/sr_no_recorded_local_void_ptr.c | 23 +++++++++++++++ + 3 files changed, 54 insertions(+), 3 deletions(-) + create mode 100644 gcc/testsuite/gcc.dg/struct/sr_early_void_ptr.c + create mode 100644 gcc/testsuite/gcc.dg/struct/sr_no_recorded_local_void_ptr.c + +diff --git a/gcc/ipa-struct-reorg/ipa-struct-reorg.cc b/gcc/ipa-struct-reorg/ipa-struct-reorg.cc +index e8a84abbd..1140edd1d 100644 +--- a/gcc/ipa-struct-reorg/ipa-struct-reorg.cc ++++ b/gcc/ipa-struct-reorg/ipa-struct-reorg.cc +@@ -5365,8 +5365,8 @@ ipa_struct_reorg::record_stmt_expr (tree expr, cgraph_node *node, gimple *stmt) + srfield *field; + bool realpart, imagpart, address; + bool escape_from_base = false; +- if (!get_type_field (expr, base, indirect, type, field, +- realpart, imagpart, address, escape_from_base)) ++ if (!get_type_field (expr, base, indirect, type, field, realpart, ++ imagpart, address, escape_from_base, false, true)) + return; + + if (current_layout_opt_level > NONE) +@@ -5375,7 +5375,6 @@ ipa_struct_reorg::record_stmt_expr (tree expr, cgraph_node *node, gimple *stmt) + type->mark_escape (escape_non_optimize, stmt); + } + +- + /* Record it. */ + type->add_access (new sraccess (expr, stmt, node, find_function (node), + type, base, field)); +@@ -6554,6 +6553,7 @@ ipa_struct_reorg::prune_escaped_types (void) + /* If contains or is contained by the escape type, + mark them as escaping. */ + propagate_escape (); ++ propagate_escape_via_no_record_var (); + } + if (current_layout_opt_level >= STRUCT_REORDER_FIELDS) + { +diff --git a/gcc/testsuite/gcc.dg/struct/sr_early_void_ptr.c b/gcc/testsuite/gcc.dg/struct/sr_early_void_ptr.c +new file mode 100644 +index 000000000..5ff166f08 +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/struct/sr_early_void_ptr.c +@@ -0,0 +1,28 @@ ++/* { dg-do compile } */ ++/* { dg-additional-options "-fgimple" } */ ++ ++#include ++ ++struct S { ++ int a; ++ int b; ++ int c; ++}; ++ ++__attribute__((noinline)) void __GIMPLE(ssa,startwith("struct_reorg")) test() { ++ void* _1; ++ ++ __BB(2): ++ _1 = calloc(1UL, 12UL); ++ __MEM ((int*)_1 + 4UL) = 0; ++ __MEM ((struct S*)_1).a = 0; ++ ++ return; ++} ++ ++int main() { ++ test(); ++ return 0; ++} ++ ++/* { dg-final { scan-ipa-dump "struct S(\[0-9\]*) has escaped" "struct_reorg" } } */ +diff --git a/gcc/testsuite/gcc.dg/struct/sr_no_recorded_local_void_ptr.c b/gcc/testsuite/gcc.dg/struct/sr_no_recorded_local_void_ptr.c +new file mode 100644 +index 000000000..d917b66f8 +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/struct/sr_no_recorded_local_void_ptr.c +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++/* { dg-additional-options "-fgimple" } */ ++ ++#include ++ ++struct S { ++ int a; ++ int b; ++}; ++ ++__attribute__((noinline)) void __GIMPLE(startwith("struct_reorg")) test() { ++ void* ptr; ++ ++ ptr = calloc(1UL, 8UL); ++ __MEM ((struct S*)ptr).a = 0; ++} ++ ++int main() { ++ test(); ++ return 0; ++} ++ ++/* { dg-final { scan-ipa-dump "struct S has escaped: \"Type escapes via no record var\"" "struct_reorg" } } */ +-- +2.33.0 + diff --git a/0389-deja-Correct-pass-number-in-options.patch b/0389-deja-Correct-pass-number-in-options.patch new file mode 100644 index 0000000000000000000000000000000000000000..d452d805d654c512ff3062952ff534b7854df51f --- /dev/null +++ b/0389-deja-Correct-pass-number-in-options.patch @@ -0,0 +1,2336 @@ +From e4bdf701ece96fd98730c02700b6d1d1d123b71d Mon Sep 17 00:00:00 2001 +From: huzife <634763349@qq.com> +Date: Fri, 30 May 2025 11:30:53 +0800 +Subject: [PATCH 2/2] [deja] Correct pass number in options + +--- + gcc/testsuite/g++.dg/pr83541.C | 6 +++--- + gcc/testsuite/g++.dg/pr96707.C | 4 ++-- + gcc/testsuite/g++.dg/tree-ssa/empty-loop.C | 4 ++-- + gcc/testsuite/g++.dg/tree-ssa/fwprop-align.C | 4 ++-- + gcc/testsuite/g++.dg/tree-ssa/mull64.C | 4 ++-- + gcc/testsuite/g++.dg/tree-ssa/pr106922.C | 4 ++-- + gcc/testsuite/g++.dg/tree-ssa/pr14814.C | 6 +++--- + gcc/testsuite/g++.dg/tree-ssa/pr19476-6.C | 6 +++--- + gcc/testsuite/g++.dg/tree-ssa/pr19476-7.C | 4 ++-- + gcc/testsuite/gcc.dg/graphite/fuse-1.c | 4 ++-- + gcc/testsuite/gcc.dg/lto/tbaa-1.c | 4 ++-- + gcc/testsuite/gcc.dg/pr102738.c | 8 ++++---- + gcc/testsuite/gcc.dg/pr102983.c | 4 ++-- + gcc/testsuite/gcc.dg/pr103359.c | 4 ++-- + gcc/testsuite/gcc.dg/pr104288.c | 6 +++--- + gcc/testsuite/gcc.dg/pr104526.c | 4 ++-- + gcc/testsuite/gcc.dg/pr106063.c | 2 +- + gcc/testsuite/gcc.dg/pr43513.c | 4 ++-- + gcc/testsuite/gcc.dg/pr68217.c | 2 +- + gcc/testsuite/gcc.dg/pr69047.c | 4 ++-- + gcc/testsuite/gcc.dg/pr78888.c | 6 +++--- + gcc/testsuite/gcc.dg/pr81192.c | 4 ++-- + gcc/testsuite/gcc.dg/pr83072-2.c | 4 ++-- + gcc/testsuite/gcc.dg/pr83072.c | 4 ++-- + gcc/testsuite/gcc.dg/pr83073.c | 4 ++-- + gcc/testsuite/gcc.dg/pr90838.c | 10 +++++----- + gcc/testsuite/gcc.dg/pr91029.c | 4 ++-- + gcc/testsuite/gcc.dg/pr93231.c | 4 ++-- + gcc/testsuite/gcc.dg/pr96542.c | 6 +++--- + gcc/testsuite/gcc.dg/pr97505.c | 4 ++-- + gcc/testsuite/gcc.dg/pr97515.c | 6 +++--- + gcc/testsuite/gcc.dg/pr97567-2.c | 4 ++-- + gcc/testsuite/gcc.dg/predict-1.c | 2 +- + gcc/testsuite/gcc.dg/predict-9.c | 2 +- + gcc/testsuite/gcc.dg/torture/pr97812.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/20040211-1.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/alias-17.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c | 4 ++-- + .../gcc.dg/tree-ssa/builtin-sprintf-warn-22.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/cunroll-9.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/evrp-ignore.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp-trans.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/evrp-trans2.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/evrp1.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp11.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp12.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp13.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp2.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp20.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp21.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/evrp22.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/evrp3.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp30.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp4.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp6.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp7.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp8.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/evrp9.c | 10 +++++----- + gcc/testsuite/gcc.dg/tree-ssa/foldconst-4.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/forwprop-33.c | 18 +++++++++--------- + gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr14814.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr20318.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr20657.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr20702.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr21001.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr21086.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr21090.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr21294.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr21458-2.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr21458.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr21559.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr21563.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr23744.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr25382.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr45397.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr49039.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr58480.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr61839_1.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr61839_2.c | 12 ++++++------ + gcc/testsuite/gcc.dg/tree-ssa/pr61839_4.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr64130.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/pr68431.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/pr78153-1.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr78153-2.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr78154.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr78655.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr91029-1.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr91029-2.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr93781-1.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr93781-2.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr93781-3.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/pr95906.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/pr98513.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-29.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-30.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-54.c | 6 +++--- + gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-19.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp02.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp03.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp06.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp07.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp08.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp09.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp111.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp113.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp114.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp115.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp117.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp120.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp16.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp17.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp18.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp19.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp20.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp23.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp24.c | 4 ++-- + gcc/testsuite/gcc.dg/tree-ssa/vrp33.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp35.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp36.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp92.c | 2 +- + gcc/testsuite/gcc.dg/tree-ssa/vrp98-1.c | 8 ++++---- + gcc/testsuite/gcc.dg/tree-ssa/vrp98.c | 2 +- + gcc/testsuite/gcc.dg/vrp-min-max-1.c | 2 +- + gcc/testsuite/gcc.dg/vrp-min-max-3.c | 6 +++--- + gcc/testsuite/gcc.target/i386/vect-gather-1.c | 4 ++-- + .../gcc.target/powerpc/vect-gather-1.c | 4 ++-- + gcc/testsuite/gfortran.dg/pr45636.f90 | 4 ++-- + 132 files changed, 262 insertions(+), 262 deletions(-) + +diff --git a/gcc/testsuite/g++.dg/pr83541.C b/gcc/testsuite/g++.dg/pr83541.C +index f5b181e06..a55147a2b 100644 +--- a/gcc/testsuite/g++.dg/pr83541.C ++++ b/gcc/testsuite/g++.dg/pr83541.C +@@ -1,6 +1,6 @@ + // PR tree-optimization/83541 + // { dg-do compile } +-// { dg-options "-O3 -std=c++17 -ffast-math -fdump-tree-evrp" } ++// { dg-options "-O3 -std=c++17 -ffast-math -fdump-tree-evrp1" } + + #include + +@@ -13,5 +13,5 @@ int test(int x) + return 42; + } + +-// { dg-final { scan-tree-dump "return 42" evrp } } +-// { dg-final { scan-tree-dump-not "return _" evrp } } ++// { dg-final { scan-tree-dump "return 42" evrp1 } } ++// { dg-final { scan-tree-dump-not "return _" evrp1 } } +diff --git a/gcc/testsuite/g++.dg/pr96707.C b/gcc/testsuite/g++.dg/pr96707.C +index 2653fe3d0..add3ae0bb 100644 +--- a/gcc/testsuite/g++.dg/pr96707.C ++++ b/gcc/testsuite/g++.dg/pr96707.C +@@ -1,10 +1,10 @@ + /* { dg-do compile} */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + bool f(unsigned x, unsigned y) + { + return (x >> y) <= x; + } + +-/* { dg-final { scan-tree-dump "return 1" "evrp" } } */ ++/* { dg-final { scan-tree-dump "return 1" "evrp1" } } */ + +diff --git a/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C b/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C +index 6b1e879e6..a65724c4b 100644 +--- a/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C ++++ b/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-cddce2 -ffinite-loops" } */ ++/* { dg-options "-O2 -fdump-tree-cddce3 -ffinite-loops" } */ + + #include + #include +@@ -29,5 +29,5 @@ int foo (vector &v, list &l, set &s, map &m + + return 0; + } +-/* { dg-final { scan-tree-dump-not "if" "cddce2"} } */ ++/* { dg-final { scan-tree-dump-not "if" "cddce3"} } */ + +diff --git a/gcc/testsuite/g++.dg/tree-ssa/fwprop-align.C b/gcc/testsuite/g++.dg/tree-ssa/fwprop-align.C +index 5cc5f0d7d..2f8b6c04b 100644 +--- a/gcc/testsuite/g++.dg/tree-ssa/fwprop-align.C ++++ b/gcc/testsuite/g++.dg/tree-ssa/fwprop-align.C +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-forwprop2" } */ ++/* { dg-options "-O2 -fdump-tree-forwprop4" } */ + + struct A + { +@@ -16,4 +16,4 @@ int main() + } + + /* We should eliminate the check if p points to a virtual function. */ +-/* { dg-final { scan-tree-dump-times "& 1" 0 "forwprop2" } } */ ++/* { dg-final { scan-tree-dump-times "& 1" 0 "forwprop4" } } */ +diff --git a/gcc/testsuite/g++.dg/tree-ssa/mull64.C b/gcc/testsuite/g++.dg/tree-ssa/mull64.C +index cad891e62..3505fb513 100644 +--- a/gcc/testsuite/g++.dg/tree-ssa/mull64.C ++++ b/gcc/testsuite/g++.dg/tree-ssa/mull64.C +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fmerge-mull -Wno-psabi -fdump-tree-forwprop1-details -fdump-tree-forwprop4-details" } */ ++/* { dg-options "-O2 -fmerge-mull -Wno-psabi -fdump-tree-forwprop1-details -fdump-tree-forwprop6-details" } */ + + # define BN_BITS4 32 + # define BN_MASK2 (0xffffffffffffffffL) +@@ -32,4 +32,4 @@ void mul64(unsigned long in0, unsigned long in1, + } + + /* { dg-final { scan-tree-dump "gimple_simplified to" "forwprop1" } } */ +-/* { dg-final { scan-tree-dump-times "gimple_simplified to" 1 "forwprop4" } } */ ++/* { dg-final { scan-tree-dump-times "gimple_simplified to" 1 "forwprop6" } } */ +diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr106922.C b/gcc/testsuite/g++.dg/tree-ssa/pr106922.C +index 2aec4975a..11fcb4eb4 100644 +--- a/gcc/testsuite/g++.dg/tree-ssa/pr106922.C ++++ b/gcc/testsuite/g++.dg/tree-ssa/pr106922.C +@@ -1,5 +1,5 @@ + // { dg-require-effective-target c++20 } +-// { dg-options "-O2 -fdump-tree-cddce3" } ++// { dg-options "-O2 -fdump-tree-cddce4" } + + template struct __new_allocator { + void deallocate(int *, int) { operator delete(0); } +@@ -87,4 +87,4 @@ void testfunctionfoo() { + } + } + +-// { dg-final { scan-tree-dump-not "m_initialized" "cddce3" } } ++// { dg-final { scan-tree-dump-not "m_initialized" "cddce4" } } +diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr14814.C b/gcc/testsuite/g++.dg/tree-ssa/pr14814.C +index f2177d257..9372de88d 100644 +--- a/gcc/testsuite/g++.dg/tree-ssa/pr14814.C ++++ b/gcc/testsuite/g++.dg/tree-ssa/pr14814.C +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-forwprop2" } */ ++/* { dg-options "-O2 -fdump-tree-forwprop4" } */ + + class YY { public: + YY(const YY &v) { e[0] = v.e[0]; e[1] = v.e[1]; e[2] = v.e[2]; } +@@ -14,6 +14,6 @@ int foo(XX& r) { + if (r.direction().y() < 0.000001) return 0; + return 1; } + +-/* { dg-final { scan-tree-dump-times "&this" 0 "forwprop2" } } */ +-/* { dg-final { scan-tree-dump-times "&r" 0 "forwprop2" } } */ ++/* { dg-final { scan-tree-dump-times "&this" 0 "forwprop4" } } */ ++/* { dg-final { scan-tree-dump-times "&r" 0 "forwprop4" } } */ + +diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr19476-6.C b/gcc/testsuite/g++.dg/tree-ssa/pr19476-6.C +index f6b06c93c..30918bcfd 100644 +--- a/gcc/testsuite/g++.dg/tree-ssa/pr19476-6.C ++++ b/gcc/testsuite/g++.dg/tree-ssa/pr19476-6.C +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fdelete-null-pointer-checks" } */ + /* { dg-skip-if "" keeps_null_pointer_checks } */ + + // See pr19476-7.C for a version without including . +@@ -12,5 +12,5 @@ int g(){ + return 42 + (0 == new int[50]); + } + +-/* { dg-final { scan-tree-dump "return 42" "evrp" } } */ +-/* { dg-final { scan-tree-dump-not "return 33" "evrp" } } */ ++/* { dg-final { scan-tree-dump "return 42" "evrp1" } } */ ++/* { dg-final { scan-tree-dump-not "return 33" "evrp1" } } */ +diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr19476-7.C b/gcc/testsuite/g++.dg/tree-ssa/pr19476-7.C +index 38624f2ba..fb22528cc 100644 +--- a/gcc/testsuite/g++.dg/tree-ssa/pr19476-7.C ++++ b/gcc/testsuite/g++.dg/tree-ssa/pr19476-7.C +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fdelete-null-pointer-checks" } */ + /* { dg-skip-if "" keeps_null_pointer_checks } */ + + // See pr19476-6.C for a version that includes . +@@ -8,4 +8,4 @@ int g(){ + return 42 + (0 == new int[50]); + } + +-/* { dg-final { scan-tree-dump "return 42" "evrp" } } */ ++/* { dg-final { scan-tree-dump "return 42" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/graphite/fuse-1.c b/gcc/testsuite/gcc.dg/graphite/fuse-1.c +index 61289d312..0b36b37a1 100644 +--- a/gcc/testsuite/gcc.dg/graphite/fuse-1.c ++++ b/gcc/testsuite/gcc.dg/graphite/fuse-1.c +@@ -1,6 +1,6 @@ + /* Check that the two loops are fused and that we manage to fold the two xor + operations. */ +-/* { dg-options "-O2 -fno-tree-vectorize -floop-nest-optimize -fdump-tree-forwprop4 -fdump-tree-graphite-all" } */ ++/* { dg-options "-O2 -fno-tree-vectorize -floop-nest-optimize -fdump-tree-forwprop6 -fdump-tree-graphite-all" } */ + + /* Make sure we fuse the loops like this: + AST generated by isl: +@@ -12,7 +12,7 @@ for (int c0 = 0; c0 <= 99; c0 += 1) { + /* { dg-final { scan-tree-dump-times "AST generated by isl:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */ + + /* Check that after fusing the loops, the scalar computation is also fused. */ +-/* { dg-final { scan-tree-dump-times " \\^ 12;" 2 "forwprop4" } } */ ++/* { dg-final { scan-tree-dump-times " \\^ 12;" 2 "forwprop6" } } */ + + #define MAX 100 + int A[MAX]; +diff --git a/gcc/testsuite/gcc.dg/lto/tbaa-1.c b/gcc/testsuite/gcc.dg/lto/tbaa-1.c +index 74c049671..2047c70c8 100644 +--- a/gcc/testsuite/gcc.dg/lto/tbaa-1.c ++++ b/gcc/testsuite/gcc.dg/lto/tbaa-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -flto -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -flto -fdump-tree-evrp1" } */ + typedef struct rtx_def *rtx; + typedef struct cselib_val_struct + { +@@ -38,4 +38,4 @@ discard_useless_locs (x, info) + n_useless_values++; + } + } +-/* { dg-final { scan-tree-dump-times "n_useless_values" 2 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "n_useless_values" 2 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr102738.c b/gcc/testsuite/gcc.dg/pr102738.c +index cd58c2589..a5439e8cb 100644 +--- a/gcc/testsuite/gcc.dg/pr102738.c ++++ b/gcc/testsuite/gcc.dg/pr102738.c +@@ -1,5 +1,5 @@ + /* PR tree-optimization/102738 */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + /* { dg-do compile { target int128 } } */ + + /* Remove arithmetic shift right when the LHS is known to be 0 or -1. */ +@@ -44,6 +44,6 @@ int a6(int f, int g) + __builtin_unreachable(); + } + +-/* { dg-final { scan-tree-dump-times " >> 127" 1 "evrp" } } */ +-/* { dg-final { scan-tree-dump-times " >> 31" 1 "evrp" } } */ +-/* { dg-final { scan-tree-dump-times " >> " 2 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times " >> 127" 1 "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times " >> 31" 1 "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times " >> " 2 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr102983.c b/gcc/testsuite/gcc.dg/pr102983.c +index ef58af6de..c4a3dfad6 100644 +--- a/gcc/testsuite/gcc.dg/pr102983.c ++++ b/gcc/testsuite/gcc.dg/pr102983.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + void foo(void); + + static int a = 1; +@@ -18,4 +18,4 @@ int main() { + } + } + +-/* { dg-final { scan-tree-dump-times "Folding predicate c_.* to 1" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Folding predicate c_.* to 1" 1 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr103359.c b/gcc/testsuite/gcc.dg/pr103359.c +index 13406f90d..187856702 100644 +--- a/gcc/testsuite/gcc.dg/pr103359.c ++++ b/gcc/testsuite/gcc.dg/pr103359.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O3 -fdump-tree-evrp" } */ ++/* { dg-options "-O3 -fdump-tree-evrp1" } */ + + void foo(); + static char a, c; +@@ -18,4 +18,4 @@ int main() { + foo(); + } + +-/* { dg-final { scan-tree-dump-not "c = 0" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "c = 0" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr104288.c b/gcc/testsuite/gcc.dg/pr104288.c +index 95eb196f9..020beb044 100644 +--- a/gcc/testsuite/gcc.dg/pr104288.c ++++ b/gcc/testsuite/gcc.dg/pr104288.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fdelete-null-pointer-checks" } */ + /* { dg-skip-if "" { keeps_null_pointer_checks } } */ + + void keep(int result) __attribute__((noipa)); +@@ -19,5 +19,5 @@ void bar (void *p) + __builtin_abort (); + } + +-/* { dg-final { scan-tree-dump-not "abort" "evrp" } } */ +-/* { dg-final { scan-tree-dump-times "== 0B;" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "abort" "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times "== 0B;" 1 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr104526.c b/gcc/testsuite/gcc.dg/pr104526.c +index a29530829..574d414bc 100644 +--- a/gcc/testsuite/gcc.dg/pr104526.c ++++ b/gcc/testsuite/gcc.dg/pr104526.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void foo(void); + +@@ -12,4 +12,4 @@ int main() { + } + } + +-/* { dg-final { scan-tree-dump-not "foo" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "foo" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr106063.c b/gcc/testsuite/gcc.dg/pr106063.c +index 467b31dea..f715c295e 100644 +--- a/gcc/testsuite/gcc.dg/pr106063.c ++++ b/gcc/testsuite/gcc.dg/pr106063.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target int128 } } */ +-/* { dg-options "-O2 -fno-tree-forwprop --disable-tree-evrp" } */ ++/* { dg-options "-O2 -fno-tree-forwprop --disable-tree-evrp1" } */ + typedef __int128 __attribute__((__vector_size__ (16))) V; + + V +diff --git a/gcc/testsuite/gcc.dg/pr43513.c b/gcc/testsuite/gcc.dg/pr43513.c +index 9383a802c..fb2673f08 100644 +--- a/gcc/testsuite/gcc.dg/pr43513.c ++++ b/gcc/testsuite/gcc.dg/pr43513.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-ccp2" } */ ++/* { dg-options "-O2 -fdump-tree-ccp3" } */ + + void bar (int *); + void foo (char *, int); +@@ -15,4 +15,4 @@ foo3 () + foo ("%d ", results[i]); + } + +-/* { dg-final { scan-tree-dump-times "alloca" 0 "ccp2"} } */ ++/* { dg-final { scan-tree-dump-times "alloca" 0 "ccp3"} } */ +diff --git a/gcc/testsuite/gcc.dg/pr68217.c b/gcc/testsuite/gcc.dg/pr68217.c +index eb4f15e04..178cb5008 100644 +--- a/gcc/testsuite/gcc.dg/pr68217.c ++++ b/gcc/testsuite/gcc.dg/pr68217.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1 -fno-tree-ccp" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1 -fno-tree-ccp" } */ + + int foo (void) + { +diff --git a/gcc/testsuite/gcc.dg/pr69047.c b/gcc/testsuite/gcc.dg/pr69047.c +index d562663d8..d32e449e9 100644 +--- a/gcc/testsuite/gcc.dg/pr69047.c ++++ b/gcc/testsuite/gcc.dg/pr69047.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fdump-tree-forwprop4" } */ ++/* { dg-options "-O -fdump-tree-forwprop6" } */ + + __UINT8_TYPE__ + f(__UINT16_TYPE__ b) +@@ -15,4 +15,4 @@ f(__UINT16_TYPE__ b) + return a; + } + +-/* { dg-final { scan-tree-dump "_\[0-9\]+ = \\(\[^)\]+\\) b" "forwprop4" } } */ ++/* { dg-final { scan-tree-dump "_\[0-9\]+ = \\(\[^)\]+\\) b" "forwprop6" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr78888.c b/gcc/testsuite/gcc.dg/pr78888.c +index 77a130cf1..2ab0995e7 100644 +--- a/gcc/testsuite/gcc.dg/pr78888.c ++++ b/gcc/testsuite/gcc.dg/pr78888.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/78888 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void kill (void); + void keep (void); +@@ -25,5 +25,5 @@ void g (int x) + if (__builtin_tolower ((unsigned char)x) == 'z') + keep (); + } +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ +-/* { dg-final { scan-tree-dump-times "keep" 4 "evrp"} } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times "keep" 4 "evrp1"} } */ +diff --git a/gcc/testsuite/gcc.dg/pr81192.c b/gcc/testsuite/gcc.dg/pr81192.c +index 6cab60565..3e808d67c 100644 +--- a/gcc/testsuite/gcc.dg/pr81192.c ++++ b/gcc/testsuite/gcc.dg/pr81192.c +@@ -1,6 +1,6 @@ +-/* { dg-options "-Os -fdump-tree-pre-details -fdisable-tree-evrp -fno-tree-dse" } */ ++/* { dg-options "-Os -fdump-tree-pre-details -fdisable-tree-evrp1 -fno-tree-dse" } */ + +-/* Disable tree-evrp because the new version of evrp sees ++/* Disable tree-evrp1 because the new version of evrp1 sees + : + if (j_8(D) != 2147483647) + goto ; [50.00%] +diff --git a/gcc/testsuite/gcc.dg/pr83072-2.c b/gcc/testsuite/gcc.dg/pr83072-2.c +index f495f2582..c197a1a88 100644 +--- a/gcc/testsuite/gcc.dg/pr83072-2.c ++++ b/gcc/testsuite/gcc.dg/pr83072-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile} */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + int f1(int a, int b, int c){ + if(c==0)__builtin_unreachable(); +@@ -15,4 +15,4 @@ int f2(int a, int b, int c){ + return a == b; + } + +-/* { dg-final { scan-tree-dump-times "gimple_simplified to" 2 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "gimple_simplified to" 2 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr83072.c b/gcc/testsuite/gcc.dg/pr83072.c +index 3bed8d890..71116bd0e 100644 +--- a/gcc/testsuite/gcc.dg/pr83072.c ++++ b/gcc/testsuite/gcc.dg/pr83072.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre" } */ + + void kill (void); + +@@ -11,4 +11,4 @@ int f(int c){ + return c; + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr83073.c b/gcc/testsuite/gcc.dg/pr83073.c +index 1168ae822..899a53caa 100644 +--- a/gcc/testsuite/gcc.dg/pr83073.c ++++ b/gcc/testsuite/gcc.dg/pr83073.c +@@ -1,5 +1,5 @@ + /* { dg-do compile} */ +-/* { dg-options "-O2 -fdump-tree-evrp-details -fno-tree-fre -fno-tree-ccp -fno-tree-forwprop" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details -fno-tree-fre -fno-tree-ccp -fno-tree-forwprop" } */ + + int f(int x) + { +@@ -7,4 +7,4 @@ int f(int x) + return x & 1; + } + +-/* { dg-final { scan-tree-dump "gimple_simplified to.* = 1" "evrp" } } */ ++/* { dg-final { scan-tree-dump "gimple_simplified to.* = 1" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr90838.c b/gcc/testsuite/gcc.dg/pr90838.c +index 7502b8463..8e8bdeca7 100644 +--- a/gcc/testsuite/gcc.dg/pr90838.c ++++ b/gcc/testsuite/gcc.dg/pr90838.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-forwprop2-details" } */ ++/* { dg-options "-O2 -fdump-tree-forwprop4-details" } */ + /* { dg-additional-options "-mbmi" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } */ + /* { dg-additional-options "-march=rv64gc_zbb" { target { rv64 } } } */ + /* { dg-additional-options "-march=rv32gc_zbb" { target { rv32 } } } */ +@@ -59,7 +59,7 @@ int ctz4 (unsigned long x) + return table[(lsb * magic) >> 58]; + } + +-/* { dg-final { scan-tree-dump-times {= \.CTZ} 4 "forwprop2" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ ++/* { dg-final { scan-tree-dump-times {= \.CTZ} 4 "forwprop4" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-assembler-times "tzcntq\t" 1 { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-assembler-times "tzcntl\t" 3 { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-assembler-times "andl\t" 2 { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ +@@ -67,18 +67,18 @@ int ctz4 (unsigned long x) + /* { dg-final { scan-assembler-not "imulq" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-assembler-not "shrq" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + +-/* { dg-final { scan-tree-dump-times {= \.CTZ} 4 "forwprop2" { target aarch64*-*-* } } } */ ++/* { dg-final { scan-tree-dump-times {= \.CTZ} 4 "forwprop4" { target aarch64*-*-* } } } */ + /* { dg-final { scan-assembler-times "clz\t" 4 { target aarch64*-*-* } } } */ + /* { dg-final { scan-assembler-times "and\t" 2 { target aarch64*-*-* } } } */ + /* { dg-final { scan-assembler-not "cmp\t.*0" { target aarch64*-*-* } } } */ + +-/* { dg-final { scan-tree-dump-times {= \.CTZ} 4 "forwprop2" { target { rv64 } } } } */ ++/* { dg-final { scan-tree-dump-times {= \.CTZ} 4 "forwprop4" { target { rv64 } } } } */ + /* { dg-final { scan-assembler-times "ctz\t" 1 { target { rv64 } } } } */ + /* { dg-final { scan-assembler-times "ctzw\t" 3 { target { rv64 } } } } */ + /* { dg-final { scan-assembler-times "andi\t" 2 { target { rv64 } } } } */ + /* { dg-final { scan-assembler-not "mul" { target { rv64 } } } } */ + +-/* { dg-final { scan-tree-dump-times {= \.CTZ} 3 "forwprop2" { target { rv32 } } } } */ ++/* { dg-final { scan-tree-dump-times {= \.CTZ} 3 "forwprop4" { target { rv32 } } } } */ + /* { dg-final { scan-assembler-times "ctz\t" 3 { target { rv32 } } } } */ + /* { dg-final { scan-assembler-times "andi\t" 1 { target { rv32 } } } } */ + /* { dg-final { scan-assembler-times "mul\t" 1 { target { rv32 } } } } */ +diff --git a/gcc/testsuite/gcc.dg/pr91029.c b/gcc/testsuite/gcc.dg/pr91029.c +index 4904764e1..f29212c01 100644 +--- a/gcc/testsuite/gcc.dg/pr91029.c ++++ b/gcc/testsuite/gcc.dg/pr91029.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/91029 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void kill (void); + int xx; +@@ -45,4 +45,4 @@ void f4 (int i) + } + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr93231.c b/gcc/testsuite/gcc.dg/pr93231.c +index cd0b3f320..1898935a9 100644 +--- a/gcc/testsuite/gcc.dg/pr93231.c ++++ b/gcc/testsuite/gcc.dg/pr93231.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-forwprop2-details -Wno-shift-count-negative" } */ ++/* { dg-options "-O2 -fdump-tree-forwprop4-details -Wno-shift-count-negative" } */ + + int ctz_ice1 (int x) + { +@@ -32,4 +32,4 @@ int ctz_fail (unsigned x) + return table[((x & -x) * 0x077CB531) >> 27]; + } + +-/* { dg-final { scan-tree-dump-not {= \.CTZ} "forwprop2" } } */ ++/* { dg-final { scan-tree-dump-not {= \.CTZ} "forwprop4" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr96542.c b/gcc/testsuite/gcc.dg/pr96542.c +index 5014f2aca..5b924d568 100644 +--- a/gcc/testsuite/gcc.dg/pr96542.c ++++ b/gcc/testsuite/gcc.dg/pr96542.c +@@ -1,5 +1,5 @@ + /* { dg-do compile} */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + + unsigned char +@@ -22,6 +22,6 @@ baz (unsigned int x) + return (-1U >> x) * 16; + } + +-/* { dg-final { scan-tree-dump-times "254" 2 "evrp" } } */ +-/* { dg-final { scan-tree-dump "= PHI <32.*, 4294967280" "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "254" 2 "evrp1" } } */ ++/* { dg-final { scan-tree-dump "= PHI <32.*, 4294967280" "evrp1" } } */ + +diff --git a/gcc/testsuite/gcc.dg/pr97505.c b/gcc/testsuite/gcc.dg/pr97505.c +index f01d91206..efd011059 100644 +--- a/gcc/testsuite/gcc.dg/pr97505.c ++++ b/gcc/testsuite/gcc.dg/pr97505.c +@@ -1,5 +1,5 @@ + // { dg-do compile } +-// { dg-options "-Os -fsanitize=signed-integer-overflow -fdump-tree-evrp" } ++// { dg-options "-Os -fsanitize=signed-integer-overflow -fdump-tree-evrp1" } + + // Test that .UBSAN_CHECK_SUB(y, x) is treated as y-x for range + // purposes, where X and Y are related to each other. +@@ -20,4 +20,4 @@ int foobar(int x, int y) + return 5; + } + +-// { dg-final { scan-tree-dump-not "unreachable" "evrp" } } ++// { dg-final { scan-tree-dump-not "unreachable" "evrp1" } } +diff --git a/gcc/testsuite/gcc.dg/pr97515.c b/gcc/testsuite/gcc.dg/pr97515.c +index b4f2481cb..7b860cc7b 100644 +--- a/gcc/testsuite/gcc.dg/pr97515.c ++++ b/gcc/testsuite/gcc.dg/pr97515.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-ccp2" } */ ++/* { dg-options "-O2 -fdump-tree-ccp3" } */ + + int + e7 (int gg) +@@ -22,6 +22,6 @@ e7 (int gg) + + /* EVRP should be able to reduce this to a single goto when we can + * revisit statements to try folding again based on changed inputs. +- * Until then, make sure its gone by ccp2. */ ++ * Until then, make sure its gone by ccp3. */ + +-/* { dg-final { scan-tree-dump-times "goto" 1 "ccp2" } } */ ++/* { dg-final { scan-tree-dump-times "goto" 1 "ccp3" } } */ +diff --git a/gcc/testsuite/gcc.dg/pr97567-2.c b/gcc/testsuite/gcc.dg/pr97567-2.c +index c3ead54ea..69447736b 100644 +--- a/gcc/testsuite/gcc.dg/pr97567-2.c ++++ b/gcc/testsuite/gcc.dg/pr97567-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile} */ +-/* { dg-options "-O2 -fdump-tree-evrp -fdisable-tree-ethread" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fdisable-tree-ethread" } */ + + char a[2]; + +@@ -21,4 +21,4 @@ void gg (void) + foo (); + } + +-/* { dg-final { scan-tree-dump-not "foo" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "foo" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/predict-1.c b/gcc/testsuite/gcc.dg/predict-1.c +index d2e753e62..96e7474fd 100644 +--- a/gcc/testsuite/gcc.dg/predict-1.c ++++ b/gcc/testsuite/gcc.dg/predict-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-profile_estimate --disable-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-profile_estimate --disable-tree-evrp1" } */ + + extern int global; + +diff --git a/gcc/testsuite/gcc.dg/predict-9.c b/gcc/testsuite/gcc.dg/predict-9.c +index cb68a218a..01a8361ca 100644 +--- a/gcc/testsuite/gcc.dg/predict-9.c ++++ b/gcc/testsuite/gcc.dg/predict-9.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-profile_estimate -fno-finite-loops -fdisable-tree-ethread" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-profile_estimate -fno-finite-loops -fdisable-tree-ethread" } */ + + /* Note: Threader causes removal of for loop. */ + +diff --git a/gcc/testsuite/gcc.dg/torture/pr97812.c b/gcc/testsuite/gcc.dg/torture/pr97812.c +index 4d468adf8..7df29a69e 100644 +--- a/gcc/testsuite/gcc.dg/torture/pr97812.c ++++ b/gcc/testsuite/gcc.dg/torture/pr97812.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-additional-options "-fdisable-tree-evrp" } */ ++/* { dg-additional-options "-fdisable-tree-evrp1" } */ + + unsigned char c; + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c +index 456f6f271..40b8e4cac 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O1 -fdump-tree-cddce3" } */ ++/* { dg-options "-O1 -fdump-tree-cddce4" } */ + + extern void abort (void); + +@@ -33,8 +33,8 @@ delete_dead_jumptables () + /* There should be no loads of ->code. If any exist, then we failed to + optimize away all the IF statements and the statements feeding + their conditions. */ +-/* { dg-final { scan-tree-dump-times "->code" 0 "cddce3"} } */ ++/* { dg-final { scan-tree-dump-times "->code" 0 "cddce4"} } */ + + /* There should be no IF statements. */ +-/* { dg-final { scan-tree-dump-times "if " 0 "cddce3"} } */ ++/* { dg-final { scan-tree-dump-times "if " 0 "cddce4"} } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040211-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040211-1.c +index a9bdf2693..625426d20 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/20040211-1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/20040211-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-cddce2 -fno-finite-loops" } */ ++/* { dg-options "-O2 -fdump-tree-cddce3 -fno-finite-loops" } */ + + struct rtx_def; + typedef struct rtx_def *rtx; +@@ -35,4 +35,4 @@ com (rtx insn, int blah) + + /* Cddce cannot remove possibly infinite loops and there is no way how to + determine whether the loop in can_move_up ends. */ +-/* { dg-final { scan-tree-dump "if " "cddce2"} } */ ++/* { dg-final { scan-tree-dump "if " "cddce3"} } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/alias-17.c b/gcc/testsuite/gcc.dg/tree-ssa/alias-17.c +index 62ef77622..0c05519df 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/alias-17.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/alias-17.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fno-early-inlining -fdump-tree-ccp2" } */ ++/* { dg-options "-O -fno-early-inlining -fdump-tree-ccp3" } */ + + int *p; + int inline bar(void) { return 0; } +@@ -14,4 +14,4 @@ int foo(int x) + return *q + *p; + } + +-/* { dg-final { scan-tree-dump-not "NOTE: no flow-sensitive alias info for" "ccp2" } } */ ++/* { dg-final { scan-tree-dump-not "NOTE: no flow-sensitive alias info for" "ccp3" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c b/gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c +index e0955ce3f..6e1563d19 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-forwprop3-raw -w -Wno-psabi" } */ ++/* { dg-options "-O2 -fdump-tree-forwprop5-raw -w -Wno-psabi" } */ + + typedef long vec __attribute__((vector_size(16))); + vec f(vec x){ +@@ -7,4 +7,4 @@ vec f(vec x){ + return y & (y == 0); + } + +-/* { dg-final { scan-tree-dump-not "_expr" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump-not "_expr" "forwprop5" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-22.c b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-22.c +index 82eb5851c..e7fdd7390 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-22.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-22.c +@@ -22,7 +22,7 @@ void g (char *s1, char *s2) + [1] n_6: size_t [0, 1023] + [2] d_8: size_t [0, 1023] + +- Whereas evrp can't really: ++ Whereas evrp1 can't really: + [1] n_6: size_t [0, 9223372036854775805] + [2] d_8: size_t [0, 9223372036854775805] + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/cunroll-9.c b/gcc/testsuite/gcc.dg/tree-ssa/cunroll-9.c +index 886dc147a..787e41a8a 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/cunroll-9.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/cunroll-9.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-cunrolli-details -fdisable-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-cunrolli-details -fdisable-tree-evrp1" } */ + void abort (void); + int q (void); + int a[10]; +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp-ignore.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp-ignore.c +index 9bfaed6a5..b4e687dfe 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp-ignore.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp-ignore.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fno-tree-fre -fdisable-tree-ethread" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fno-tree-fre -fdisable-tree-ethread" } */ + + void kill(void); + +@@ -25,4 +25,4 @@ void foo (int x, int y, int z) + kill(); + + } +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans.c +index 8ee8e3c3f..f07eee75d 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + /* Simple tests to make sure transitives are working. */ + void keep(); +@@ -140,5 +140,5 @@ f9 (int x, int y, int z) + } + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ +-/* { dg-final { scan-tree-dump-times "keep" 13 "evrp"} } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times "keep" 13 "evrp1"} } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans2.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans2.c +index d6fe42714..7a39f126d 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp-trans2.c +@@ -1,8 +1,8 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + #define int unsigned + #include "evrp-trans.c" + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ +-/* { dg-final { scan-tree-dump-times "keep" 13 "evrp"} } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times "keep" 13 "evrp1"} } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp1.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp1.c +index f5f38c4ce..d2561f6c6 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + int foo (int i); + int bar (int j) +@@ -10,4 +10,4 @@ int bar (int j) + return j; + } + +-/* { dg-final { scan-tree-dump "\\\[5, \\+INF" "evrp" } } */ ++/* { dg-final { scan-tree-dump "\\\[5, \\+INF" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp11.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp11.c +index d791305d4..457e15552 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp11.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp11.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fdelete-null-pointer-checks" } */ + + extern void link_error (); + +@@ -20,4 +20,4 @@ void bar (char *x, int a) + } + } + +-/* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "link_error" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp12.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp12.c +index b3906c234..e26fbf73d 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp12.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp12.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + extern void link_error (); + +@@ -18,4 +18,4 @@ f3 (unsigned int s) + } + } + +-/* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "link_error" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp13.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp13.c +index cfa4e8256..4f3ec19c3 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp13.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp13.c +@@ -1,7 +1,7 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + #define ADD_NW(A,B) (__extension__({ __typeof(A+B) R; if(__builtin_add_overflow(A,B,&R)) __builtin_unreachable(); R ;})) + _Bool a_b2(unsigned A, unsigned B) { return ADD_NW(A,B) >= B; } + +-/* { dg-final { scan-tree-dump "return 1;" "evrp" } } */ ++/* { dg-final { scan-tree-dump "return 1;" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp2.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp2.c +index fc92cdfbc..099ca4a0c 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + int foo (int i); + int bar2 (int j) +@@ -15,4 +15,4 @@ int bar2 (int j) + } + + +-/* { dg-final { scan-tree-dump "\\\[4, 7\\\]" "evrp" } } */ ++/* { dg-final { scan-tree-dump "\\\[4, 7\\\]" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp20.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp20.c +index 7d4d55f76..5f847daef 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp20.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp20.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void call (void); + +@@ -16,4 +16,4 @@ void foo (int base) + } + } + +-/* { dg-final { scan-tree-dump-not "call" "evrp"} } */ ++/* { dg-final { scan-tree-dump-not "call" "evrp1"} } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp21.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp21.c +index dae788cc2..ea03aa6ed 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp21.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp21.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + extern void vrp_keep (void); + extern void vrp_kill (void); +@@ -24,5 +24,5 @@ f2 (int s, int b) + vrp_kill (); + } + +-/* { dg-final { scan-tree-dump-times "vrp_keep \\(" 1 "evrp"} } */ +-/* { dg-final { scan-tree-dump-times "vrp_kill \\(" 0 "evrp"} } */ ++/* { dg-final { scan-tree-dump-times "vrp_keep \\(" 1 "evrp1"} } */ ++/* { dg-final { scan-tree-dump-times "vrp_kill \\(" 0 "evrp1"} } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp22.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp22.c +index 3dd47e55d..777087810 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp22.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp22.c +@@ -1,6 +1,6 @@ + /* See backwards thru casts if the range fits the LHS type. */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + extern void kill(int i); + extern void keep(int i); +@@ -38,6 +38,6 @@ foo (int i) + } + } + +-/* { dg-final { scan-tree-dump-times "kill \\(" 0 "evrp"} } */ +-/* { dg-final { scan-tree-dump-times "keep \\(" 1 "evrp"} } */ ++/* { dg-final { scan-tree-dump-times "kill \\(" 0 "evrp1"} } */ ++/* { dg-final { scan-tree-dump-times "keep \\(" 1 "evrp1"} } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp3.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp3.c +index 805652b95..e4ef79b38 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp3.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + int foo (int i); + void bar (int j) +@@ -11,5 +11,5 @@ void bar (int j) + } + } + +-/* { dg-final { scan-tree-dump "\\\[1, 10\\\]" "evrp" } } */ ++/* { dg-final { scan-tree-dump "\\\[1, 10\\\]" "evrp1" } } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp30.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp30.c +index 2c5ff41ec..a80ca9bfa 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp30.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp30.c +@@ -1,6 +1,6 @@ + /* Confirm the ranger is picking up a relationship with equivalences. */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + extern void foo (); + +@@ -12,5 +12,5 @@ void f (unsigned int a, unsigned int b) + foo (); /* Unreachable */ + } + +-/* { dg-final { scan-tree-dump-times "foo\\(" 0 "evrp"} } */ ++/* { dg-final { scan-tree-dump-times "foo\\(" 0 "evrp1"} } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c +index e3f4531b1..500a6828a 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + int foo (int *p); + +@@ -17,4 +17,4 @@ int bar (struct st *s) + foo (&s->a); + } + +-/* { dg-final { scan-tree-dump "\\\[1B, \\+INF\\\]" "evrp" } } */ ++/* { dg-final { scan-tree-dump "\\\[1B, \\+INF\\\]" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp6.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp6.c +index aaeec6886..27d569090 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp6.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp6.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + extern void abort (void); + +@@ -18,4 +18,4 @@ foo (int k, int j) + + return j; + } +-/* { dg-final { scan-tree-dump "\\\[12, \\+INF" "evrp" } } */ ++/* { dg-final { scan-tree-dump "\\\[12, \\+INF" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp7.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp7.c +index 16fbe65e4..3c193d0cc 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp7.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + int test1(int i, int k) + { +@@ -11,4 +11,4 @@ int test1(int i, int k) + return 1; + } + +-/* { dg-final { scan-tree-dump "Removing dead stmt \[^\r\n\]* = j_.* == 10" "evrp" } } */ ++/* { dg-final { scan-tree-dump "Removing dead stmt \[^\r\n\]* = j_.* == 10" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp8.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp8.c +index b7e5c7aa2..a0690e1e2 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp8.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp8.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + int foo(int i) + { +@@ -8,4 +8,4 @@ int foo(int i) + return 1; + } + +-/* { dg-final { scan-tree-dump "Removing dead stmt \[^\r\n\]* = i_.* == 1" "evrp" } } */ ++/* { dg-final { scan-tree-dump "Removing dead stmt \[^\r\n\]* = i_.* == 1" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp9.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp9.c +index fb7c319fc..853fd9b72 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/evrp9.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp9.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/49039 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + extern void bar (void); + +@@ -24,7 +24,7 @@ foo (unsigned int x, unsigned int y) + bar (); + } + +-/* { dg-final { scan-tree-dump-times "Folding predicate minv_.* == 5 to 0" 1 "evrp" } } */ +-/* { dg-final { scan-tree-dump-times "Folding predicate minv_.* == 6 to 0" 1 "evrp" } } */ +-/* { dg-final { scan-tree-dump-times "Folding predicate maxv_.* == 5 to 0" 1 "evrp" } } */ +-/* { dg-final { scan-tree-dump-times "Folding predicate maxv_.* == 6 to 0" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Folding predicate minv_.* == 5 to 0" 1 "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times "Folding predicate minv_.* == 6 to 0" 1 "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times "Folding predicate maxv_.* == 5 to 0" 1 "evrp1" } } */ ++/* { dg-final { scan-tree-dump-times "Folding predicate maxv_.* == 6 to 0" 1 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/foldconst-4.c b/gcc/testsuite/gcc.dg/tree-ssa/foldconst-4.c +index 0e9b676f6..f58bf667f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/foldconst-4.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/foldconst-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fdump-tree-ccp2" } */ ++/* { dg-options "-O -fdump-tree-ccp3" } */ + + struct a {int a,b;}; + const static struct a a; +@@ -10,4 +10,4 @@ test() + { + return a.a+b[c]; + } +-/* { dg-final { scan-tree-dump "return 0;" "ccp2" } } */ ++/* { dg-final { scan-tree-dump "return 0;" "ccp3" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-33.c b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-33.c +index c7124deee..ab8b5ba3b 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-33.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-33.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-forwprop3" } */ ++/* { dg-options "-O2 -fdump-tree-forwprop5" } */ + + unsigned short + test1 (unsigned short a) +@@ -9,7 +9,7 @@ test1 (unsigned short a) + a |= 0x8000; /* Simplify to ((a >> 1) ^ 0xa001). */ + return a; + } +-/* { dg-final { scan-tree-dump "\\^ 40961" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump "\\^ 40961" "forwprop5" } } */ + + unsigned short + test2 (unsigned short a) +@@ -19,7 +19,7 @@ test2 (unsigned short a) + a ^= 0x0001; /* Simplify to ((a << 1) | 0x8005). */ + return a; + } +-/* { dg-final { scan-tree-dump "\\| 32773" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump "\\| 32773" "forwprop5" } } */ + + unsigned short + test3 (unsigned short a) +@@ -29,7 +29,7 @@ test3 (unsigned short a) + a |= 0xc031; /* Simplify to ((a & 0xd123) | 0xe071). */ + return a; + } +-/* { dg-final { scan-tree-dump "\\| 57457" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump "\\| 57457" "forwprop5" } } */ + + unsigned short + test4 (unsigned short a) +@@ -39,7 +39,7 @@ test4 (unsigned short a) + a |= 0x8000; + return a; + } +-/* { dg-final { scan-tree-dump "\\^ 49153" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump "\\^ 49153" "forwprop5" } } */ + + unsigned short + test5 (unsigned short a) +@@ -49,8 +49,8 @@ test5 (unsigned short a) + a |= 0x8001; /* Only move shift inward: (((a >> 1) ^ 0x4001) | 0x8001). */ + return a; + } +-/* { dg-final { scan-tree-dump "\\^ 16385" "forwprop3" } } */ +-/* { dg-final { scan-tree-dump "\\| 32769" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump "\\^ 16385" "forwprop5" } } */ ++/* { dg-final { scan-tree-dump "\\| 32769" "forwprop5" } } */ + + short + test6 (short a) +@@ -59,7 +59,7 @@ test6 (short a) + a >>= 2; + return a; + } +-/* { dg-final { scan-tree-dump "\\& 8191" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump "\\& 8191" "forwprop5" } } */ + + short + test7 (short a) +@@ -68,4 +68,4 @@ test7 (short a) + a >>= 2; + return a; + } +-/* { dg-final { scan-tree-dump "\\& -7169" "forwprop3" } } */ ++/* { dg-final { scan-tree-dump "\\& -7169" "forwprop5" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c b/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c +index f5cd23ab2..37dcb2a5f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdelete-null-pointer-checks -fisolate-erroneous-paths-attribute -fdump-tree-isolate-paths -fdump-tree-forwprop3" } */ ++/* { dg-options "-O2 -fdelete-null-pointer-checks -fisolate-erroneous-paths-attribute -fdump-tree-isolate-paths -fdump-tree-forwprop5" } */ + /* { dg-skip-if "" keeps_null_pointer_checks } */ + + +@@ -37,6 +37,6 @@ bar (void) + We also verify that after isolation cprop simplifies the + return statement so that it returns &z directly. */ + /* { dg-final { scan-tree-dump-times "__builtin_trap" 2 "isolate-paths"} } */ +-/* { dg-final { scan-tree-dump-times "return &z;" 1 "forwprop3"} } */ ++/* { dg-final { scan-tree-dump-times "return &z;" 1 "forwprop5"} } */ + + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c b/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c +index f357e16d3..978d2936f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdelete-null-pointer-checks -fisolate-erroneous-paths-attribute -fdump-tree-isolate-paths -fdump-tree-ccp3" } */ ++/* { dg-options "-O2 -fdelete-null-pointer-checks -fisolate-erroneous-paths-attribute -fdump-tree-isolate-paths -fdump-tree-ccp4" } */ + /* { dg-skip-if "" keeps_null_pointer_checks } */ + + +@@ -26,6 +26,6 @@ bar (void) + We also verify that after isolation phi-cprop simplifies the + return statement so that it returns &z directly. */ + /* { dg-final { scan-tree-dump-times "__builtin_trap" 2 "isolate-paths"} } */ +-/* { dg-final { scan-tree-dump-times "foo .&z.;" 1 "ccp3"} } */ ++/* { dg-final { scan-tree-dump-times "foo .&z.;" 1 "ccp4"} } */ + + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr14814.c b/gcc/testsuite/gcc.dg/tree-ssa/pr14814.c +index 60d9649a1..5df4e49c2 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr14814.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr14814.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-sra -fdump-tree-forwprop2" } */ ++/* { dg-options "-O2 -fno-tree-sra -fdump-tree-forwprop4" } */ + + struct YY { + double e[3]; }; +@@ -18,4 +18,4 @@ int foo(const struct XX* r) { + return 1; + } + +-/* { dg-final { scan-tree-dump-times "= &" 0 "forwprop2" } } */ ++/* { dg-final { scan-tree-dump-times "= &" 0 "forwprop4" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr20318.c b/gcc/testsuite/gcc.dg/tree-ssa/pr20318.c +index 80fd72668..2537855f6 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr20318.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr20318.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! keeps_null_pointer_checks } } } */ +-/* { dg-options "-O2 -fdump-tree-original -fdump-tree-vrp1 -fdelete-null-pointer-checks -fdisable-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-original -fdump-tree-vrp1 -fdelete-null-pointer-checks -fdisable-tree-evrp1" } */ + + extern int* f(int) __attribute__((returns_nonnull)); + extern void eliminate (); +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr20657.c b/gcc/testsuite/gcc.dg/tree-ssa/pr20657.c +index e67823150..f7cab6fe2 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr20657.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr20657.c +@@ -3,7 +3,7 @@ + statement, which was needed to eliminate the second "if" statement. */ + + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-dominator-opts -fno-tree-fre -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fno-tree-dominator-opts -fno-tree-fre -fdump-tree-evrp1" } */ + + int + foo (int a) +@@ -14,4 +14,4 @@ foo (int a) + return 0; + } + +-/* { dg-final { scan-tree-dump-times "if" 1 "evrp"} } */ ++/* { dg-final { scan-tree-dump-times "if" 1 "evrp1"} } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr20702.c b/gcc/testsuite/gcc.dg/tree-ssa/pr20702.c +index 81129674d..9374bcdc3 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr20702.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr20702.c +@@ -4,7 +4,7 @@ + immediate successors of the basic block. */ + + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp -fdump-tree-vrp1-details -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp1 -fdump-tree-vrp1-details -fdelete-null-pointer-checks" } */ + + extern void bar (int); + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21001.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21001.c +index f9216a44a..d2c8ecf64 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21001.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21001.c +@@ -5,7 +5,7 @@ + range information out of the conditional. */ + + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp -fno-thread-jumps -fdump-tree-vrp1-details" } */ ++/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp1 -fno-thread-jumps -fdump-tree-vrp1-details" } */ + /* { dg-additional-options "-fdisable-tree-ethread -fdisable-tree-thread1" } */ + + int +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c +index 9b93d39d4..19f15d084 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp -fdump-tree-vrp1 -fdump-tree-dce2 -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp1 -fdump-tree-vrp1 -fdump-tree-dce2 -fdelete-null-pointer-checks" } */ + + int + foo (int *p) +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21090.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21090.c +index 92a876886..eaef51dc9 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21090.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21090.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp -fdump-tree-vrp1 -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp1 -fdump-tree-vrp1 -fdelete-null-pointer-checks" } */ + + int g, h; + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21294.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21294.c +index 8c8f4479a..6a5343fd7 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21294.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21294.c +@@ -4,7 +4,7 @@ + allows us to eliminate the second "if" statement. */ + + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-dominator-opts -fdisable-tree-evrp -fdisable-tree-ethread -fdisable-tree-threadfull1 -fdump-tree-vrp1-details" } */ ++/* { dg-options "-O2 -fno-tree-dominator-opts -fdisable-tree-evrp1 -fdisable-tree-ethread -fdisable-tree-threadfull1 -fdump-tree-vrp1-details" } */ + + struct f { + int i; +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21458-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21458-2.c +index 9610570e2..4bdf1b161 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21458-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21458-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details -fdisable-tree-ethread" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details -fdisable-tree-ethread" } */ + + extern void g (void); + extern void bar (int); +@@ -16,4 +16,4 @@ foo (int a) + } + } + +-/* { dg-final { scan-tree-dump-times "Folding predicate.* to 1" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Folding predicate.* to 1" 1 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21458.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21458.c +index 97d17f21c..c6a0c51ff 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21458.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21458.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1" } */ + + extern void g (void); + extern void bar (int); +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21559.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21559.c +index 83b7c802e..c477fdf75 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21559.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21559.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + static int blocksize = 4096; + +@@ -33,4 +33,4 @@ void foo (void) + + + /* First, we should simplify the bits < 0 test within the loop. */ +-/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21563.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21563.c +index 504b3cce6..2863d80e5 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr21563.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21563.c +@@ -2,7 +2,7 @@ + Make sure VRP folds the second "if" statement. */ + + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp -fdump-tree-vrp1-details" } */ ++/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp1 -fdump-tree-vrp1-details" } */ + + int + foo (int a) +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c b/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c +index f70f2546b..0a339f2f7 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr23744.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-ccp -fdisable-tree-evrp -fdump-tree-vrp1" } */ ++/* { dg-options "-O2 -fno-tree-ccp -fdisable-tree-evrp1 -fdump-tree-vrp1" } */ + + void h (void); + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr25382.c b/gcc/testsuite/gcc.dg/tree-ssa/pr25382.c +index 8634c0a78..a302ec63a 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr25382.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr25382.c +@@ -3,7 +3,7 @@ + Check that VRP now gets ranges from BIT_AND_EXPRs. */ + + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-thread-jumps -fno-tree-ccp -fdisable-tree-evrp -fdump-tree-vrp1" } */ ++/* { dg-options "-O2 -fno-thread-jumps -fno-tree-ccp -fdisable-tree-evrp1 -fdump-tree-vrp1" } */ + + int + foo (int a) +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c b/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c +index 8eacb5187..79cfc9d00 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-phiopt -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-phiopt -fdump-tree-evrp1" } */ + + int foo_add (const unsigned char *tmp, int i, int val) + { +@@ -20,7 +20,7 @@ int foo_mul (const unsigned char *tmp, int i, int val) + have no control flow. */ + /* EVRP leaves copies in the IL which confuses phiopt1 so we have + to rely on phiopt2 instead. */ +-/* { dg-final { scan-tree-dump-not " & 255;" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not " & 255;" "evrp1" } } */ + /* { dg-final { scan-tree-dump-times "MAX_EXPR" 3 "phiopt1" { xfail *-*-* } } } */ + /* { dg-final { scan-tree-dump-times "MIN_EXPR" 3 "phiopt1" { xfail *-*-* } } } */ + /* { dg-final { scan-tree-dump-not "if " "phiopt1" { xfail *-*-* } } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c b/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c +index 102b07346..797a7cd44 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/49039 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1 -fno-thread-jumps" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1 -fno-thread-jumps" } */ + + extern void bar (void); + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr58480.c b/gcc/testsuite/gcc.dg/tree-ssa/pr58480.c +index f11623b7c..2767e7ed5 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr58480.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr58480.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! keeps_null_pointer_checks } } } */ +-/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp -fdump-tree-vrp1 -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fno-thread-jumps -fdisable-tree-evrp1 -fdump-tree-vrp1 -fdelete-null-pointer-checks" } */ + + extern void eliminate (void); + extern void* f1 (void *a, void *b) __attribute__((nonnull)); +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr61839_1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr61839_1.c +index f5af7a1d6..61c2c4591 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr61839_1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr61839_1.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/61839. */ + /* { dg-do run } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdisable-tree-ethread -fdisable-tree-threadfull1 -fdump-tree-vrp1 -fdump-tree-optimized" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdisable-tree-ethread -fdisable-tree-threadfull1 -fdump-tree-vrp1 -fdump-tree-optimized" } */ + /* { dg-require-effective-target int32plus } */ + + __attribute__ ((noinline)) +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr61839_2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr61839_2.c +index 0e0f4c021..ba1e9ba5e 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr61839_2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr61839_2.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/61839. */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + /* { dg-require-effective-target int32plus } */ + + __attribute__ ((noinline)) +@@ -72,13 +72,13 @@ int mod (int a, int b) + + /* EVRP now makes transformations in all functions, leaving a single + * builtin_abort call in bar2. */ +-/* { dg-final { scan-tree-dump-times "__builtin_abort" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "__builtin_abort" 1 "evrp1" } } */ + + /* Make sure to optimize 972195717 / 0 in function foo. */ +-/* { dg-final { scan-tree-dump-times "972195717 / " 0 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "972195717 / " 0 "evrp1" } } */ + /* Make sure to optimize 972195717 % 0 in function bar. */ +-/* { dg-final { scan-tree-dump-times "972195717 % " 0 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "972195717 % " 0 "evrp1" } } */ + /* Make sure to optimize 972195717 % [1,2] function bar2. */ +-/* { dg-final { scan-tree-dump-times "972195715 % " 0 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "972195715 % " 0 "evrp1" } } */ + /* [12,12][24,24][48,48] % [0,0][3,3][6,6][12,12] == [0,0] */ +-/* { dg-final { scan-tree-dump-times "%" 0 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "%" 0 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr61839_4.c b/gcc/testsuite/gcc.dg/tree-ssa/pr61839_4.c +index a346912d1..bc0290dc1 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr61839_4.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr61839_4.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/61839. */ + /* { dg-do run } */ +-/* { dg-options "-O2 -fdump-tree-vrp1 -fdisable-tree-evrp -fdump-tree-optimized" } */ ++/* { dg-options "-O2 -fdump-tree-vrp1 -fdisable-tree-evrp1 -fdump-tree-optimized" } */ + /* { dg-require-effective-target int32plus } */ + + __attribute__ ((noinline)) +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c b/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c +index b694ec171..17d71dcd9 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-details" } */ + + __extension__ typedef __UINT32_TYPE__ uint32_t; + +@@ -14,6 +14,6 @@ int funsigned2 (uint32_t a) + return (-1 * 0x1ffffffffL) / a == 0; + } + +-/* { dg-final { scan-tree-dump "int \\\[2, 8589934591\\\]" "evrp" } } */ +-/* { dg-final { scan-tree-dump "int \\\[-8589934591, -2\\\]" "evrp" } } */ ++/* { dg-final { scan-tree-dump "int \\\[2, 8589934591\\\]" "evrp1" } } */ ++/* { dg-final { scan-tree-dump "int \\\[-8589934591, -2\\\]" "evrp1" } } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr68431.c b/gcc/testsuite/gcc.dg/tree-ssa/pr68431.c +index 9c42563b6..1de9aa540 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr68431.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr68431.c +@@ -1,5 +1,5 @@ + /* PR tree-optimization/68431 */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1-details" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1-details" } */ + + unsigned int x = 1; + int +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c +index b3db1bca6..de49f7470 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-thread-details-blocks-stats -fdump-tree-threadfull1-blocks-stats -fdump-tree-threadfull2-blocks-stats" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-thread-details-blocks-stats -fdump-tree-threadfull1-blocks-stats -fdump-tree-threadfull2-blocks-stats" } */ + typedef enum STATES { + START=0, + INVALID, +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr78153-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr78153-1.c +index 2530ba08e..174adca33 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr78153-1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr78153-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-slim" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-slim" } */ + + void f(const char *s) + { +@@ -7,4 +7,4 @@ void f(const char *s) + __builtin_abort (); + } + +-/* { dg-final { scan-tree-dump-not "__builtin_abort" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "__builtin_abort" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr78153-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr78153-2.c +index de70450f1..11ace86d9 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr78153-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr78153-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-slim" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-slim" } */ + + void f(const char *s) + { +@@ -8,4 +8,4 @@ void f(const char *s) + __builtin_abort (); + } + +-/* { dg-final { scan-tree-dump-not "__builtin_abort" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "__builtin_abort" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr78154.c b/gcc/testsuite/gcc.dg/tree-ssa/pr78154.c +index 3ba8f64e2..6dff0977a 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr78154.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr78154.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp-slim -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1-slim -fdelete-null-pointer-checks" } */ + /* { dg-skip-if "" { keeps_null_pointer_checks } } */ + + void f(void *d, const void *s, __SIZE_TYPE__ n) +@@ -41,4 +41,4 @@ void f(void *d, const void *s, __SIZE_TYPE__ n) + __builtin_abort (); + } + +-/* { dg-final { scan-tree-dump-not "__builtin_abort" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "__builtin_abort" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr78655.c b/gcc/testsuite/gcc.dg/tree-ssa/pr78655.c +index e9158e072..e406f0855 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr78655.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr78655.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -fdump-tree-evrp1" } */ + + struct A{int a,b;}; + inline int*f1(struct A*p){return&p->a;} /* offset of 0. */ +@@ -33,5 +33,5 @@ main() + + } + +-/* { dg-final { scan-tree-dump-not "bad" "evrp"} } */ ++/* { dg-final { scan-tree-dump-not "bad" "evrp1"} } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr91029-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr91029-1.c +index d52734b20..3e079712b 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr91029-1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr91029-1.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/91029 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void kill (void); + int xx; +@@ -65,4 +65,4 @@ void f6 (int i, int j) + } + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr91029-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr91029-2.c +index ad9213a41..8b10645f3 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr91029-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr91029-2.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/91029 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void kill (void); + int xx; +@@ -95,4 +95,4 @@ void f9 (unsigned int i, unsigned int j) + } + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr93781-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr93781-1.c +index b2505f395..9f0bb21a7 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr93781-1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr93781-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void kill (void); + +@@ -16,5 +16,5 @@ void foo (unsigned int arg) + kill ();; + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr93781-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr93781-2.c +index c9b28783c..fc4f29248 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr93781-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr93781-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void kill (void); + +@@ -14,4 +14,4 @@ void foo (unsigned int arg) + kill (); + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr93781-3.c b/gcc/testsuite/gcc.dg/tree-ssa/pr93781-3.c +index e1d2be0ea..0f9298bd6 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr93781-3.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr93781-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void kill (void); + +@@ -18,4 +18,4 @@ void foo (unsigned int arg) + kill (); + } + +-/* { dg-final { scan-tree-dump-not "kill" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "kill" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr95906.c b/gcc/testsuite/gcc.dg/tree-ssa/pr95906.c +index 3d820a58e..c9543d04e 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr95906.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr95906.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-forwprop3-raw -w -Wno-psabi" } */ ++/* { dg-options "-O2 -fdump-tree-forwprop5-raw -w -Wno-psabi" } */ + + // FIXME: this should further optimize to a MAX_EXPR + typedef signed char v16i8 __attribute__((vector_size(16))); +@@ -9,5 +9,5 @@ v16i8 f(v16i8 a, v16i8 b) + return (cmp & a) | (~cmp & b); + } + +-/* { dg-final { scan-tree-dump-not "bit_(and|ior)_expr" "forwprop3" } } */ +-/* { dg-final { scan-tree-dump-times "vec_cond_expr" 1 "forwprop3" } } */ ++/* { dg-final { scan-tree-dump-not "bit_(and|ior)_expr" "forwprop5" } } */ ++/* { dg-final { scan-tree-dump-times "vec_cond_expr" 1 "forwprop5" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr98513.c b/gcc/testsuite/gcc.dg/tree-ssa/pr98513.c +index c15d6bd70..8a32f2c0e 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/pr98513.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr98513.c +@@ -2,7 +2,7 @@ + /* { dg-options "-O2 -fgimple" } */ + + __attribute__((noipa)) +-void __GIMPLE (ssa,startwith("evrp")) ++void __GIMPLE (ssa,startwith("evrp1")) + foo (int x, int minus_1) + { + int tem; +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-29.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-29.c +index 3c1a848f5..c93a8d0d2 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-29.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-29.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fdump-tree-ccp2" } */ ++/* { dg-options "-O -fdump-tree-ccp3" } */ + + static double num; + int foo (void) +@@ -7,4 +7,4 @@ int foo (void) + return *(unsigned *)# + } + +-/* { dg-final { scan-tree-dump "return 0;" "ccp2" } } */ ++/* { dg-final { scan-tree-dump "return 0;" "ccp3" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c +index 1c8c318ce..48427de64 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fdump-tree-ccp2" } */ ++/* { dg-options "-O -fdump-tree-ccp3" } */ + + extern void link_error (void); + +@@ -133,4 +133,4 @@ int* test666 (int * __restrict__ rp1, int * __restrict__ rp2, int *p1) + optimization has failed */ + /* ??? While we indeed don't handle some of these, a couple of the + restrict tests are incorrect. */ +-/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp2" { xfail *-*-* } } } */ ++/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp3" { xfail *-*-* } } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-30.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-30.c +index 9f56b392c..1401d23e1 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-30.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-30.c +@@ -28,8 +28,8 @@ void test_bzero (void) + + /* { dg-final { scan-tree-dump-times "builtin_memset" 1 "dse1" } } */ + +-/* Merging the evrp folder into substitute_and_fold_engine shuffled +- the order of gimple_fold a bit, so evrp is no longer folding the ++/* Merging the evrp1 folder into substitute_and_fold_engine shuffled ++ the order of gimple_fold a bit, so evrp1 is no longer folding the + memmove inline. This folding is instead done by forwprop. Thus, I + have remmoved the |memmove in the test below as this is not done + until after dse. +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-54.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-54.c +index 02ebf068a..f0a1fab4c 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-54.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-54.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-require-effective-target int32plus } */ +-/* { dg-options "-O -fdump-tree-forwprop4 -fdump-tree-dse1" } */ ++/* { dg-options "-O -fdump-tree-forwprop6 -fdump-tree-dse1" } */ + + extern void abort (void); + +@@ -51,6 +51,6 @@ int main() + return 0; + } + +-/* { dg-final { scan-tree-dump "\\(char\\) i_" "forwprop4" } } */ +-/* { dg-final { scan-tree-dump "\\(short int\\) i_" "forwprop4" } } */ ++/* { dg-final { scan-tree-dump "\\(char\\) i_" "forwprop6" } } */ ++/* { dg-final { scan-tree-dump "\\(short int\\) i_" "forwprop6" } } */ + /* { dg-final { scan-tree-dump-not "u.i =" "dse1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-19.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-19.c +index e98d13fe8..ad6eb6270 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-19.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-19.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-sink1-details -fdump-tree-cddce2-details" } */ ++/* { dg-options "-O2 -fdump-tree-sink1-details -fdump-tree-cddce3-details" } */ + + static int b=4; + int c; +@@ -18,4 +18,4 @@ main() + applying store motion to c and b. */ + /* { dg-final { scan-tree-dump "Sinking # VUSE" "sink1" } } */ + /* And remove the loop after final value replacement. */ +-/* { dg-final { scan-tree-dump "fix_loop_structure: removing loop" "cddce2" } } */ ++/* { dg-final { scan-tree-dump "fix_loop_structure: removing loop" "cddce3" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp02.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp02.c +index 6e9c8df2f..df83d6a45 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp02.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp02.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-vrp1 -fdelete-null-pointer-checks -fdisable-tree-evrp -fno-thread-jumps" } */ ++/* { dg-options "-O2 -fdump-tree-vrp1 -fdelete-null-pointer-checks -fdisable-tree-evrp1 -fno-thread-jumps" } */ + + struct A + { +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp03.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp03.c +index 4cbaca413..8897d85bd 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp03.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp03.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1 -fno-thread-jumps" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1 -fno-thread-jumps" } */ + + struct A + { +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp06.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp06.c +index 898477e42..59c431911 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp06.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp06.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1 -fno-thread-jumps" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1 -fno-thread-jumps" } */ + + int baz (void); + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c +index ec5f6cce4..f53ea54cc 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp07.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp -fdump-tree-vrp1-details -fdelete-null-pointer-checks -fno-thread-jumps" } */ ++/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp1 -fdump-tree-vrp1-details -fdelete-null-pointer-checks -fno-thread-jumps" } */ + + int + foo (int i, int *p) +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c +index c9d902367..a9bc85686 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp08.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp -fdump-tree-vrp1-details -fno-thread-jumps -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp1 -fdump-tree-vrp1-details -fno-thread-jumps -fdelete-null-pointer-checks" } */ + + /* Compile with -fno-tree-fre -O2 to prevent CSEing *p. */ + int +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c +index 354169692..48a79e428 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp09.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp -fdump-tree-vrp1 -std=gnu89 -fno-thread-jumps" } */ ++/* { dg-options "-O2 -fno-tree-fre -fdisable-tree-evrp1 -fdump-tree-vrp1 -std=gnu89 -fno-thread-jumps" } */ + + foo (int *p) + { +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp111.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp111.c +index cae2bc75a..a4e35833a 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp111.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp111.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fdelete-null-pointer-checks" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fdelete-null-pointer-checks" } */ + /* { dg-skip-if "" { keeps_null_pointer_checks } } */ + + void foo (void *p) __attribute__((nonnull(1))); +@@ -11,4 +11,4 @@ void bar (void *p) + __builtin_abort (); + } + +-/* { dg-final { scan-tree-dump-not "abort" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "abort" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp113.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp113.c +index dfe4989d3..dc7e5e583 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp113.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp113.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-vrp1 -fdisable-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-vrp1 -fdisable-tree-evrp1" } */ + + int f(int a) { + switch (a & 1) { +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp114.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp114.c +index 5c2c1a0b5..33adac61a 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp114.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp114.c +@@ -1,5 +1,5 @@ + /* { dg-do link { target int32plus } } */ +-/* { dg-options "-O2 -fdump-tree-fre1 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-fre1 -fdump-tree-evrp1" } */ + + extern void link_error (); + void foo (int a) +@@ -21,4 +21,4 @@ int main() + } + + /* { dg-final { scan-tree-dump-times "link_error" 1 "fre1" } } */ +-/* { dg-final { scan-tree-dump-times "link_error" 0 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "link_error" 0 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp115.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp115.c +index 6d1c9c50b..47fecebe1 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp115.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp115.c +@@ -1,7 +1,7 @@ + /* PR tree-optimization/80558 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ +-/* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ ++/* { dg-final { scan-tree-dump-not "link_error" "evrp1" } } */ + + void link_error (void); + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp117.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp117.c +index d07a6722c..47194eec0 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp117.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp117.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + void link_error (void); + +@@ -13,4 +13,4 @@ void foo (int i) + } + } + +-/* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "link_error" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp120.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp120.c +index 4dcee2341..b4ea5b1c3 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp120.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp120.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + #include "vrp113.c" + +-/* { dg-final { scan-tree-dump "return 3;" "evrp" } } */ ++/* { dg-final { scan-tree-dump "return 3;" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp16.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp16.c +index d09f3aea4..2243a87c3 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp16.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp16.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-fre -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fno-tree-fre -fdump-tree-evrp1" } */ + + + extern void abort (void) __attribute__ ((__noreturn__)); +@@ -19,5 +19,5 @@ nonlocal_mentioned_p (rtx x) + abort (); + } + +-/* { dg-final { scan-tree-dump-times "if" 0 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "if" 0 "evrp1" } } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c +index b8470e7a3..3c0ec8c11 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + extern void abort (void) __attribute__ ((__noreturn__)); + union tree_node; +@@ -27,5 +27,5 @@ gimplify_for_stmt (tree stmt) + abort (); + } + +-/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp1" } } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp18.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp18.c +index d7ab3f69f..393e7d402 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp18.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp18.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1" } */ + + static int blocksize = 4096; + +@@ -30,4 +30,4 @@ void foo (void) + eof_reached = 1; + } + +-/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp19.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp19.c +index 98a8da6d0..ea95ecb91 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp19.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp19.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-fwrapv -O1 -ftree-vrp -fdisable-tree-evrp -fdump-tree-vrp1 -fdisable-tree-ethread -fdisable-tree-thread1" } */ ++/* { dg-options "-fwrapv -O1 -ftree-vrp -fdisable-tree-evrp1 -fdump-tree-vrp1 -fdisable-tree-ethread -fdisable-tree-thread1" } */ + + #include + extern void abort (); +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c +index e5822992f..52e489f9f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp20.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-fwrapv -O1 -fno-tree-fre -fdisable-tree-evrp -ftree-vrp -fdump-tree-vrp1 -fdisable-tree-ethread -fdisable-tree-thread1" } */ ++/* { dg-options "-fwrapv -O1 -fno-tree-fre -fdisable-tree-evrp1 -ftree-vrp -fdump-tree-vrp1 -fdisable-tree-ethread -fdisable-tree-thread1" } */ + + extern void abort (); + extern void exit (int); +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp23.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp23.c +index 6ac8d5560..fa78a4c7f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp23.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp23.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-forwprop -fdump-tree-evrp-details" } */ ++/* { dg-options "-O2 -fno-tree-forwprop -fdump-tree-evrp1-details" } */ + + void aa (void); + void aos (void); +@@ -45,5 +45,5 @@ L8: + /* The n_sets > 0 test can be simplified into n_sets == 1 since the + only way to reach the test is when n_sets <= 1, and the only value + which satisfies both conditions is n_sets == 1. */ +-/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "evrp1" } } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp24.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp24.c +index 91015da86..b4a0ecc5c 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp24.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp24.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fno-tree-forwprop -fdump-tree-evrp-details -fdump-tree-optimized -fno-tree-ccp" } */ ++/* { dg-options "-O2 -fno-tree-forwprop -fdump-tree-evrp1-details -fdump-tree-optimized -fno-tree-ccp" } */ + + + struct rtx_def; +@@ -88,6 +88,6 @@ L7: + n_sets can only have the values [0, 1] as it's the result of a + boolean operation. */ + +-/* { dg-final { scan-tree-dump-times "Simplified relational" 2 "evrp" } } */ ++/* { dg-final { scan-tree-dump-times "Simplified relational" 2 "evrp1" } } */ + /* { dg-final { scan-tree-dump-times "if " 4 "optimized" } } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp33.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp33.c +index 470675ef5..82c63f556 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp33.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp33.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-vrp1 -fno-tree-fre -fdisable-tree-evrp -fno-thread-jumps" } */ ++/* { dg-options "-O2 -fdump-tree-vrp1 -fno-tree-fre -fdisable-tree-evrp1 -fno-thread-jumps" } */ + + /* This is from PR14052. */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp35.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp35.c +index a372a18cc..502070634 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp35.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp35.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1-details" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1-details" } */ + + int test1(int i, int k) + { +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp36.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp36.c +index 1f77b539d..bff236e2c 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp36.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp36.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-vrp1-details" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fdump-tree-vrp1-details" } */ + + int foo(int i) + { +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c +index 9e53547da..7c3988ce0 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp92.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdisable-tree-evrp -fno-tree-fre -fdump-tree-vrp1 -fdisable-tree-ethread" } */ ++/* { dg-options "-O2 -fdisable-tree-evrp1 -fno-tree-fre -fdump-tree-vrp1 -fdisable-tree-ethread" } */ + + void bar (void); + int foo (int i, int j) +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp98-1.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp98-1.c +index daa3f073b..290a83a8f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp98-1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp98-1.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target int128 } */ +-/* { dg-options "-Os -fdump-tree-evrp-details" } */ ++/* { dg-options "-Os -fdump-tree-evrp1-details" } */ + + #include + #include +@@ -36,6 +36,6 @@ foo (bigger_than_word a, word b, uint8_t c) + return ret; + } + +-/* { dg-final { scan-tree-dump "Folded into: if \\(_\[0-9\]+ == 1\\)" "evrp" } } */ +-/* { dg-final { scan-tree-dump-not "Folded into: if \\(_\[0-9\]+ == 2\\)" "evrp" } } */ +-/* { dg-final { scan-tree-dump "Folded into: if \\(_\[0-9\]+ == 3\\)" "evrp" } } */ ++/* { dg-final { scan-tree-dump "Folded into: if \\(_\[0-9\]+ == 1\\)" "evrp1" } } */ ++/* { dg-final { scan-tree-dump-not "Folded into: if \\(_\[0-9\]+ == 2\\)" "evrp1" } } */ ++/* { dg-final { scan-tree-dump "Folded into: if \\(_\[0-9\]+ == 3\\)" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp98.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp98.c +index 78d3bbaf4..b57c160d5 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/vrp98.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp98.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target int128 } */ +-/* { dg-options "-Os -fdisable-tree-evrp -fdump-tree-vrp1-details" } */ ++/* { dg-options "-Os -fdisable-tree-evrp1 -fdump-tree-vrp1-details" } */ + + #include + #include +diff --git a/gcc/testsuite/gcc.dg/vrp-min-max-1.c b/gcc/testsuite/gcc.dg/vrp-min-max-1.c +index b9c8379c8..93ff9f8d7 100644 +--- a/gcc/testsuite/gcc.dg/vrp-min-max-1.c ++++ b/gcc/testsuite/gcc.dg/vrp-min-max-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-vrp1 -fdisable-tree-evrp -fdump-tree-mergephi2" } */ ++/* { dg-options "-O2 -fdump-tree-vrp1 -fdisable-tree-evrp1 -fdump-tree-mergephi2" } */ + + int bar (void); + +diff --git a/gcc/testsuite/gcc.dg/vrp-min-max-3.c b/gcc/testsuite/gcc.dg/vrp-min-max-3.c +index 1fffee7bb..ab1fc1de0 100644 +--- a/gcc/testsuite/gcc.dg/vrp-min-max-3.c ++++ b/gcc/testsuite/gcc.dg/vrp-min-max-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -fdump-tree-evrp -fdump-tree-fre1" } */ ++/* { dg-options "-O2 -fdump-tree-evrp1 -fdump-tree-fre1" } */ + + int bar (void); + +@@ -23,5 +23,5 @@ int foo2 (int x, int y) + + /* { dg-final { scan-tree-dump-times "MIN_EXPR" 1 "fre1" } } */ + /* { dg-final { scan-tree-dump-times "MAX_EXPR" 1 "fre1" } } */ +-/* { dg-final { scan-tree-dump-not "MIN_EXPR" "evrp" } } */ +-/* { dg-final { scan-tree-dump-not "MAX_EXPR" "evrp" } } */ ++/* { dg-final { scan-tree-dump-not "MIN_EXPR" "evrp1" } } */ ++/* { dg-final { scan-tree-dump-not "MAX_EXPR" "evrp1" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/vect-gather-1.c b/gcc/testsuite/gcc.target/i386/vect-gather-1.c +index 261b66be0..76c9322a4 100644 +--- a/gcc/testsuite/gcc.target/i386/vect-gather-1.c ++++ b/gcc/testsuite/gcc.target/i386/vect-gather-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-Ofast -msse2 -fdump-tree-vect-details -fdump-tree-forwprop4" } */ ++/* { dg-options "-Ofast -msse2 -fdump-tree-vect-details -fdump-tree-forwprop6" } */ + + #ifndef INDEXTYPE + #define INDEXTYPE int +@@ -17,4 +17,4 @@ double vmul(INDEXTYPE *rowstart, INDEXTYPE *rowend, + even with plain SSE2. */ + /* { dg-final { scan-tree-dump "loop vectorized" "vect" } } */ + /* The index vector loads and promotions should be scalar after forwprop. */ +-/* { dg-final { scan-tree-dump-not "vec_unpack" "forwprop4" } } */ ++/* { dg-final { scan-tree-dump-not "vec_unpack" "forwprop6" } } */ +diff --git a/gcc/testsuite/gcc.target/powerpc/vect-gather-1.c b/gcc/testsuite/gcc.target/powerpc/vect-gather-1.c +index bf98045ab..bf00093c3 100644 +--- a/gcc/testsuite/gcc.target/powerpc/vect-gather-1.c ++++ b/gcc/testsuite/gcc.target/powerpc/vect-gather-1.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* Profitable from Power8 since it supports efficient unaligned load. */ +-/* { dg-options "-Ofast -mdejagnu-cpu=power8 -fdump-tree-vect-details -fdump-tree-forwprop4" } */ ++/* { dg-options "-Ofast -mdejagnu-cpu=power8 -fdump-tree-vect-details -fdump-tree-forwprop6" } */ + + #ifndef INDEXTYPE + #define INDEXTYPE unsigned int +@@ -17,4 +17,4 @@ double vmul(INDEXTYPE *rowstart, INDEXTYPE *rowend, + /* With gather emulation this should be profitable to vectorize from Power8. */ + /* { dg-final { scan-tree-dump "loop vectorized" "vect" } } */ + /* The index vector loads and promotions should be scalar after forwprop. */ +-/* { dg-final { scan-tree-dump-not "vec_unpack" "forwprop4" } } */ ++/* { dg-final { scan-tree-dump-not "vec_unpack" "forwprop6" } } */ +diff --git a/gcc/testsuite/gfortran.dg/pr45636.f90 b/gcc/testsuite/gfortran.dg/pr45636.f90 +index 958833c35..304efa7c6 100644 +--- a/gcc/testsuite/gfortran.dg/pr45636.f90 ++++ b/gcc/testsuite/gfortran.dg/pr45636.f90 +@@ -1,6 +1,6 @@ + ! PR fortran/45636 + ! { dg-do compile } +-! { dg-options "-O2 -fdump-tree-forwprop2" } ++! { dg-options "-O2 -fdump-tree-forwprop4" } + ! PR 45636 - make sure no memset is needed for a short right-hand side. + program main + character(len=2), parameter :: x='a ' +@@ -12,4 +12,4 @@ program main + end program main + ! This test will fail on targets which prefer memcpy/memset over + ! move_by_pieces/store_by_pieces. +-! { dg-final { scan-tree-dump-times "memset" 0 "forwprop2" { xfail { { hppa*-*-* && { ! lp64 } } || { mips*-*-* && { ! nomips16 } } } } } } ++! { dg-final { scan-tree-dump-times "memset" 0 "forwprop4" { xfail { { hppa*-*-* && { ! lp64 } } || { mips*-*-* && { ! nomips16 } } } } } } +-- +2.33.0 + diff --git a/gcc.spec b/gcc.spec index c00c7d5fe7cbce942887dbea02f371ad196ad58f..72a5d5426bb9ab79ad696cd2f06b7c852e1f141b 100644 --- a/gcc.spec +++ b/gcc.spec @@ -2,7 +2,7 @@ %global gcc_major 12 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 88 +%global gcc_release 90 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 @@ -493,6 +493,12 @@ Patch380: 0380-Fix-tune-params-error-in-hip09-and-hip11.patch Patch381: 0381-dfc-Fix-error-in-function-wholeaccess.patch Patch382: 0382-CFGO-Add-more-opts-to-cfgo.patch Patch383: 0383-SVE-Add-aarch64-constraint.patch +Patch384: 0384-x86-64-Don-t-use-temp-for-argument-in-a-TImode-regis.patch +Patch385: 0385-x86-Don-t-use-address-override-with-segment-regsiter.patch +Patch386: 0386-x86-Disable-stack-protector-for-naked-functions.patch +Patch387: 0387-x86-Correct-ASM_OUTPUT_SYMBOL_REF.patch +Patch388: 0388-struct-reorg-Escapes-some-void-pointers.patch +Patch389: 0389-deja-Correct-pass-number-in-options.patch # Part 1001-1999 %ifarch sw_64 @@ -1662,6 +1668,12 @@ not stable, so plugins must be rebuilt any time GCC is updated. %patch -P381 -p1 %patch -P382 -p1 %patch -P383 -p1 +%patch -P384 -p1 +%patch -P385 -p1 +%patch -P386 -p1 +%patch -P387 -p1 +%patch -P388 -p1 +%patch -P389 -p1 %ifarch sw_64 %patch -P1001 -p1 @@ -4289,6 +4301,14 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Fri May 30 2025 huzife <634763349@qq.com> - 12.3.1-90 +- Type: Sync +- DESC: Sync patches from openeuler/gcc. + +* Fri May 30 2025 Hu,Lin1 - 12.3.1-89 +- Type: Sync +- DESC: Sync patches from openeuler/gcc. + * Thu May 29 2025 zhangjingwang - 12.3.1-88 - Type: Sync - DESC: Sync patches from openeuler/gcc. @@ -4719,3 +4739,4 @@ end * Tue Jun 13 2023 huangxiaoquan 12.3.0-1 - Type:Init - DESC:Init GCC 12.3.0 repository +