SN Systems Tech Blog

Filter:

Error Handling in Libraries: A Case Study

ARTICLE BY: James Henderson
POSTED: Dec 13, 2018
TAGS: DWARF, LLVM, LLVM Developers Meeting, Toolchain

Using work performed on the DWARF debug line parser earlier this year as an example, this talk will show some of the pitfalls and problems a library developer has to be aware of when handling errors in their code, and will present some good rules of thumb that should be followed.

READ THE WHOLE POST 

Understanding the performance of code using LLVM's (llvm-mca)

ARTICLE BY: Andrea DiBiagio
POSTED: Dec 13, 2018
TAGS: Compiler, LLVM, LLVM Developers Meeting, Toolchain

LLVM-mca is a LLVM based tool that uses information available in LLVM’s scheduling models to statically measure the performance of machine code in a specific CPU. The goal of this tool is not just to predict the performance of the code when run on the target, but also to help with diagnosing potential performance issues. In this talk we, will discuss how llvm-mca works and walk the audience through example uses of this tool.

READ THE WHOLE POST 

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