https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101793
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-08-05 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- [WORKLIST]: add to initial list: saved_20 = PHI <saved_10(D)(15), saved_11(11)> [CHECK]: examining phi: saved_20 = PHI <saved_10(D)(15), saved_11(11)> [CHECK]: Found unguarded use: state = saved_20; ;; basic block 7, loop depth 0, count 89223651 (estimated locally), maybe hot ;; prev block 14, next block 16, flags: (NEW, VISITED) ;; pred: 6 [34.8% (guessed)] count:89223651 (estimated locally) (TRUE_VALUE,EXECUTABLE) if (p_9(D) != 0) goto <bb 15>; [0.00%] else goto <bb 16>; [100.00%] ;; succ: 15 [never (guessed)] count:0 (estimated locally) (TRUE_VALUE,EXECUTABLE) ;; 16 [always (guessed)] count:89223651 (estimated locally) (FALSE_VALUE,EXECUTABLE) .... ;; basic block 15, loop depth 0, count 0 (estimated locally) ;; prev block 16, next block 8, flags: (NEW) ;; pred: 7 [never (guessed)] count:0 (estimated locally) (TRUE_VALUE,EXECUTABLE) ;; succ: 8 [always] count:0 (estimated locally) (FALLTHRU) ;; basic block 8, loop depth 0, count 89223651 (estimated locally), maybe hot ;; prev block 15, next block 9, flags: (NEW, VISITED) ;; pred: 15 [always] count:0 (estimated locally) (FALLTHRU) ;; 11 [always] count:89223650 (estimated locally) (FALLTHRU) # p_15 = PHI <0(15), p_9(D)(11)> # saved_20 = PHI <saved_10(D)(15), saved_11(11)> state = saved_20; ;; succ: 9 [always] count:89223651 (estimated locally) (FALLTHRU,EXECUTABLE) I don't know enough about the uninit predicated code to understand why it can't find that bb15 is predicated on p_9(D) != 0