On Tue, Mar 29, 2016 at 12:01:20PM -0500, Bill Schmidt wrote: > Again, this is good information to know about. But the "stuff" we were > talking about was the failures on powerpc*, and I took what you said to > mean that nobody was working on those. It sounds like you're saying > that the community has spent time on debug improvements for optimized > code on x86_64/i?86, but only for that target. Is that a fair > statement? If so, it seems unsurprising that you would get more bug
Well, most of the analysis has been done on x86_64/i?86. The bug fixes, DWARF enhancements etc. were then in various areas, if something has been improved through some GIMPLE change, then likely all targets benefited, if it was something at the RTL level (or var-tracking pass itself), then it really depends on the various properties of the machine descriptions, argument passing etc. I'm not saying it is possible to have all the guality tests pass at all optimization levels on all targets, sometimes the value of some variable is really lost through optimizations and can't be reconstructed in any way, sometimes it is too costly to track it, etc. In other cases we have yet to create new DWARF extensions, known stuff is e.g. debugging vectorized loops, what kind of user experience we want for users if single set of instructions handles multiple iterations of the loop? Do we want user to think he is seeing e.g. the first iteration, then the fifth one, then ninth etc., or provide enough info for the debuggers so that the user could find out he is in vectorized loop and explicitly request he is e.g. interested in the 3rd iteration instead of 1st? Then there will be certainly cases where even without adding any extensions one can just add some smarts to var-tracking, or change other GCC internals to handle some stuff better. Jakub