This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/79347] [7 regression] vect_do_peeling is messing up profile


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79347

--- Comment #12 from amker at gcc dot gnu.org ---
(In reply to Rainer Orth from comment #10)
> The new testcase FAILs on sparc-sun-solaris2.12, both 32 and 64-bit:
> 
> +FAIL: gcc.dg/vect/pr79347.c -flto -ffat-lto-objects  scan-tree-dump-times
> vect "Invalid sum of " 2
> +FAIL: gcc.dg/vect/pr79347.c scan-tree-dump-times vect "Invalid sum of " 2
> 
> "Invalid sum of " doesn't occur in the dump file at all.
> 
>   Rainer

Though the dump has consistent frequency number, it really looks wrong since
back edge of vectorized loop has 0 counter.


;;   basic block 9, loop depth 1, count 0, freq 1148, maybe hot
;;    prev block 8, next block 10, flags: (NEW, REACHABLE, VISITED)
;;    pred:       10 [100.0%]  (FALLTHRU,DFS_BACK,EXECUTABLE)
;;                8 [100.0%]  (FALLTHRU)
  # RANGE [0, 2147483647] NONZERO 2147483647
  # i_18 = PHI <i_14(10), i_38(8)>
  # .MEM_19 = PHI <.MEM_76(10), .MEM_39(8)>
  # PT = nonlocal escaped null 
  # ALIGN = 8, MISALIGN = 0
  # vectp_a.13_65 = PHI <vectp_a.13_66(10), vectp_a.14_63(8)>
  # PT = nonlocal escaped null 
  # ALIGN = 8, MISALIGN = 0
  # vectp_a.19_74 = PHI <vectp_a.19_75(10), vectp_a.20_72(8)>
  # ivtmp_77 = PHI <ivtmp_78(10), 0(8)>
  # RANGE [0, 4294967295]
  i.1_2 = (unsigned intD.4) i_18;
  # RANGE [0, 4294967295] NONZERO 4294967294
  _3 = i.1_2 * 2;
  # PT = nonlocal escaped null 
  _4 = a.0_1 + _3;
  # VUSE <.MEM_19>
  vect__5.15_67 = MEM[(short intD.10 *)vectp_a.13_65];
  # VUSE <.MEM_19>
  _5 = *_4;
  vect__6.16_68 = VIEW_CONVERT_EXPR<vector(4) unsigned short>(vect__5.15_67);
  # RANGE [0, 65535]
  _6 = (unsigned short) _5;
  vect__7.17_70 = vect__6.16_68 + vect_cst__69;
  # RANGE [0, 65535]
  _7 = _6 + 1;
  vect__8.18_71 = VIEW_CONVERT_EXPR<vector(4) short intD.10>(vect__7.17_70);
  _8 = (short intD.10) _7;
  # .MEM_76 = VDEF <.MEM_19>
  MEM[(short intD.10 *)vectp_a.19_74] = vect__8.18_71;
  i_14 = i_18 + 1;
  # PT = nonlocal escaped null 
  # ALIGN = 8, MISALIGN = 0
  vectp_a.13_66 = vectp_a.13_65 + 8;
  # PT = nonlocal escaped null 
  # ALIGN = 8, MISALIGN = 0
  vectp_a.19_75 = vectp_a.19_74 + 8;
  ivtmp_78 = ivtmp_77 + 1;
  if (ivtmp_78 < bnd.10_58)
    goto <bb 10>; [0.00%]
  else
    goto <bb 11>; [100.00%]
;;    succ:       10 (TRUE_VALUE,EXECUTABLE)
;;                11 [100.0%]  (FALSE_VALUE,EXECUTABLE)

;;   basic block 10, loop depth 1, count 0, freq 0
;;    prev block 9, next block 11, flags: (NEW, VISITED)
;;    pred:       9 (TRUE_VALUE,EXECUTABLE)
  goto <bb 9>; [100.00%]
;;    succ:       9 [100.0%]  (FALLTHRU,DFS_BACK,EXECUTABLE)

I will have a look.  Thanks.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]