[llvm-dev] How to keep parameter's name when create the bc

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 1 09:20:43 PST 2020


Generally you shouldn't rely on the names of LLVM UIR values - they're
only a debugging aid, essentially. But if you really want to force
them to be emitted, I think ( according to
https://reviews.llvm.org/D42887 ) that -fno-discard-value-names would
do it.

The "proper" way to implement this sort of thing is probably to look
at the debug info metadata (
https://llvm.org/docs/SourceLevelDebugging.html ) to try to derive
facts about the correlation between source code and the IR
instructions.

On Tue, Dec 1, 2020 at 12:19 AM 윤재구 via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Hi everyone.
>
> I want to analyze the function parameter's relationship between the real code and IR format on the ll/bc file.
> I checked several cases such as  structed type parameter or return type can be included into the first parameter(sret) or can be flatted into the multiple parameters on the special cases.
>
> To match parameter betwen them, I decided to use the parameter name on the code if possible.
>
> When I created the bc file and disassembled into ll code via llvm-dis, I saw that function parameter names are matched well with the original code normally.
> However, somecases when I was disassembling the bc file already built through clang (it was built by others, but it is impossible to check exactly which options were given), the parameter names are not visible and is simply displayed in the form of an index(#0, #1 ...).
> It seems that this happens when the optimization technique is applied by an option.
> Please let me know if you know which option/feature do this.
>
> I try to find alternative way such as making a custom attribute  to solve this.
> If someone already know the way, please let me know. _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list