Sep 20 – 24, 2021
US/Pacific timezone

Link-Time Points-To Analysis Implementation in GCC with Souffle

Sep 20, 2021, 7:30 AM
GNU Tools track/Virtual-Room (LPC Virtual)

GNU Tools track/Virtual-Room

LPC Virtual

GNU Tools Track GNU Tools Track


Erick Ochoa (SBA Research) Christoph Müllner (SBA Research) Philipp Tomsich (VRULL)


Points-to analysis is a static code analysis that calculates the pointer-pointee relationship between expressions and static memory locations. The results of the points-to analysis may be used by multiple optimizations and analyses. Of particular interest a precise points-to analysis is necessary to perform data-layout optimizations at the level of alias sets. We use the high level, declarative, logic language Souffle to encode the semantics of a points-to analysis in few lines of code. The Souffle compiler allows us to synthesize a parallel C++ representation of the points-to analysis from the Souffle representation. In this talk we will go over the implementation of an intra-procedural, inclusion-based, field-insensitive, flow-insensitive, context-insensitive, points-to analysis which works with the existing link-time optimization (LTO) framework in GCC. While the current prototype is less precise than the existing points-to analysis our plan is to increase the level of precision of this implementation and use its results to enable future link-time data-layout optimizations.

I agree to abide by the anti-harassment policy I agree

Primary authors

Erick Ochoa (SBA Research) Christoph Müllner (SBA Research) Philipp Tomsich (VRULL)

Presentation materials

There are no materials yet.

Diamond Sponsor

Platinum Sponsor

Gold Sponsors

Silver Sponsors

Speaker Gift Sponsor

T-Shirt Sponsor

Conference Services provided by