This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/18308] ICE in do_jump, at dojump.c:274


------- Additional Comments From dpatel at apple dot com  2004-11-18 02:26 -------
After I update tree-level if-conversion to force gimple operands appropriately, rewrite_out_of_ssa() is 
converting following ...

bar()                                                                                                                                     
{                                                                                                                                           
  _Bool _ifc_.3;                                                                                                                            
  _Bool _ifc_.2;                                                                                                                            
  _Bool D.1339;                                                                                                                             
  _Bool D.1336;                                                                                                                             
  _Bool D.1337;                                                                                                                             
  _Bool D.1338;                                                                                                                             
  _Bool _ifc_.1;                                                                                                                            
  unsigned int ivtmp.0;                                                                                                                     
  int k;                                                                                                                                    
  int j;                                                                                                                                    
  int i;                                                                                                                                    
                                                                                                                                            
  # BLOCK 0                                                                                                                                 
  # PRED: ENTRY [100.0%]  (fallthru,exec)                                                                                                   
  k_21 = j_6 != 0 ? 2 : 0;                                                                                                                  
  k_5 = j_6 == 0 ? k_21 : 2;                                                                                                                
  if (k_5 != 0) goto <L5>; else goto <L6>;                                                                                                  
  # SUCC: 1 [46.5%]  (true,exec) 2 [53.5%]  (false,exec)                                                                                    
                                                                                                                                            
  # BLOCK 1                                                                                                                                 
  # PRED: 0 [46.5%]  (true,exec)                                                                                                            
<L5>:;                                                                                                                                      
  #   .GLOBAL_VAR_10 = V_MAY_DEF <.GLOBAL_VAR_9>;                                                                                           
  foo () [tail call];                                                                                                                       
  # SUCC: 2 [100.0%]  (fallthru,exec)                                                                                                       
                                                                                                                                            
  # BLOCK 2                                                                                                                                 
  # PRED: 0 [53.5%]  (false,exec) 1 [100.0%]  (fallthru,exec)                                                                               
<L6>:;                                                                                                                                      
  return;                                                                                                                                   
  # SUCC: EXIT [100.0%]                                                                                                                     
                                                                                                                                            
}                                                                                                                                           
                                                                                                                                            

into ...

bar ()                                                                                                                                      
{                                                                                                                                           
  int k.17;                                                                                                                                 
  _Bool _ifc_.3;                                                                                                                            
  _Bool _ifc_.2;                                                                                                                            
  _Bool D.1339;                                                                                                                             
  _Bool D.1336;                                                                                                                             
  _Bool D.1337;                                                                                                                             
  _Bool D.1338;                                                                                                                             
  _Bool _ifc_.1;                                                                                                                            
  unsigned int ivtmp.0;                                                                                                                     
  int k;                                                                                                                                    
  int j;                                                                                                                                    
  int i;                                                                                                                                    
                                                                                                                                            
  # BLOCK 0                                                                                                                                 
  # PRED: ENTRY [100.0%]  (fallthru,exec)                                                                                                   
  if ((j == 0 ? j != 0 ? 2 : 0 : 2) != 0) goto <L5>; else goto <L6>;                                                                        
  # SUCC: 1 [46.5%]  (true,exec) 2 [53.5%]  (false,exec)                                                                                    
                                                                                                                                            
  # BLOCK 1                                                                                                                                 
  # PRED: 0 [46.5%]  (true,exec)                                                                                                            
<L5>:;                                                                                                                                      
  #   .GLOBAL_VAR_10 = V_MAY_DEF <.GLOBAL_VAR_9>;                                                                                           
  foo () [tail call];                                                                                                                       
  # SUCC: 2 [100.0%]  (fallthru,exec)                                                                                                       
                                                                                                                                            
  # BLOCK 2                                                                                                                                 
  # PRED: 0 [53.5%]  (false,exec) 1 [100.0%]  (fallthru,exec)                                                                               
<L6>:;                                                                                                                                      
  return;                                                                                                                                   
  # SUCC: EXIT [100.0%]                                                                                                                     
                                                                                                                                            
}

                                                  

-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]