[erlang-bugs] HiPe compiler FP inlining crashing
Björn-Egil Dahlberg
wallentin.dahlberg@REDACTED
Wed Nov 25 23:08:16 CET 2015
snarky ..
Before anyone goes on a wild-goose chase, there exists another sample code,
without maps, that also crashes the HiPE compiler on,
- 18.1
- 17.5.6
- OTP_R16B03-1
- OTP_R15B03-1
- stopped testing here .. perhaps the bug is in the original implementation
..
f(A, C, D, E, L) ->
lists:foldl(fun (X, P) ->
AVar = case A of
0 -> 1 / D;
N -> N / C
end,
BVar = case E of
atom1 -> 1.0;
atom2 -> 0.8;
_ -> E
end,
CVar = case X of
atom1 -> 0.1 * AVar;
_ -> 1.0
end,
P * BVar * CVar
end, 1, L).
Not necessarily the same bug as above but it has the same symptoms, i.e.
function clause on hipe_icode_fp assert_assigned and no_inline_fp compiles
fine.
2015-11-25 22:20 GMT+01:00 Kostis Sagonas <kostis@REDACTED>:
> On 11/25/2015 08:46 PM, Mikael Pettersson wrote:
>
>> > The code compiles without problem if running the compiler without the
>> +native flag. With the flag, the compiler will crash.
>> > If compiling with the no_inline_fp flag enabled, the compiler does
>> not crash.
>>
>> I can reproduce the compiler crash with OTP 18.1 on Linux/x86_64, but not
>> with OTP 17.5.
>> The crash is in a sanity check (hipe_icode_fp:assert_assigned/1) at the
>> ICode level, well
>> before any target-dependent code is generated.
>>
>> This could be caused by changes in the BEAM compiler's output, or by some
>> change in HiPE.
>> Presumably a git bisect ought to identify it; care to try that?
>>
>
> I've also looked at this one this afternoon. I am willing to bet this is
> related to the presence of maps in the code -- most likely due to their
> "better" compilation by BEAM in 18.x.
>
> Given that the code that propagates floating point values in ICode was
> written back in 2003 or so and practically not much changed since then,
> it's not surprising that this code breaks as new types and instructions are
> introduced to the BEAM compiler.
>
> I'll try to find some time to look into this, but would not mind if
> somebody else beats me to it.
>
> Kostis
>
>
>
> _______________________________________________
> erlang-bugs mailing list
> erlang-bugs@REDACTED
> http://erlang.org/mailman/listinfo/erlang-bugs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20151125/a900f5d8/attachment.htm>
More information about the erlang-bugs
mailing list