Now register parameters that aren't saved to the stack or CSRs are
considered dead after the first call. Previously the debugger would show
whatever was in the register.
Fixes PR26589
Paths
| Differential D17211
Consider regmasks when computing register-based DBG_VALUE live ranges ClosedPublic Authored by rnk on Feb 12 2016, 12:25 PM.
Details Summary Now register parameters that aren't saved to the stack or CSRs are Fixes PR26589
Diff Detail Event TimelineComment Actions Couple of high-level comments; still need to look at the actual changes.
rnk added inline comments.
aprantl edited edge metadata. Comment ActionsCouple more formatting issues, but otherwise this looks plausible. Thanks!
This revision is now accepted and ready to land.Feb 23 2016, 2:35 PM Closed by commit rL264429: Consider regmasks when computing register-based DBG_VALUE live ranges (authored by rnk). · Explain WhyMar 25 2016, 11:00 AM This revision was automatically updated to reflect the committed changes. rnk marked 2 inline comments as done.
Revision Contents
Diff 47833 lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp
lib/CodeGen/LiveDebugValues.cpp
test/DebugInfo/MIR/X86/live-debug-values.mir
test/DebugInfo/Mips/dsr-fixed-objects.ll
test/DebugInfo/X86/array.ll
test/DebugInfo/X86/bbjoin.ll
test/DebugInfo/X86/dbg-value-regmask-clobber.ll
test/DebugInfo/X86/debug-loc-asan.ll
test/DebugInfo/X86/live-debug-values.ll
test/DebugInfo/X86/pr19307.ll
test/DebugInfo/X86/subregisters.ll
|
Together with the code, could you also inline the relevant bits of the doxygen comment?
Would be nice to have a line describing each case in the if-statement.