llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.17k stars 12.03k forks source link

[DebugInfo] Add support for fp128, ppc_fp128 and x86_fp80 constant values. #88102

Open CarlosAlbertoEnciso opened 7 months ago

CarlosAlbertoEnciso commented 7 months ago

The existing DIBuilder::createConstantValueExpression API accepts an uint64_t. It creates an expression for a variable that does not have an address, but does have a constant value.

Extend support for fp128, ppc_fp128 and x86_fp80 constants.

llvmbot commented 7 months ago

@llvm/issue-subscribers-debuginfo

Author: Carlos Alberto Enciso (CarlosAlbertoEnciso)

The existing `DIBuilder::createConstantValueExpression` API accepts an `uint64_t`. It creates an expression for a variable that does not have an address, but does have a constant value. Extend support for `fp128`, `ppc_fp128` and `x86_fp80` constants.
dwblaikie commented 7 months ago

Here's at least a simple example of GCC producing a value for an fp128 non-type template parameter: https://godbolt.org/z/MGsGo5bGE