[Bug c++/53050] ssa_forward_propagate_and_combine: segmentation fault
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 11 20:29:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53050
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |trippels at gcc dot gnu.org
--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Quick reduction, several uninitialized vars.
markus@x4 tmp % cat b.ii
class A;
class B {
public:
B(A *);
};
template <typename> char saturate_cast(int p1) { return p1 > 0; }
class A {
virtual void operator()(const unsigned char **, unsigned char *);
};
struct C : A {
C(int) {}
void operator()(const unsigned char **, unsigned char *p2) {
int i, a;
double b;
int *c;
unsigned char *D = p2;
for (; i; i += 2) {
int d = a + c[i], e = a + c[i + 1];
D[i] = saturate_cast<char>(d * b);
D[i + 1] = saturate_cast<char>(e * b);
}
}
};
int f;
void getColumnSumFilter() { B(new C(f)); }
markus@x4 tmp % g++ -O3 -c b.ii
b.ii: In member function ‘virtual void C::operator()(const unsigned char**,
unsigned char*)’:
b.ii:12:8: internal compiler error: tree check: expected class ‘expression’,
have ‘exceptional’ (ssa_name) in tree_operand_check, at tree.h:3436
void operator()(const unsigned char **, unsigned char *p2) {
^
0xf398a7 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
../../gcc/gcc/tree.c:9638
0xf12861 expr_check(tree_node*, char const*, int, char const*)
../../gcc/gcc/tree.h:3107
0xf12861 tree_operand_check(tree_node*, int, char const*, int, char const*)
../../gcc/gcc/tree.h:3436
0xf12861 vect_get_constant_vectors
../../gcc/gcc/tree-vect-slp.c:2744
0xf12bb3 vect_get_slp_defs(vec<tree_node*, va_heap, vl_ptr>, _slp_tree*,
vec<vec<tree_node*, va_heap, vl_ptr>, va_heap, vl_ptr>*, int)
../../gcc/gcc/tree-vect-slp.c:3025
0xee249a vectorizable_condition(gimple*, gimple_stmt_iterator*, gimple**,
tree_node*, int, _slp_tree*)
../../gcc/gcc/tree-vect-stmts.c:7389
0xef4998 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*, _slp_tree*,
_slp_instance*)
../../gcc/gcc/tree-vect-stmts.c:8020
0xf0bd7d vect_schedule_slp_instance
../../gcc/gcc/tree-vect-slp.c:3482
0xf0bbd9 vect_schedule_slp_instance
../../gcc/gcc/tree-vect-slp.c:3363
0xf0bbd9 vect_schedule_slp_instance
../../gcc/gcc/tree-vect-slp.c:3363
0xf0d886 vect_schedule_slp(vec_info*)
../../gcc/gcc/tree-vect-slp.c:3547
0xefab65 vect_transform_loop(_loop_vec_info*)
../../gcc/gcc/tree-vect-loop.c:6619
0xf15287 vectorize_loops()
../../gcc/gcc/tree-vectorizer.c:533
More information about the Gcc-bugs
mailing list