[PATCH] D111105: [clang] Add option to clear AST memory before running LLVM passes

David Blaikie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 6 13:49:06 PDT 2021


dblaikie added a comment.

> This is similar to perf testing which we don't really have in tree tests for. Typically these things are mostly monitored separately (e.g. llvm-compile-time-tracker).

Except in this case it isn't tested at all because it's behind a flag. Unless we're bringing up a buildbot/tracker that tracks this configuration?

> As for making sure that optimizations still happen, -emit-obj requires that. If that isn't happening with -emit-obj then something is very wrong. I'll add a function and make this -O1 though so we test more passes.

I think checking the IR would be worthwhile too, otherwise this is still a "does anything other than crash" test, which I think is a bit too broad of a test.



================
Comment at: clang/include/clang/Driver/Options.td:5300-5302
+def clear_ast_before_backend : Flag<["-"], "clear-ast-before-backend">,
+  HelpText<"Clear the Clang AST before running backend code generation">,
+  MarshallingInfoFlag<CodeGenOpts<"ClearASTBeforeBackend">>;
----------------
dblaikie wrote:
> I think you might have to flag this as a NonDriverOption otherwise it'd be accepted as a driver option, when I guess it's only intended as a CC1 option? (looks like lots of other options have this mistake, unfortrunately - @aaron.ballman )
Except in this case it isn't monitored at all


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111105/new/

https://reviews.llvm.org/D111105



More information about the cfe-commits mailing list