[M3devel] optimizer vs. SOLgnu/AMD64_LINUX?

Tony Hosking hosking at cs.purdue.edu
Mon May 18 02:13:42 CEST 2009


This one also sounds familiar.

On 17 May 2009, at 23:40, Jay wrote:

>
> AMD64_LINUX (birch):
>
> --- building in AMD64_LINUX ---
> ignoring ../src/m3overrides
> /home/jkrell/cm3/bin/m3bundle -name B -F/tmp/qk
> new source -> compiling B.i3
> new source -> compiling B.m3
> new source -> compiling m3totex.m3
> ../src/m3totex.m3: In function 'm3totex__Undisplay':
> ../src/m3totex.m3:210: internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See  for instructions.
>  m3_backend => 4
> m3cc (aka cm3cg) failed compiling: m3totex.mc
> compilation failed => not building program "m3totex"
> Fatal Error: package build failed
> *** execution of [, ] failed ***
> birch [~/dev2/cm3/scripts/python] jkrell
>
>
> cd /home/jkrell/dev2/cm3/m3-tools/m3totex
> cm3 -keep -commands
> cd AMD64_LINUX
> gdb --args $HOME/dev2/cm3/m3-sys/m3cc/AMD64_LINUX/gcc/m3cgc1 -quiet - 
> O3 -fno-reorder-blocks m3totex.mc -o m3totex.ms
> (gdb) r
> Starting program: /home/jkrell/dev2/cm3/m3-sys/m3cc/AMD64_LINUX/gcc/ 
> m3cgc1 -quiet -O3 -fno-reorder-blocks m3totex.mc -o m3totex.ms
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000006814f4 in remove_phi_node (phi=0x2b8f63d8ce80, prev=0x0,
>    release_lhs_p=1 '\001') at ../../gcc/gcc/tree-phinodes.c:461
> 461                *loc != phi;
>
> (gdb) where
> #0  0x00000000006814f4 in remove_phi_node (phi=0x2b8f63d8ce80,  
> prev=0x0,
>    release_lhs_p=1 '\001') at ../../gcc/gcc/tree-phinodes.c:461
> #1  0x00000000007039fb in remove_dead_inserted_code ()
>    at ../../gcc/gcc/tree-ssa-pre.c:3775
> #2  0x00000000007042b2 in execute_pre (do_fre=0 '\0')
>    at ../../gcc/gcc/tree-ssa-pre.c:3975
> #3  0x00000000007042cc in do_pre () at ../../gcc/gcc/tree-ssa-pre.c: 
> 3987
> #4  0x000000000058be1b in execute_one_pass (pass=0xe46860)
>    at ../../gcc/gcc/passes.c:1122
> #5  0x000000000058bf73 in execute_pass_list (pass=0xe46860)
>    at ../../gcc/gcc/passes.c:1175
> #6  0x000000000058bf91 in execute_pass_list (pass=0xe45420)
>    at ../../gcc/gcc/passes.c:1176
> #7  0x0000000000676bbd in tree_rest_of_compilation  
> (fndecl=0x2b8f63b24000)
>    at ../../gcc/gcc/tree-optimize.c:404
> #8  0x00000000007cedf1 in cgraph_expand_function (node=0x2b8f63ac5d00)
>    at ../../gcc/gcc/cgraphunit.c:1157
> #9  0x00000000007cef9e in cgraph_expand_all_functions ()
>    at ../../gcc/gcc/cgraphunit.c:1220
> #10 0x00000000007cf551 in cgraph_optimize ()
>    at ../../gcc/gcc/cgraphunit.c:1427
> #11 0x000000000040f875 in m3_parse_file (xx=0)
>    at ../../gcc/gcc/m3cg/parse.c:5241
> #12 0x000000000062feec in compile_file () at ../../gcc/gcc/toplev.c: 
> 1042
> #13 0x0000000000631a26 in do_compile () at ../../gcc/gcc/toplev.c:2247
> #14 0x0000000000631a8a in toplev_main (argc=7, argv=0x7fff47342e88)
>    at ../../gcc/gcc/toplev.c:2279
> #15 0x0000000000417ecf in main (argc=7, argv=0x7fff47342e88)
>    at ../../gcc/gcc/main.c:35
> (gdb)
>
>
> Same thing with -O2.
>
>
> - Jay
>
>
> ----------------------------------------
>> From: jay.krell at cornell.edu
>> To: hosking at cs.purdue.edu; m3devel at elegosoft.com
>> Subject: RE: [M3devel] optimizer vs. SOLgnu?
>> Date: Sun, 17 May 2009 13:35:00 +0000
>>
>>
>> a little more info:
>>
>>
>> dbx /dev2/cm3/m3-sys/m3cc/SOLgnu/gcc/m3cgc1
>> stop in fancy_abort
>> run -quiet -O2 -fno-reorder-blocks RTCollector.mc -o RTCollector.ms
>> where
>>
>>
>> =>[1] fancy_abort(file = 0x813b28 "../../gcc/gcc/tree-flow- 
>> inline.h", line = 1591, function = 0x813b
>> 88 "lookup_subvars_for_var"), line 660 in "diagnostic.c"
>> [2] lookup_subvars_for_var(var = 0xfed10a90), line 1591 in "tree- 
>> flow-inline.h"
>> [3] get_subvars_for_var(var = 0xfed10a90), line 1608 in "tree-flow- 
>> inline.h"
>> [4] create_structure_vars(), line 4165 in "tree-ssa-alias.c"
>> [5] execute_one_pass(pass = 0x860400), line 1122 in "passes.c"
>> [6] execute_pass_list(pass = 0x860400), line 1175 in "passes.c"
>> [7] execute_pass_list(pass = 0x86016c), line 1176 in "passes.c"
>> [8] tree_rest_of_compilation(fndecl = 0xfefbbc00), line 404 in  
>> "tree-optimize.c"
>> [9] cgraph_expand_function(node = 0xff149a48), line 1157 in  
>> "cgraphunit.c"
>> [10] cgraph_expand_all_functions(), line 1220 in "cgraphunit.c"
>> [11] cgraph_optimize(), line 1427 in "cgraphunit.c"
>> [12] m3_parse_file(xx = 0), line 5241 in "parse.c"
>> [13] compile_file(), line 1042 in "toplev.c"
>> [14] do_compile(), line 2247 in "toplev.c"
>> [15] toplev_main(argc = 7U, argv = 0xffbffbdc), line 2279 in  
>> "toplev.c"
>> [16] main(argc = 7, argv = 0xffbffbdc), line 35 in "main.c"
>> (dbx)
>>
>>
>>
>> - Jay
>>
>>
>> ----------------------------------------
>>> From: jay.krell at cornell.edu
>>> To: hosking at cs.purdue.edu; m3devel at elegosoft.com
>>> Date: Sun, 17 May 2009 13:17:42 +0000
>>> Subject: [M3devel] optimizer vs. SOLgnu?
>>>
>>>
>>> Tony can you try building a cross compiler for SOLgnu and see how  
>>> that fairs with -O2 or -O3? I get:
>>>
>>>
>>> new source -> compiling RTCollector.m3
>>> ../src/runtime/common/RTCollector.m3: In function  
>>> 'RTHeapRep__RegisterFinalCleanup':
>>> ../src/runtime/common/RTCollector.m3:2167: internal compiler  
>>> error: in lookup_subvars_for_var, at tr
>>> ee-flow-inline.h:1591
>>>
>>>
>>> also with -O2 (probably had it in -O3 also)
>>> ../src/runtime/common/RTAllocator.m3: In function  
>>> 'RTAllocCnts__BumpSize':
>>> ../src/runtime/common/RTAllocator.m3:361: internal compiler error:  
>>> in lookup_subvars_for_var, at tre
>>> e-flow-inline.h:1591
>>>
>>>
>>> ../src/float/Common/DragonInt.m3: In function  
>>> 'DragonInt__EndSession':
>>> ../src/float/Common/DragonInt.m3:90: internal compiler error: in  
>>> lookup_subvars_for_var, at tree-flo
>>> w-inline.h:1591
>>>
>>> and lots of success on other source.
>>>
>>>
>>> I am seeing success so far on AMD64_LINUX and LINUXLIBC6.
>>>
>>>
>>> - Jay




More information about the M3devel mailing list