Re: [PR 89330] Avoid adding dead speculative edges to inlinig heap

2019-06-06 Thread Jan Hubicka
My understanding is that the problematic situation is when we create speculation, insert it to the priority queue and then decide it is useless. This is done by speculation_useful_p and that checks more than just the fact whether function is inlinable (it accepts targets declared as PURE/CONST b

Re: [PR 89330] Avoid adding dead speculative edges to inlinig heap

2019-06-06 Thread Martin Liška
Hi. This is rebased version of the patch that Martin J. wrote. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Thanks, Martin >From 17290dd6dc4412aee6c6484844f9edb149129d36 Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Wed, 5 Jun 2019 16:11:44 +0200 Subject: [PATCH]

[PR 89330] Avoid adding dead speculative edges to inlinig heap

2019-02-15 Thread Martin Jambor
Hi, Martin discovered that inliner was adding deleted call graph edges to its heap when supposedly processing newly discovered direct edges. The problem is that a new edge created in the speculation part of the indirect inlining machinery created speculative edges that were immediately afterwards