[all-commits] [llvm/llvm-project] 19b07e: Reland [clang] Pass -clear-ast-before-backend in C...
aeubanks via All-commits
all-commits at lists.llvm.org
Thu Oct 21 09:26:22 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 19b07ec00062daffcb2fb132f4ac0f2484ff44fa
https://github.com/llvm/llvm-project/commit/19b07ec00062daffcb2fb132f4ac0f2484ff44fa
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2021-10-21 (Thu, 21 Oct 2021)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Interpreter/Interpreter.cpp
Log Message:
-----------
Reland [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.
Relanding with fix for -print-stats: D111973
Relanding with fix for plugins: D112190
If you'd like to use this even with plugins, consider using the features
introduced in D112096.
This can be turned off with -Xclang -no-clear-ast-before-backend.
Differential Revision: https://reviews.llvm.org/D111270
More information about the All-commits
mailing list