duplicate_block weirdness

2006-04-10 Thread Sean Callanan
Dear mailing list, is there something wrong with the following code? -- basic_block my_basic_block; basic_block dup_basic_block; FOR_EACH_BB(my_basic_block) { dup_basic_block = duplicate_block(bb, NULL); } -- I get an ICE in get_indirect_ref_operands, with the backtrace: -- #0 0x000

Re: duplicate_block weirdness

2006-04-11 Thread Zdenek Dvorak
Hello, > Dear mailing list, > > is there something wrong with the following code? > -- > basic_block my_basic_block; > basic_block dup_basic_block; > > FOR_EACH_BB(my_basic_block) > { > dup_basic_block = duplicate_block(bb, NULL); > } I assume you mean > dup_basic_block = duplicate

Re: duplicate_block weirdness

2006-04-11 Thread Sean Callanan
Yes, I meant -- basic_block my_basic_block; basic_block dup_basic_block; FOR_EACH_BB(my_basic_block) { dup_basic_block = duplicate_block(my_basic_block, NULL); } -- I also got some more precise context. The statement being copied at that point is: -- *D.1600 = 0; -- whose GIMPLE rep

Re: duplicate_block weirdness

2006-04-11 Thread Daniel Berlin
is from an ICE: - get_expr_operands() on the INDIRECT_REF calls get_indirect_ref_operands(), and - get_indirect_ref_operands() tries to look at the var_ann for the INDIRECT_REF, which is NULL at that point. Is the var_ann NULL because I need to require something more than PROP_gimple_any |