https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82965
--- Comment #7 from amker at gcc dot gnu.org --- While I am understanding the issue. The dump of ifcvt pass is as below: ;; basic block 2, loop depth 0, count 118111601 (estimated locally), maybe hot ;; prev block 0, next block 3, flags: (NEW, REACHABLE, VISITED) ;; pred: ENTRY [always] count:118111601 (estimated locally) (FALLTHRU,EXECUTABLE) # VUSE <.MEM_12(D)> c.1_17 = cD.1595; if (c.1_17 > 0) goto <bb 3>; [89.00%] else goto <bb 5>; [11.00%] ;; succ: 3 [89.0% (guessed)] count:105119325 (estimated locally) (TRUE_VALUE,EXECUTABLE) ;; 5 [11.0% (guessed)] count:12992276 (estimated locally) (FALSE_VALUE,EXECUTABLE) ;; basic block 3, loop depth 0, count 105119325 (estimated locally), maybe hot ;; prev block 2, next block 4, flags: (NEW, REACHABLE, VISITED) ;; pred: 2 [89.0% (guessed)] count:105119325 (estimated locally) (TRUE_VALUE,EXECUTABLE) # VUSE <.MEM_12(D)> ;;... ;; succ: 4 [always] count:105119325 (estimated locally) (FALLTHRU,EXECUTABLE) ;; basic block 4, loop depth 1, count 955630224 (estimated locally), maybe hot ;; prev block 3, next block 6, flags: (NEW, REACHABLE, VISITED) ;; pred: 3 [always] count:105119325 (estimated locally) (FALLTHRU,EXECUTABLE) ;; 6 [always] count:850510900 (estimated locally) (FALLTHRU,DFS_BACK,EXECUTABLE) # RANGE [0, 2147483647] NONZERO 2147483647 # i_18 = PHI <0(3), i_14(6)> ;;... if (i_14 < c.1_17) goto <bb 6>; [89.00%] else goto <bb 5>; [11.00%] ;; succ: 6 [89.0% (guessed)] count:850510900 (estimated locally) (TRUE_VALUE,EXECUTABLE) ;; 5 [11.0% (guessed)] count:105119324 (estimated locally) (FALSE_VALUE,EXECUTABLE) ;; basic block 6, loop depth 1, count 850510900 (estimated locally), maybe hot ;; prev block 4, next block 5, flags: (NEW, VISITED) ;; pred: 4 [89.0% (guessed)] count:850510900 (estimated locally) (TRUE_VALUE,EXECUTABLE) goto <bb 4>; [100.00%] ;; succ: 4 [always] count:850510900 (estimated locally) (FALLTHRU,DFS_BACK,EXECUTABLE) ;; basic block 5, loop depth 0, count 118111601 (estimated locally), maybe hot ;; prev block 6, next block 1, flags: (NEW, REACHABLE, VISITED) ;; pred: 2 [11.0% (guessed)] count:12992276 (estimated locally) (FALSE_VALUE,EXECUTABLE) ;; 4 [11.0% (guessed)] count:105119324 (estimated locally) (FALSE_VALUE,EXECUTABLE) ;;... return; ;; succ: EXIT [always (guessed)] count:118111601 (estimated locally) Question is for edges <bb2, bb5> and <bb4, bb5> and local count as: basic block 2, loop depth 0, count 118111601 basic block 4, loop depth 1, count 955630224 basic block 5, loop depth 0, count 118111601 Is count of bb5 is wrong?