When zext is EvaluatedInDifferentType, InstCombine
drops the dbg.value intrinsic. This patch tries to
preserve said DI, by inserting the zext's old DI in the
resulting instruction.
The current implementation works only for integer
non-vector variables, but this should get extendet to work for
every case.
This patch is a work in progress to try and incorporate dwarf fragments to preserve
DI intrinsics when EvaluateInDifferentType in zext instructions.
Atm the focus is on the scalar case with integer type but it should be generalized.