GNU Cauldron 2012, Prague, talk7





Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jul 19, 2012

The Quest for Cheaper Variable Tracking in GCC

Presenter: Alexandre Oliva

GCC's variable tracking pass got visibly more expensive with the introduction of VTA, Variable Tracking at Assignments. The pass scans each basic block for insns relevant for variable location debug information generation, propagates locations and values across basic blocks with global dataflow analysis, and finally generates notes with location or value expressions for variables.

The last part has been recently improved from an algorithm whose worst case was exponential to one that is linear on the variable/value equivalence graph size. The other parts have gained some memory savings by keeping global equivalences in a global data structure rather than in per-block equivalence sets, but there's need and room for performance improvements, particularly in the confluence operation in dataflow analysis.

The goal of this session is to present the current inner workings of the variable tracking pass, including the recent changes and exisiting plans, then opening for discussion, requests and suggestions of further improvements.


When autoplay is enabled, a suggested video will automatically play next.

Up Next

Sign in to add this to Watch Later

Add to