On 08/27/2018 05:21 PM, Richard Biener wrote:
> On Mon, Aug 27, 2018 at 4:05 PM Martin Liška <mli...@suse.cz> wrote:
>>
>> Hi.
>>
>> Now we should not meet a degenerated gswitch statements.
>>
>> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>>
>> Ready to be installed?
> 
> Hum.  This relies on us doing CFG cleanup.  Do we really want
> find_taken_edge to ICE when called between CFG construction
> and the first such call?  That is, I think this kind of "verification"
> belongs in the CFG verifier.  Note that there's GIMPLE switches
> before we have a CFG and those are not sanitized (at least
> not that I know of).  So we cannot really declare single-case
> switch stmts invalid?

Thanks for explanation. In case of switch_conversion::expand, may I apply
patch for that? It should not see a degenerated switch, or do I miss
something?

Martin

> 
> Thanks,
> Richard.
> 
>> Martin
>>
>> gcc/ChangeLog:
>>
>> 2018-08-27  Martin Liska  <mli...@suse.cz>
>>
>>         * tree-cfg.c (find_taken_edge_switch_expr): Replace not possible
>>         condition with assert.
>>         * tree-switch-conversion.c (switch_conversion::expand):
>>         Likewise.
>> ---
>>  gcc/tree-cfg.c               | 17 +++++++----------
>>  gcc/tree-switch-conversion.c |  9 +--------
>>  2 files changed, 8 insertions(+), 18 deletions(-)
>>
>>

Reply via email to