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.