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

Andrew Macleod <amacleod at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldy at quesejoda dot com

--- Comment #3 from Andrew Macleod <amacleod at redhat dot com> ---
Im not good with the threader, but it does seem like there is a big difference
in the threading oass just before VRP1:

  ---  gcc11: ----

Checking profitability of path (backwards):  bb:3 (2 insns) bb:7 (4 insns) bb:6
(1 insns) bb:5
  Control statement insns: 2
  Overall: 5 insns
  Registering FSM jump thread: (5, 6) incoming edge;  (6, 7)  (7, 3)  (3, 6)
nocopy; (3, 6)
Checking profitability of path (backwards):  bb:3 (2 insns) bb:7 (4 insns) bb:6
(1 insns) bb:4
  Control statement insns: 2
  Overall: 5 insns
  Registering FSM jump thread: (4, 6) incoming edge;  (6, 7)  (7, 3)  (3, 4)
nocopy; (3, 4)
Checking profitability of path (backwards):  bb:3 (2 insns) bb:7 (4 insns) bb:6
(1 insns) bb:3
  Control statement insns: 2
  Overall: 5 insns
  Registering FSM jump thread: (3, 6) incoming edge;  (6, 7)  (7, 3)  (3, 6)
nocopy; (3, 6)

about to thread: path: 5 -> 6, 6 -> 7, 7 -> 3, 3 -> 6,
just threaded: path: 5 -> 9, 6 -> 7, 7 -> 3, 3 -> 6,

about to thread: path: 3 -> 6, 6 -> 7, 7 -> 3, 3 -> 6,
Jump threading proved probability of edge 3->6 too small (it is 59.0% (guessed)
should be always (guessed))
just threaded: path: 3 -> 12, 6 -> 7, 7 -> 3, 3 -> 12,

about to thread: path: 4 -> 6, 6 -> 7, 7 -> 3, 3 -> 4,
Jump threading proved probability of edge 3->4 too small (it is 73.5% (guessed)
should be 88.5% (guessed))
just threaded: path: 4 -> 15, 6 -> 7, 7 -> 3, 3 -> 4,



  ---  trunk: ----
And with trunk it appears we we reject those threads due to
    "FAIL: Would create irreducible loop early without threading multiway
branch.

Checking profitability of path (backwards):  bb:3 (2 insns) bb:7
  Control statement insns: 2
  Overall: 0 insns

path: 7->3->xx REJECTED
Checking profitability of path (backwards):  bb:3 (2 insns) bb:7 (2 insns) bb:6
(latch)
  Control statement insns: 2
  Overall: 2 insns

 Registering killing_def (path_oracle) retval_10
path: 6->7->3->xx REJECTED
Checking profitability of path (backwards):  bb:3 (2 insns) bb:7 (2 insns) bb:6
(1 insns) (latch) bb:4
  Control statement insns: 2
  Overall: 3 insns

 Registering killing_def (path_oracle) retval_10
Checking profitability of path (backwards):   FAIL: Would create irreducible
loop early without threading multiway branch.
path: 4->6->7->3->xx REJECTED
Checking profitability of path (backwards):  bb:3 (2 insns) bb:7 (2 insns) bb:6
(1 insns) (latch) bb:9
  Control statement insns: 2
  Overall: 3 insns

 Registering killing_def (path_oracle) retval_10
Checking profitability of path (backwards):   FAIL: Would create irreducible
loop early without threading multiway branch.
path: 9->6->7->3->xx REJECTED
Checking profitability of path (backwards):  bb:7 (2 insns) bb:6 (latch)
  Control statement insns: 2
  Overall: 0 insns

Reply via email to