[all-commits] [llvm/llvm-project] 47eb99: [clang] Pass -clear-ast-before-backend in Clang::C...

aeubanks via All-commits all-commits at lists.llvm.org
Fri Oct 15 10:19:10 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 47eb99aa44ab1d20327d67a49d6c47163de76387
      https://github.com/llvm/llvm-project/commit/47eb99aa44ab1d20327d67a49d6c47163de76387
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-10-15 (Fri, 15 Oct 2021)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Interpreter/Interpreter.cpp

  Log Message:
  -----------
  [clang] Pass -clear-ast-before-backend in Clang::ConstructJob()

This clears the memory used for the Clang AST before we run LLVM passes.

https://llvm-compile-time-tracker.com/compare.php?from=d0a5f61c4f6fccec87fd5207e3fcd9502dd59854&to=b7437fee79e04464dd968e1a29185495f3590481&stat=max-rss
shows significant memory savings with no slowdown (in fact -O0 slightly speeds up).

For more background, see
https://lists.llvm.org/pipermail/cfe-dev/2021-September/068930.html.

Turn this off for the interpreter since it does codegen multiple times.

Differential Revision: https://reviews.llvm.org/D111270




More information about the All-commits mailing list