------- Additional Comments From steven at gcc dot gnu dot org  2004-12-20 
09:44 -------
At the start of the alias pass: 
 
(gdb) 
1593          invalidate_name_tags (vars_to_rename); 
(gdb) p debug_bitmap (vars_to_rename) 
 
first = 0xd73d10 current = 0xd73d10 indx = 0 
        0xd73d10 next = (nil) prev = (nil) indx = 0 
                bits = { 1 3 7 9 50 } 
 
Then in prepare_use_operand_for_rename we have for the first V_MAY_DEF: 
409       FOR_EACH_SSA_MAYDEF_OPERAND (def_p, use_p, stmt, iter) 
(gdb) 
411           if (prepare_use_operand_for_rename (use_p, &uid)) 
(gdb) step 
prepare_use_operand_for_rename (op_p={use = 0x2a95a358d0}, uid_p=0x7fbfffc608) 
at tree-into-ssa.c:562 
562       tree use = USE_FROM_PTR (op_p); 
563       tree var = (TREE_CODE (use) != SSA_NAME) ? use : SSA_NAME_VAR (use); 
564       *uid_p = var_ann (var)->uid; 
(gdb) p debug_generic_expr (use) 
NMT.24D.1619 
(gdb) p debug_generic_expr (var) 
NMT.24D.1619 
$47 = void 
(gdb) p *uid_p 
$46 = 51 
 
Then we have: 
567       if (vars_to_rename && !bitmap_bit_p (vars_to_rename, *uid_p)) 
 
So the bug seems to be in the alias pass, it just doesn't name the NMT 
for renaming at all. 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19080

Reply via email to