[ARM-softfp/Linux] Get precise type for pointer-size struct
authorHanjoung Lee <hanjoung.lee@samsung.com>
Wed, 13 Jul 2016 10:39:21 +0000 (19:39 +0900)
committerHanjoung Lee <hanjoung.lee@samsung.com>
Wed, 13 Jul 2016 10:53:45 +0000 (19:53 +0900)
commitba66eeab4b8306ac11feb19d09c19fd2d8e5aa95
tree8b68ed9a06d7e1bb5317e6d84f33f97f43c47b2e
parent361edab2925026970715546bdc7ccca0b6c058cd
[ARM-softfp/Linux] Get precise type for pointer-size struct

Compiler::getPrimitiveTypeForStruct may return TYP_FLOAT but is off on softfp.
So we need to check that in another way rather than `IsHfa()`.
Otherwise struct types with single float32 will make inconsistency in gentree.
Which ends up with assert failure "Bad IL: Illegal assignment of float into integer!".

Check is done in Compiler::getPrimitiveTypeForStruct, by isSingleFloat32Struct.

Fix #6051
src/jit/compiler.cpp
src/jit/compiler.h
src/jit/morph.cpp