LLVM: account for register type in funPrologue
We were not properly accounting for the live register type of
global registers in GHC.CmmToLlvm.CodeGen.funPrologue
. This meant that
we could allocated a register at type <4 x i32>
but try to write to it
at type <8 x i16>
, which LLVM doesn't much like.
This patch fixes that by inserting intermediate casts when necessary.
Edited by sheaf