[erlang-bugs] hipe compiler exception

Peter Wang <>
Thu Jul 5 07:30:53 CEST 2007


Hi, HiPE at o2 throws an exception on this piece of code.  It works at o1.

    f(A) ->
      case A of
	0 ->
	  B = A div 8,
	  foo
      end.

I'm using R11R5 on Linux/x86-64.


% erlc +native break.erl
<HiPE (v 3.6.3)> EXITED with reason
{{badmatch,[]},
[{hipe_icode_type,call_dst,1},{hipe_icode_type,strength_reduce_div,3},
{hipe_icode_type,handle_call_and_enter,1},
{hipe_icode_type,'-make_transformations/1-lc$^0/1-0-',1},
{hipe_icode_type,transform_bbs,2},
{hipe_icode_type,common_rewrite,4},
{hipe_main,icode_ssa_type_info,3},
{hipe_main,icode_ssa_type,3}]}
@hipe:869

=ERROR REPORT==== 5-Jul-2007::15:27:26 ===
<HiPE (v 3.6.3)> Error: [hipe:868]: ERROR: {{badmatch,[]},
                                            [{hipe_icode_type,call_dst,1},
                                             {hipe_icode_type,
                                              strength_reduce_div,
                                              3},
                                             {hipe_icode_type,
                                              handle_call_and_enter,
                                              1},
                                             {hipe_icode_type,
                                              '-make_transformations/1-lc$^0/1-0-',
                                              1},
                                             {hipe_icode_type,transform_bbs,2},
                                             {hipe_icode_type,
                                              common_rewrite,
                                              4},
                                             {hipe_main,icode_ssa_type_info,3},
                                             {hipe_main,icode_ssa_type,3}]}
./break.erl:none: internal error in native_compile;
crash reason: {{hipe,
                   869,
                   {{badmatch,[]},
                    [{hipe_icode_type,call_dst,1},
                     {hipe_icode_type,strength_reduce_div,3},
                     {hipe_icode_type,handle_call_and_enter,1},
                     {hipe_icode_type,'-make_transformations/1-lc$^0/1-0-',1},
                     {hipe_icode_type,transform_bbs,2},
                     {hipe_icode_type,common_rewrite,4},
                     {hipe_main,icode_ssa_type_info,3},
                     {hipe_main,icode_ssa_type,3}]}},
               [{hipe,finalize_fun_sequential,2},
                {hipe,'-finalize_fun_concurrent/2-fun-3-',3}]}

Thanks.

Peter




More information about the erlang-bugs mailing list