https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111465
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- ``` Optimizing block #15 1>>> STMT 1 = prephitmp_58 le_expr location_138 1>>> STMT 1 = prephitmp_58 ge_expr location_138 1>>> STMT 1 = prephitmp_58 eq_expr location_138 1>>> STMT 0 = prephitmp_58 ne_expr location_138 Optimizing statement if (iftmp.2_137 <= location_138) Replaced 'iftmp.2_137' with constant '2147483648' Applying pattern match.pd:6895, gimple-match-8.cc:2512 Applying pattern match.pd:5745, gimple-match-4.cc:2113 gimple_simplified to _192 = (signed int) location_138; if (_192 < 0) Folded to: if (_192 < 0) Registering value_relation (_192 pe32 location_138) (bb15) at _192 = (signed int) location_138; Folding predicate _192 < 0 to 0 Optimizing statement _192 = (signed int) location_138; LKUP STMT _192 = nop_expr location_138 2>>> STMT _192 = nop_expr location_138 Optimizing block #16 Optimizing statement _16 = (signed int) prephitmp_15; Replaced 'prephitmp_15' with variable 'location_138' LKUP STMT _16 = nop_expr location_138 FIND: _192 Replaced redundant expr '(signed int) location_138' with '_192' ==== ASGN _16 = _192 Optimizing statement if (_16 < 0) Replaced '_16' with variable '_192' Folding predicate _192 < 0 to 0 Marking all outgoing edges of unreachable BB 17 as not executable <<<< STMT _192 = nop_expr location_138 <<<< STMT 0 = prephitmp_58 ne_expr location_138 <<<< STMT 1 = prephitmp_58 eq_expr location_138 <<<< STMT 1 = prephitmp_58 ge_expr location_138 <<<< STMT 1 = prephitmp_58 le_expr location_138 <<<< COPY prephitmp_15 = location_138 ``` But _16 is no longer used ...