[PATCH] Fix PR64614

Jakub Jelinek jakub@redhat.com
Fri Jan 16 13:25:00 GMT 2015


On Fri, Jan 16, 2015 at 02:02:37PM +0100, Richard Biener wrote:
> 
> The following fixes PR64614, maybe-uninit warnings in switches
> and guards like X & 3.
> 
> The support for switches is quite limited (because the predicate
> infrastructure in the pass is quite limited), but it seems to
> handle this particular case at least.
> 
> Bootstrapped and tested on x86_64-unknown-linux-gnu.
> 
> Any idea how to better handle the case label lookup?  Unfortunately
> the pass doesn't have a general information gathering phase or a
> lattice...  Maybe we just don't care?  Or put in an arbitrary
> limit on gimple_switch_num_labels we handle?

The pass already has various other limits:
#define MAX_NUM_CHAINS 8
#define MAX_CHAIN_LEN 5
#define MAX_POSTDOM_CHECK 8
I'd just add MAX_SWITCH_CASES 40
or similar.  Or, turn all those into proper params ;)

	Jakub



More information about the Gcc-patches mailing list