'AA, ptr_provenance, full restrict' LLVM Dev Round Table Summary

  • Round Table was held on November 9, 2022 at the LLVM Dev Conference in San Jose.
  • 15+ participants of various companies/projects
  • Question about possibility of getting compiler warnings when restrict is used in an invalid way
    => this is not the goal of the full restrict patches. Solving this statically is a hard problem and can only work for simple cases. (gcc is giving some warnings)
    => Something like type sanitizer can be created.
    => Getting warnings from within llvm reported to clang is possible but might need extra infrastructure.
  • Johannes: about ORAQL: program + testcases; optimistically answering alias queries, validated with the testcases;
    Gives an upper bound on what can be achieved if all information is available for resolving alias queries.
    Can show places where optimizations are missing. (aka, sometimes more performance increase would be expected than
    what is observed)
  • Full Restrict Patches
    • Due to various reasons progress in actively reviewing the patches was slow over the past year.
    • Discussion about willingness to have the full restrict changes in the main version. Everyone at the round table agrees we should proceed.
    • Google has done some extensive testing; did not observe any regressions (errors, nor quality)
    • Current state:
    • The full restrict infrastructure is focused on ‘restrict’; In this form or with some small adaptations
      it could be useful to accommodate for the needs of rust, flang, ‘c++ alias_set’ proposal, …
  • Further discussion can be done during the LLVM AA TechCalls or on discourse.
  • There was consensus on more actively working on patches and asking for reviews to get progress.

Jeroen Dobbelaere