Files
swift-mirror/include/swift/SILOptimizer/PassManager/PassPipeline.def
Erik Eckstein 53f6fdadc6 SILOptimizer: reorganize the optimization-prepare passpipeline
Don't create a separate pass manager for those passes, just let them run at the beginning of the performance pipeline.
Regarding generated code this is a NFC.

This change fixes a problem with pass-bisecting (for debugging). Having two instances of the pass manager can cause troubles with bisecting, because -sil-opt-pass-count affects both pass managers at the same time.
2020-04-24 15:48:48 +02:00

36 lines
1.4 KiB
Modula-2

//===--- PassPipeline.def -------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
///
/// Metaprogramming for Pass Pipelines
///
//===----------------------------------------------------------------------===//
/// PASSPIPELINE(NAME, DESCRIPTION)
///
/// A pipeline with Name NAME and description DESCRIPTION. PassPipelinePlan
/// constructor is assumed to take a SILOptions value.
#ifndef PASSPIPELINE
#define PASSPIPELINE(NAME, DESCRIPTION)
#endif
PASSPIPELINE(Diagnostic, "Guaranteed Passes")
PASSPIPELINE(OwnershipEliminator, "Utility pass to just run the ownership eliminator pass")
PASSPIPELINE(Performance, "Passes run at -O")
PASSPIPELINE(Onone, "Passes run at -Onone")
PASSPIPELINE(InstCount, "Utility pipeline to just run the inst count pass")
PASSPIPELINE(Lowering, "SIL Address Lowering")
PASSPIPELINE(IRGenPrepare, "Pipeline to run during IRGen")
PASSPIPELINE(SerializeSIL, "Utility pipeline that just runs SerializeSILPass ")
#undef PASSPIPELINE_WITH_OPTIONS
#undef PASSPIPELINE