This is the mail archive of the gcc@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]

Re: regression due to r187199 explow.c? in target ia64-hp-hpux11.23.


Hi,

so it looks like there are other ia64 specific calls to plus_constant that need to be adjusted.

Tristan.

On Jun 6, 2012, at 1:29 PM, Mailaripillai, Kannan Jeganathan wrote:

>>>> What is the backtrace ?
>> #0  0x6db96a0:0 in plus_constant (mode=RFmode, x=0x18, c=1)
>> #13 0x6f68260:0 in expand_expr_real_1 (exp=0x651ab420, target=0x0,
> 
> Full backtrace:
> 
> #0  0x6db96a0:0 in plus_constant (mode=RFmode, x=0x18, c=1)
> #1  0xd7503f0:0 in ia64_expand_tls_address (tls_kind=TLS_MODEL_INITIAL_EXEC,
>    op0=0x651ac120, op1=0x651ac0f0, orig_op1=0x651ac0f0, addend=0)
> #2  0xd750dd0:0 in ia64_expand_move (op0=0x651ac120, op1=0x651ac0f0)
> #3  0xd8c6e90:0 in gen_movsi (operand0=0x651ac120, operand1=0x651ac0f0)
> #4  0x6ef9900:0 in emit_move_insn_1 (x=0x651ac120, y=0x651ac0f0)
> #5  0x6efa6f0:0 in emit_move_insn (x=0x651ac120, y=0x651ac0f0)
> #6  0x6dbdd30:0 in copy_to_mode_reg (mode=SImode, x=0x651ac0f0)
> #7  0x8ba3c30:0 in maybe_legitimize_operand (icode=CODE_FOR_addsi3, opno=1,
>    op=0x7fffcf88)
> #8  0x8ba46c0:0 in maybe_legitimize_operands (icode=CODE_FOR_addsi3, opno=0,
>    nops=3, ops=0x7fffcf80)
> #9  0x8ba48c0:0 in maybe_gen_insn (icode=CODE_FOR_addsi3, nops=3,
>    ops=0x7fffcf80)
> #10 0x8b6b620:0 in expand_binop_directly (mode=SImode, binoptab=0x40257fdc,
>    op0=0x651ac0f0, op1=0x653ba4f0, target=0x0, unsignedp=1,
>    methods=OPTAB_LIB_WIDEN, last=0x0)
> #11 0x8b6bcb0:0 in expand_binop (mode=SImode, binoptab=0x40257fdc,
>    op0=0x651ac0f0, op1=0x653ba4f0, target=0x0, unsignedp=1,
>    methods=OPTAB_LIB_WIDEN)
> #12 0x6f4fa30:0 in expand_expr_real_2 (ops=0x7fffdcd4, target=0x0,
>    tmode=SImode, modifier=EXPAND_NORMAL)
> #13 0x6f68260:0 in expand_expr_real_1 (exp=0x651ab420, target=0x0,
>    tmode=SImode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
> #14 0x6f3c830:0 in expand_expr_real (exp=0x651ab420, target=0x0, tmode=SImode,
>    modifier=EXPAND_NORMAL, alt_rtl=0x0)
> #15 0x6e7c5e0:0 in expand_expr (exp=0x651ab420, target=0x0, mode=SImode,
>    modifier=EXPAND_NORMAL)
> #16 0x6f37cc0:0 in expand_expr_addr_expr_1 (exp=0x651a2900, target=0x0,
>    tmode=SImode, modifier=EXPAND_NORMAL, as=0 '\000')
> #17 0x6f3adb0:0 in expand_expr_addr_expr (exp=0x651a8558, target=0x0,
>    tmode=SImode, modifier=EXPAND_NORMAL)
> #18 0x6f67ff0:0 in expand_expr_real_1 (exp=0x651a8558, target=0x0,
>    tmode=SImode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
> #19 0x6f3c830:0 in expand_expr_real (exp=0x651a8558, target=0x0, tmode=SImode,
>    modifier=EXPAND_NORMAL, alt_rtl=0x0)
> #20 0xaa49f90:0 in expand_expr (exp=0x651a8558, target=0x0, mode=SImode,
>    modifier=EXPAND_NORMAL)
> #21 0xaa4ee60:0 in insert_value_copy_on_edge (e=0x655a4e40, dest=8,
>    src=0x651a8558, locus=1363692)
> #22 0xaa53730:0 in eliminate_phi (e=0x655a4e40, g=0x404d6de0)
> #23 0xaa54d70:0 in expand_phi_nodes (sa=0x4012623c)
> #24 0x5f909d0:0 in gimple_expand_cfg ()
> #25 0x8d130d0:0 in execute_one_pass (pass=0x400451b8)
> #26 0x8d137f0:0 in execute_pass_list (pass=0x400451b8)
> #27 0x656d740:0 in expand_function (node=0x65550450)
> #28 0x656eb60:0 in expand_all_functions ()
> #29 0x6571400:0 in compile ()
> #30 0x6571940:0 in finalize_compilation_unit ()
> #31 0x51bc8e0:0 in c_write_global_declarations ()
> #32 0x9c63b30:0 in compile_file ()
> #33 0x9c6b470:0 in do_compile ()
> #34 0x9c6b9c0:0 in toplev_main (argc=49, argv=0x7fffeee8)
> #35 0xf564740:0 in main (argc=49, argv=0x7fffeee8)
> 
> Regards,
> Kannan
> 
> -----Original Message-----
> From: Mailaripillai, Kannan Jeganathan 
> Sent: Wednesday, June 06, 2012 4:42 PM
> To: 'Tristan Gingold'
> Cc: gcc@gcc.gnu.org
> Subject: RE: regression due to r187199 explow.c? in target ia64-hp-hpux11.23.
> 
> 
>> What is the backtrace ?
> 
> #0  0x6db96a0:0 in plus_constant (mode=RFmode, x=0x18, c=1)
> #1  0xd7503f0:0 in ia64_expand_tls_address (tls_kind=TLS_MODEL_INITIAL_EXEC,
>    op0=0x651ac120, op1=0x651ac0f0, orig_op1=0x651ac0f0, addend=0)
> #2  0xd750dd0:0 in ia64_expand_move (op0=0x651ac120, op1=0x651ac0f0)
> #3  0xd8c6e90:0 in gen_movsi (operand0=0x651ac120, operand1=0x651ac0f0)
> #4  0x6ef9900:0 in emit_move_insn_1 (x=0x651ac120, y=0x651ac0f0)
> #5  0x6efa6f0:0 in emit_move_insn (x=0x651ac120, y=0x651ac0f0)
> #6  0x6dbdd30:0 in copy_to_mode_reg (mode=SImode, x=0x651ac0f0)
> #7  0x8ba3c30:0 in maybe_legitimize_operand (icode=CODE_FOR_addsi3, opno=1,
>    op=0x7fffcf88)
> #8  0x8ba46c0:0 in maybe_legitimize_operands (icode=CODE_FOR_addsi3, opno=0,
>    nops=3, ops=0x7fffcf80)
> #9  0x8ba48c0:0 in maybe_gen_insn (icode=CODE_FOR_addsi3, nops=3,
>    ops=0x7fffcf80)
> #10 0x8b6b620:0 in expand_binop_directly (mode=SImode, binoptab=0x40257fdc,
>    op0=0x651ac0f0, op1=0x653ba4f0, target=0x0, unsignedp=1,
>    methods=OPTAB_LIB_WIDEN, last=0x0)
> #11 0x8b6bcb0:0 in expand_binop (mode=SImode, binoptab=0x40257fdc,
>    op0=0x651ac0f0, op1=0x653ba4f0, target=0x0, unsignedp=1,
>    methods=OPTAB_LIB_WIDEN)
> #12 0x6f4fa30:0 in expand_expr_real_2 (ops=0x7fffdcd4, target=0x0,
>    tmode=SImode, modifier=EXPAND_NORMAL)
> #13 0x6f68260:0 in expand_expr_real_1 (exp=0x651ab420, target=0x0,
> 
> I remember seeing a patch related to this. But could not locate it in the mail archive.
> 
> Regards,
> Kannan
> 
> -----Original Message-----
> From: Tristan Gingold [mailto:gingold@adacore.com] 
> Sent: Wednesday, June 06, 2012 4:05 PM
> To: Mailaripillai, Kannan Jeganathan
> Cc: gcc@gcc.gnu.org
> Subject: Re: regression due to r187199 explow.c? in target ia64-hp-hpux11.23.
> 
> 
> On Jun 6, 2012, at 12:27 PM, Mailaripillai, Kannan Jeganathan wrote:
> 
>> Hi Tristan,
>> 
>> After applying the patch (correctly) the build proceeded further. 
>> Now the build hits on another error, while compiling ..../libgomp/parallel.c:
>> 
>> ..../libgomp/parallel.c: In function 'omp_get_ancestor_thread_num':
>> ..../libgomp/parallel.c:166:1: internal compiler error: in plus_constant, at explow.c:88
>> omp_get_ancestor_thread_num (int level)
>> ^
>> 
>> Is there another patch to solve this issue?
>> Basically, my bootstrap build (ia64-hpux-11.23) is failing due to this.
> 
> I haven't tried to build for ia64-hpux, only for ia64-openvms (which doesn't support omp).
> What is the backtrace ?
> 
> Tristan.
> 
>> 
>> Regards,
>> Kannan
>> 
>> -----Original Message-----
>> From: Mailaripillai, Kannan Jeganathan 
>> Sent: Wednesday, June 06, 2012 2:15 PM
>> To: 'Tristan Gingold'
>> Cc: gcc@gcc.gnu.org
>> Subject: RE: regression due to r187199 explow.c? in target ia64-hp-hpux11.23.
>> 
>> Hi Tristan,
>> 
>>> how result can be used uninitialized as it is assigned just before
>> 
>> I am sorry. My mistake. I had replaced expand_expr_addr_expr_1 with 
>> convert_memory_address_addr_space. I overlooked the patch as
>> 
>> -  result = expand_expr_addr_expr_1 (inner, subtarget, tmode, modifier, as);
>> +  result = convert_memory_address_addr_space (tmode, result, as);
>> 
>> Hence replaced expand_expr_addr_expr_1 with convert_memory_address_addr_space.
>> 
>> Regards,
>> Kannan
>> 
>> -----Original Message-----
>> From: Tristan Gingold [mailto:gingold@adacore.com] 
>> Sent: Wednesday, June 06, 2012 1:17 PM
>> To: Mailaripillai, Kannan Jeganathan
>> Cc: gcc@gcc.gnu.org
>> Subject: Re: regression due to r187199 explow.c? in target ia64-hp-hpux11.23.
>> 
>> 
>> On Jun 6, 2012, at 9:10 AM, Mailaripillai, Kannan Jeganathan wrote:
>> 
>>> Hi Tristan,
>>> 
>>>>> http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00970.html
>>>> I have not applied this patch. I will give it a try.
>>> 
>>> This patch is not fixing the issue. 
>>> Moreover, on compiling expr.c I get this warning:
>>> ..../gcc/expr.c: In function 'expand_expr_addr_expr_1':
>>> ..../gcc/expr.c:7603:10: warning: 'result' may be used uninitialized in 
>>> this function.
>> 
>> That's looking weird.  I don't see how result can be used uninitialized as it is assigned just before.
>> 
>> Tristan.
>> 
>>> For the same testcase, now the ICE is happening in different place (while 
>>> compiling the same line of code):
>>> test.c: In function 'main':
>>> test.c:5:7: internal compiler error: Segmentation fault
>>>   boo (&iarr[1]);
>>>     ^
>>> 
>>> ---- Stack trace got through gdb:
>>> 
>>> Program received signal SIGSEGV, Segmentation fault
>>> si_code: 2 - SEGV_ACCERR - Invalid Permissions for object.
>>> 0x6c9dd60:1 in adjust_address_1 (memref=0x6544a140, mode=SImode, offset=-4,
>>>  validate=1, adjust=1)
>>> (gdb) bt
>>> #0  0x6c9dd60:1 in adjust_address_1 (memref=0x6544a140, mode=SImode,
>>>  offset=-4, validate=1, adjust=1)
>>> #1  0x957a110:0 in gen_lowpart_general (mode=SImode, x=0x6544a140)
>>> #2  0x6ee33e0:0 in convert_modes (mode=SImode, oldmode=DImode, x=0x6544a140,
>>>  unsignedp=-1)
>>> #3  0x6dbc600:0 in convert_memory_address_addr_space (to_mode=SImode,
>>>  x=0x6544a140, as=0 '\000')
>>> #4  0x6f39a60:0 in expand_expr_addr_expr_1 (exp=0x6544a140, target=0x0,
>>>  tmode=SImode, modifier=EXPAND_NORMAL, as=0 '\000')
>>> #5  0x6f3ad50:0 in expand_expr_addr_expr (exp=0x65453678, target=0x0,
>>>  tmode=SImode, modifier=EXPAND_NORMAL)
>>> #6  0x6f67f90:0 in expand_expr_real_1 (exp=0x65453678, target=0x0,
>>>  tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
>>> #7  0x6f3c700:0 in expand_expr_real (exp=0x65453678, target=0x0,
>>>  tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
>>> #8  0x5d4dda0:0 in expand_normal (exp=0x65453678)
>>> #9  0x5d8dce0:0 in precompute_register_parameters (num_actuals=1,
>>>  args=0x7fffd8a0, reg_parm_seen=0x7fffdc88)
>>> #10 0x5da2160:0 in expand_call (exp=0x6544a258, target=0x0, ignore=1)
>>> #11 0x6f637c0:0 in expand_expr_real_1 (exp=0x6544a258, target=0x0,
>>>  tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
>>> #12 0x5f6d760:0 in expand_call_stmt (stmt=0x6545c0b0)
>>> #13 0x5f6da90:0 in expand_gimple_stmt_1 (stmt=0x6545c0b0)
>>> 
>>> Testcase, GCC configuration, etc in the original post:
>>> http://gcc.gnu.org/ml/gcc/2012-05/msg00371.html
>>> 
>>> Regards,
>>> Kannan
>>> 
>>> -----Original Message-----
>>> From: Mailaripillai, Kannan Jeganathan 
>>> Sent: Wednesday, May 30, 2012 2:44 PM
>>> To: 'Tristan Gingold'
>>> Cc: gcc@gcc.gnu.org
>>> Subject: RE: regression due to r187199 explow.c? in target ia64-hp-hpux11.23.
>>> 
>>> Thanks Tristan. I have not applied this patch. I will give it a try.
>>> 
>>> Regards,
>>> Kannan
>>> 
>>> -----Original Message-----
>>> From: Tristan Gingold [mailto:gingold@adacore.com] 
>>> Sent: Wednesday, May 30, 2012 1:46 PM
>>> To: Mailaripillai, Kannan Jeganathan
>>> Cc: gcc@gcc.gnu.org
>>> Subject: Re: regression due to r187199 explow.c? in target ia64-hp-hpux11.23.
>>> 
>>> Hi,
>>> 
>>> did you try with this patch:
>>> 
>>> http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00970.html
>>> 
>>> Tristan.
>>> 
>>> On May 29, 2012, at 12:23 PM, Mailaripillai, Kannan Jeganathan wrote:
>>> 
>>>> Hi,
>>>> 
>>>> This modification (assertion) is causing failure in ia64-hp-hpux11.23:
>>>> 
>>>> r187199 | rsandifo | 2012-05-05 10:41:49 -0700 (Sat, 05 May 2012) | 247 lines
>>>> Changed paths:
>>>> M /trunk/gcc/explow.c
>>>> * explow.c (plus_constant, plus_constant_mode): Likewise.  Assert that 
>>>>  the mode is sensible.
>>>> 
>>>> Haven't analyzed the issue. Thought of checking, if it is a known issue.
>>>> 
>>>> Error:
>>>> ------
>>>> test.c: In function 'main':
>>>> test.c:5:7: internal compiler error: in plus_constant, at explow.c:88
>>>> boo (&iarr[1]);
>>>>    ^
>>>> 
>>>> Testcase (test.c):
>>>> ------------------
>>>> int iarr[2];
>>>> extern int boo(int *);
>>>> 
>>>> int main(void) {
>>>> boo (&iarr[1]);
>>>> return 0;
>>>> }
>>>> 
>>>> Compilation command: 
>>>> --------------------
>>>> gcc -c test.c
>>>> ^ This compiler is built out of revision 187199 (trunk). Error attached above.
>>>> 
>>>> Configuration:
>>>> --------------
>>>> COLLECT_GCC=.../build-ia64-hp-hpux11.23-trunk/obj_gcc/gcc/xgcc
>>>> Target: ia64-hp-hpux11.23
>>>> Configured with: ...gcc/src/configure --host=ia64-hp-hpux11.23 
>>>> --build=ia64-hp-hpux11.23 --prefix=.../gcc-ia64-hp-hpux11.23-trunk \
>>>> --with-local-prefix=.../gcc-ia64-hp-hpux11.23-trunk --disable-nls \
>>>> --with-gmp=.../ia64-hp-hpux11.23 --with-mpfr=.../ia64-hp-hpux11.23 \
>>>> --with-mpc=.../ia64-hp-hpux11.23 --with-libelf=.../ia64-hp-hpux11.23 \
>>>> --disable-libmudflap --enable-libunwind-exceptions SED=/usr/bin/sed \
>>>> --enable-languages=c,c++,fortran
>>>> Thread model: posix
>>>> gcc version 4.8.0 20120505 (experimental) (GCC)
>>>> COLLECT_GCC_OPTIONS='-B' '/.../build-ia64-hp-hpux11.23-trunk/obj_gcc/gcc/' '-c' '-v'
>>>> GNU C (GCC) version 4.8.0 20120505 (experimental) (ia64-hp-hpux11.23)
>>>> compiled by GNU C version 4.5.1, GMP version 4.2.4, MPFR version 2.4.1, MPC version 0.8
>>>> GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
>>>> 
>>>> Regards,
>>>> Kannan
>>>> 
>>> 
>> 
> 


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