search for: dbg_callsite

Displaying 7 results from an estimated 7 matches for "dbg_callsite".

2019 Feb 07
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...95, expr: !DIExpression()) !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" <0x71...
2019 Feb 14
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
..., in the end, we lose 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 &lt...
2019 Feb 08
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...!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_CALLSITEPAR...
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...
2019 Feb 14
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...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 >>> >&...
2019 Feb 08
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...meters: !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...
2019 Feb 22
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...ormation 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 &g...