Vladimir Makarov wrote:

>      PR rtl-optimization/59036
>          * ira-color.c (struct allocno_color_data): Add new members
>          first_thread_allocno, next_thread_allocno, thread_freq.
>          (sorted_copies): New static var.
>          (allocnos_conflict_by_live_ranges_p, copy_freq_compare_func): Move
>          up.
>          (allocno_thread_conflict_p, merge_threads)
>          (form_threads_from_copies, form_threads_from_bucket)
>          (form_threads_from_colorable_allocno, init_allocno_threads): New
>          functions.
>          (bucket_allocno_compare_func): Add comparison by thread frequency
>          and threads.
>          (add_allocno_to_ordered_bucket): Rename to
>          add_allocno_to_ordered_colorable_bucket.  Remove parameter.
>          (push_only_colorable): Call form_threads_from_bucket.
>          (color_pass): Call init_allocno_threads.  Use
>          consideration_allocno_bitmap instead of coloring_allocno_bitmap
>          for nuillify allocno color data.
>          (ira_initiate_assign, ira_finish_assign): Allocate/free
>          sorted_copies.
>          (coalesce_allocnos): Use static sorted copies.

Unfortunately, this patch causes cc1 for powerpc64-linux to crash for me
even when compiling "int main () { return 0; }" with -O due to a memory
corruption somewhere:

 <*free_lang_data> <visibility> <early_local_cleanups> <*free_inline_summary> 
<whole-program> <profile_estimate> <inline> <pure-const> <static-var>Assembling 
functions:
 main*** glibc detected *** ./cc1: corrupted double-linked list: 
0x0000010035a3b4c0 ***                                                          
                       
======= Backtrace: =========                                                    
                                                                                
        
/lib64/libc.so.6[0x80a284fe04]                                                  
                                                                                
        
/lib64/libc.so.6[0x80a2850144]                                                  
                                                                                
        
/lib64/libc.so.6[0x80a2852b18]                                                  
                                                                                
        
./cc1(_Z16empty_alloc_poolP14alloc_pool_def-0x1306f10)[0x10263bc8]              
                                                                                
        
./cc1(_Z15free_alloc_poolP14alloc_pool_def-0x1306e90)[0x10263c58]               
                                                                                
        
./cc1[0x103746cc]                                                               
                                                                                
        
./cc1(_Z13df_scan_allocP15bitmap_head_def-0x11fe808)[0x10374810]                
                                                                                
        
./cc1[0x106189c8]                                                               
                                                                                
        
./cc1(_Z16execute_one_passP8opt_pass-0xe6ebe0)[0x1071e8e8]                      
                                                                                
        
./cc1(_Z17execute_pass_listP8opt_pass-0xe6e884)[0x1071ec54]                     
                                                                                
        
./cc1(_Z17execute_pass_listP8opt_pass-0xe6e83c)[0x1071ec9c]                     
                                                                                
        
./cc1[0x10335b98]                                                               
                                                                                
        
./cc1[0x103361c0]                                                               
                                                                                
        
./cc1(_Z7compilev-0x123a0ec)[0x1033713c]                                        
                                                                                
        
./cc1(_Z25finalize_compilation_unitv-0x1239ea4)[0x10337394]                     
                                                                                
        
./cc1(_Z27c_write_global_declarationsv-0x1437034)[0x1012f044]                   
                                                                                
        
./cc1[0x10820814]                                                               
                                                                                
        
./cc1[0x10824334]                                                               
                                                                                
        
./cc1(_Z11toplev_mainiPPc-0xd7068c)[0x108245bc]                                 
                                                                                
        
./cc1(main-0x5efa08)[0x10fec400]                                                
                                                                                
        
/lib64/libc.so.6[0x80a27ebcf8]                                                  
                                                                                
        
/lib64/libc.so.6(__libc_start_main-0x184de0)[0x80a27ebef0]                      
                                                                                
        

conftest.c: In function ‘main’:
conftest.c:5:1: internal compiler error: Aborted
 }
 ^
0x1081f99f crash_signal
        /home/uweigand/src/gcc/gcc/toplev.c:334
0x10263bc7 empty_alloc_pool(alloc_pool_def*)
        /home/uweigand/src/gcc/gcc/alloc-pool.c:206
0x10263c57 free_alloc_pool(alloc_pool_def*)
        /home/uweigand/src/gcc/gcc/alloc-pool.c:229
0x103746cb df_scan_free_internal
        /home/uweigand/src/gcc/gcc/df-scan.c:265
0x1037480f df_scan_alloc(bitmap_head_def*)
        /home/uweigand/src/gcc/gcc/df-scan.c:324
0x106189c7 do_reload
        /home/uweigand/src/gcc/gcc/ira.c:5470
0x106189c7 rest_of_handle_reload
        /home/uweigand/src/gcc/gcc/ira.c:5536
0x106189c7 execute
        /home/uweigand/src/gcc/gcc/ira.c:5565
 
Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU/Linux compilers and toolchain
  ulrich.weig...@de.ibm.com

Reply via email to