Commit d7f2fbf6 by Jan Hubicka Committed by Jan Hubicka

re PR middle-end/37343 (ICE in expand_expr_real_1, at expr.c:7290)

	PR middle-end/37343
	* tree-switch-conversion.c (check_final_bb): Accept only IP
	invariants.
	* g++.dg/torture/pr37343.C New file.

From-SVN: r139983
parent 0af0e8dc
2008-09-04 Jan Hubicka <jh@suse.cz>
PR middle-end/37343
* tree-switch-conversion.c (check_final_bb): Accept only IP
invariants.
2008-09-04 Jan Hubicka <jh@suse.cz>
* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
Break out from ...
(vrp_evaluate_conditional_warnv_with_ops): ... this one. Add
......
2008-09-03 Jan Hubicka <jh@suse.cz>
PR middle-end/37343
* g++.dg/torture/pr37343.C New file.
2008-09-03 Ira Rosen <irar@il.ibm.com>
* gcc.dg/vect/slp-perm-1.c: Add call to check_vect.
......@@ -11,7 +16,7 @@
PR tree-optimization/37345
PR tree-optimization/37358
PR tree-optimization/37357
* g++.dg/torture/pr37345.c: New file.
* g++.dg/torture/pr37345.C: New file.
2008-09-03 Tobias Grosser <grosser@fim.uni-passau.de>
......
/* { dg-do compile } */
typedef enum RW { rwBitmapGrey, rwBitmapGrey16 } RW;
void FindDepth(RW);
void ParseDumpBitmap(RW kind, int maxfiles)
{
static const RW normalTypes[] = { };
const RW *bitmapTypes;
int i;
switch (kind) {
case rwBitmapGrey:
case rwBitmapGrey16:
bitmapTypes = &kind;
break;
default:
bitmapTypes = normalTypes;
}
for (i = 0; i < maxfiles; i++)
FindDepth(bitmapTypes[i]);
}
......@@ -298,7 +298,7 @@ check_final_bb (void)
if ((bb == info.switch_bb
|| (single_pred_p (bb) && single_pred (bb) == info.switch_bb))
&& !is_gimple_min_invariant (gimple_phi_arg_def (phi, i)))
&& !is_gimple_ip_invariant (gimple_phi_arg_def (phi, i)))
{
info.reason = " Non-invariant value from a case\n";
return false; /* Non-invariant argument. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment