[Flang] Add support to use LTO specific pipelines
Thin and full LTO modes use different pre-link pipelines compared to regular compilation. This patch adds support for calling those pipelines. This patch closely mimics Clang's implementation with the exception that I changed the codegen option name from `PrepareForLTO` to `PrepareForFullLTO` to be more precise. With this patch: - Compilation for full LTO should be as we expect (except possibly missing optimizations enabled by module summaries which we do not produce yet). - thinLTO uses the correct prelink pipeline but will use the postlink backend for fullLTO due to missing metadata and summary in the llvm module. I have added a warning regarding this: `flang-new: warning: the option '-flto=thin' is a work in progress`. Differential Revision: https://reviews.llvm.org/D142420 Change-Id: I6b94b775b5b8e93340e520c5cd4bf60834b2e209
Loading
Please sign in to comment