SN Systems Tech Blog

Debugging of optimized code: Extending the lifetime of local variables

ARTICLE BY: Wolfgang Pieb
POSTED: Nov 30, 2017
TAGS: Compiler, Debugger, LLVM, LLVM Developers Meeting, Toolchain

When developing programs, local variables and function parameters are often optimized away by the backend of the compiler to gain the best runtime performance. As a result, these variables and parameters may not be visible when a developer is attempting to debug their optimized programs. For the PS4, game developers commonly write their code with optimizations enabled so they can maintain graphical frame rates (30-60 fps). As such, they regularly encounter loss of debug information, which impacts their productivity. We have introduced an option that forces the various optimization passes to keep local variables and parameters around. This LLVM talk addresses the implementation, effectiveness and performance impact of this feature in front of the LLVM compiler community.

READ THE WHOLE POST 

Generalized API checkers for the Clang Static Analyzer

Sean presents three modified API checkers, that use external metadata, to warn on improper function calls.

READ THE WHOLE POST 

DIVA: Debug Information Visual Analyzer

ARTICLE BY: Phillip Power
POSTED: Jun 15, 2017
TAGS: DWARF, LLVM Developers Meeting, Toolchain

DIVA is a new command line tool that processes DWARF debug information contained within ELF files and prints the semantics of that debug information. The DIVA output is designed with an aim to be understandable by software programmers without any low-level compiler or DWARF knowledge

READ THE WHOLE POST