[erlang-bugs] HiPe compiler FP inlining crashing

Kostis Sagonas kostis@REDACTED
Wed Nov 25 22:20:46 CET 2015


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





More information about the erlang-bugs mailing list