This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR64614
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 16 Jan 2015 14:16:43 +0100
- Subject: Re: [PATCH] Fix PR64614
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot LSU dot 2 dot 11 dot 1501161358380 dot 12482 at zhemvz dot fhfr dot qr>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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