* tree-cfg.c (touched_switch_bbs): New static variable.
(group_case_labels_stmt): New function broken out from ...
(group_case_labels): ... here, use the above.
(start_recording_case_labels): Allocate touched_switch_bbs.
(end_recording_case_labels): Deallocate it, call
group_case_labels_stmt.
(gimple_redirect_edge_and_branch): Remember index of affected BB.
testsuite/
* testsuite/gcc.dg/pr42963.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158345
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-04-14 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/42963
+ * tree-cfg.c (touched_switch_bbs): New static variable.
+ (group_case_labels_stmt): New function broken out from ...
+ (group_case_labels): ... here, use the above.
+ (start_recording_case_labels): Allocate touched_switch_bbs.
+ (end_recording_case_labels): Deallocate it, call
+ group_case_labels_stmt.
+ (gimple_redirect_edge_and_branch): Remember index of affected BB.
+
2010-04-14 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
+2010-04-14 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/42963
+ * testsuite/gcc.dg/pr42963.c: New testcase.
+
2010-04-14 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/class_wide.adb: Rename into...
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+#include "rtl.h"
#include "tm_p.h"
+#include "hard-reg-set.h"
#include "basic-block.h"
#include "output.h"
#include "flags.h"
#include "ggc.h"
#include "langhooks.h"
#include "diagnostic.h"
-#include "tree-pretty-print.h"
-#include "gimple-pretty-print.h"
#include "tree-flow.h"
#include "timevar.h"
#include "tree-dump.h"
connected to the operand types. */
return verify_gimple_comparison (lhs_type, rhs1, rhs2);
- case WIDEN_MULT_EXPR:
- if (TREE_CODE (lhs_type) != INTEGER_TYPE)
- return true;
- return ((2 * TYPE_PRECISION (rhs1_type) != TYPE_PRECISION (lhs_type))
- || (TYPE_PRECISION (rhs1_type) != TYPE_PRECISION (rhs2_type)));
-
case WIDEN_SUM_EXPR:
+ case WIDEN_MULT_EXPR:
case VEC_WIDEN_MULT_HI_EXPR:
case VEC_WIDEN_MULT_LO_EXPR:
case VEC_PACK_TRUNC_EXPR: