[PATCH] D63325: [Support][Time profiler] Make FE codegen blocks to be inside frontend blocks

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 21 05:47:32 PDT 2019


lebedev.ri resigned from this revision.
lebedev.ri added a comment.

I'm sorry, i should have noticed that earlier,  the handling of `"Frontend"` section
still looks way too intrusive to me, it breaks abstractions.

The only simple solution i see is to

1. Insert a timer for `PrettyStackTraceString CrashInfo("Per-file LLVM IR generation");` section
2. Don't stop `"Frontend"` timer within `HandleTranslationUnit` function
3. Naturally, change `"Frontend"` timer name to something else (`"Clang invocation"`?)

This is the trivial solution that wouldn't be intrusive, but would not get you the `"frontend timer"`
in the sense that it doesn't include the middle-end pipe, backend stuff, etc, only the

The alternative raises from the question - why does `CodeGen/CodeGenAction.cpp` do all that stuff?
I.e. maybe somehow chop that class into 2 or 3 smaller classes - actual ir codegen,
middle-end optimization pipeline + opt-remarks handling, etc.
I don't know if that is possible, or viable.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63325





More information about the llvm-commits mailing list