SN Systems Tech Blog


Debugging of optimized code: Extending the lifetime of local variables

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

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  

Delivering Sample-based PGO for PlayStation(R)4

Users of the PlayStation(R)4 toolchain have a number of expectations from their development tools: good runtime performance is vitally important, as is the ability to debug fully optimized code. The team at Sony Interactive Entertainment have been working on delivering a Profile Guided Optimization solution to our users to allow them to maximize their runtime performance.

Read the whole post  

Demo of a repository for statically compiled programs

ARTICLE BY: Paul Bowen-Huggett
POSTED: Nov 17, 2016

Paul presents a proof of concept of an approach which improves compile and link times by replacing the conventional use of object files with an incrementally updated repository without requiring change to existing build infrastructure. It aims to present the idea at a high-level using a live demo of some trivial tools and initiate discussion of a real implementation within the LLVM framework.

Read the whole post