Displaying 7 results from an estimated 7 matches for "dbg_callsiteparam".
2019 Feb 14
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...se some information through the
> optimization pipeline, and in order to salvage some information we
> implemented target specific machine instruction interpreter. For example
> situations like:
>
> %vreg = LEA <smt>
> $rdi = COPY %vreg
> call foo
> DBG_CALLSITE
> *DBG_CALLSITEPARAM $rdi, , %vreg
>
> ==== replace %vreg with $rdi ====
>
> %rdi = LEA <smt>
> $rdi = COPY %rdi
> call foo
> DBG_CALLSITE
> *DBG_CALLSITEPARAM $rdi, , %rdi
>
> ==== delete redudant instruction identities ====
>
>
> %rdi = LEA <smt>
> call foo
&...
2019 Feb 22
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...plemented target specific machine instruction interpreter. For example
>>>>> situations like:
>>>>>
>>>>> %vreg = LEA <smt>
>>>>> $rdi = COPY %vreg
>>>>> call foo
>>>>> DBG_CALLSITE
>>>>> *DBG_CALLSITEPARAM $rdi, , %vreg
>>>>>
>>>>> ==== replace %vreg with $rdi ====
>>>>>
>>>>> %rdi = LEA <smt>
>>>>> $rdi = COPY %rdi
>>>>> call foo
>>>>> DBG_CALLSITE
>>>>> *DBG_CALLSITEPARAM $r...
2019 Feb 14
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...in order to salvage some information we
>>> implemented target specific machine instruction interpreter. For example
>>> situations like:
>>>
>>> %vreg = LEA <smt>
>>> $rdi = COPY %vreg
>>> call foo
>>> DBG_CALLSITE
>>> *DBG_CALLSITEPARAM $rdi, , %vreg
>>>
>>> ==== replace %vreg with $rdi ====
>>>
>>> %rdi = LEA <smt>
>>> $rdi = COPY %rdi
>>> call foo
>>> DBG_CALLSITE
>>> *DBG_CALLSITEPARAM $rdi, , %rdi
>>>
>>> ==== delete redudant ins...
2019 Feb 12
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...RegMap the pass inserting the vreg copy from $rsi here? Does it do something else?
> Recreation of this might be possible when function ‘foo’ is
> in current compilation module, but we are not sure if it is possible for
> external modules calls. In order to follow such cases we need
> DBG_CALLSITEPARAM that can track such situation.
What information exactly would you need about foo's implementation that you cannot get from just knowing the calling convention?
>
> Since after ISEL phase we have explicit pseudo COPY instructions that
> forward argument to another function frame, it...
2019 Feb 07
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...ession())
!101 = !DICallSite(scope: !87, file: !3, parameters: !102, line: 40, calledSubprogram: !13)
!102 = !{!99, !100, !103}
!103 = !DICallSiteParam(argno: 3, expr: !DIExpression(DW_OP_lit5)
For tracking call sites and call site parameters in backend two new pseudo instructions, DBG_CALLSITE and DBG_CALLSITEPARAM, are introduced. See the MIR code bellow:
DBG_CALLSITE 0, %noreg, <!19>; dbg:strncmp.c:40:47
* DBG_CALLSITEPARAM %RDX, <0x727fee0> = !DIExpression(DW_OP_lit5), 5, %noreg ; dbg:strncmp.c:40:47
* DBG_CALLSITEPARAM %RSI, "str2" <0x71a6dd0> = !DIExpress...
2019 Feb 08
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...e(scope: !87, file: !3, parameters: !102, line: 40, calledSubprogram: !13)
> !102 = !{!99, !100, !103}
> !103 = !DICallSiteParam(argno: 3, expr: !DIExpression(DW_OP_lit5)
> For tracking call sites and call site parameters in backend two new pseudo instructions, DBG_CALLSITE and DBG_CALLSITEPARAM, are introduced. See the MIR code bellow:
>
> DBG_CALLSITE 0, %noreg, <!19>; dbg:strncmp.c:40:47
> * DBG_CALLSITEPARAM %RDX, <0x727fee0> = !DIExpression(DW_OP_lit5), 5, %noreg ; dbg:strncmp.c:40:47
> * DBG_CALLSITEPARAM %RSI, "str2&qu...
2019 Feb 08
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...e: 40,
> calledSubprogram: !13)
> > !102 = !{!99, !100, !103}
> > !103 = !DICallSiteParam(argno: 3, expr: !DIExpression(DW_OP_lit5)
> > For tracking call sites and call site parameters in backend two new
> pseudo instructions, DBG_CALLSITE and DBG_CALLSITEPARAM, are introduced.
> See the MIR code bellow:
> >
> > DBG_CALLSITE 0, %noreg, <!19>; dbg:strncmp.c:40:47
> > * DBG_CALLSITEPARAM %RDX, <0x727fee0> =
> !DIExpression(DW_OP_lit5), 5, %noreg ; dbg:strncmp.c:40:47
>...