// SPDX-License-Identifier: GPL-3.0-or-later #ifndef RCC_TARGET_RISCV_RISCVPIPELINE_H #define RCC_TARGET_RISCV_RISCVPIPELINE_H #include "rcc/CodeGen/MachinePass.h" #include "rcc/Support/Error.h" #include #include #include #include namespace rcc { class MachineFunction; class TargetDescription; namespace riscv { [[nodiscard]] Expected addCanonicalPipeline(MachinePassManager &Pipeline, const MachineFunction &Function); [[nodiscard]] Expected> createCanonicalPipelinePass(std::string_view Name); [[nodiscard]] Expected> canonicalPipelinePassNames(const MachineFunction &Function); [[nodiscard]] Expected runCanonicalPipeline(MachineFunction &Function, const TargetDescription &Target, MachinePassManagerOptions Options = {}, MachinePassInstrumentation *Instrumentation = nullptr); } // namespace riscv } // namespace rcc #endif // RCC_TARGET_RISCV_RISCVPIPELINE_H