Re-apply "[DebugInfo] Emit DW_OP_implicit_value for Floating point constants"
authorSourabh Singh Tomar <SourabhSingh.Tomar@amd.com>
Wed, 19 Aug 2020 20:00:31 +0000 (01:30 +0530)
committerSourabh Singh Tomar <SourabhSingh.Tomar@amd.com>
Wed, 19 Aug 2020 20:09:42 +0000 (01:39 +0530)
commitef8992b9f0189005e0d9e09bd0967301bd7a7cc6
tree04b5143fed48029d547fdb60f76991d6dfd4cd37
parent83c3d07994c4cd24b9548362d03290af2a9483b0
Re-apply "[DebugInfo] Emit DW_OP_implicit_value for Floating point constants"

This patch was reverted in 7c182663a857fc87 due to some failures
observed on PCC based machines. Failures were due to Endianness issue and
long double representation issues.

Patch is revised to address Endianness issue. Furthermore, support
for emission of `DW_OP_implicit_value` for `long double` has been removed
(since it was unclean at the moment). Planning to handle this in
a clean way soon!

For more context, please refer to following review link.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D83560
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
llvm/test/DebugInfo/X86/float_const_loclist.ll
llvm/test/DebugInfo/X86/implicit_value-double.ll [new file with mode: 0644]
llvm/test/DebugInfo/X86/implicit_value-float.ll [new file with mode: 0644]