Back To Schedule
Thursday, October 29 • 11:00am - 11:45am
Sophisticated Program Analysis on LLVM IR

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Over the years, many LLVM users have needed sophisticated program analysis passes that analyze LLVM IR. Some have wanted alias analysis passes such as Steensgaard and Anderson's while others have wanted a heap abstraction for performing backwards static slicing on values stored in the heap. Still others have asked for a call graph analysis that can resolve the targets of indirect function calls.

 LLVM lacks robust implementations of such analyses. While a few implementations exist, they are maintained by small groups outside of the LLVM source tree and are not of the same quality as the LLVM code. Furthermore, core LLVM optimizations have avoided using sophisticated program analyses, reducing the incentive for creating robust implementations.


The goal of this Birds-of-a-Feather session is to bring together users of sophisticated program analysis and LLVM developers to see what users need and whether there are common interests in creating, maintaining, and using these types of analyses. Tentative questions for discussion include:

o What program analyses do LLVM users and developers need that do no exist today?

o What obstacles are there to creating robust implementations of the analyses users need?

o Are there better methods of getting the information reported by these analyses (e.g., the way Type-Based Alias Analysis side-steps the need for Anderson’s alias analysis)?

o Would such analyses benefit existing LLVM optimizations while maintaining acceptable compile-time performance?


John Criswell

Assistant Professor, University of Rochester

Thursday October 29, 2015 11:00am - 11:45am PDT
Salon V & Salon VI

Attendees (0)