diff options
Diffstat (limited to 'backend/include/rcc/CodeGen/MachineCopyPropagation.h')
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineCopyPropagation.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/backend/include/rcc/CodeGen/MachineCopyPropagation.h b/backend/include/rcc/CodeGen/MachineCopyPropagation.h index ab8b23f..59a3a77 100644 --- a/backend/include/rcc/CodeGen/MachineCopyPropagation.h +++ b/backend/include/rcc/CodeGen/MachineCopyPropagation.h @@ -6,26 +6,21 @@ #include "rcc/CodeGen/MachinePassManager.h" #include <cstddef> -#include <cstdint> namespace rcc { class TargetInstrInfo; -enum class MachineCopyPropagationStage : std::uint8_t { - PreRegisterAllocation, - PostRegisterAllocation, -}; - struct MachineCopyPropagationOptions final { std::size_t MaximumPropagatedCopies = 10'000; + bool UseTargetCopyInstructions = false; }; class MachineCopyPropagationPass final : public MachineFunctionPass { public: - MachineCopyPropagationPass(const TargetInstrInfo &Info, MachineCopyPropagationStage Stage, - MachineCopyPropagationOptions Options = {}) noexcept - : Info(&Info), Stage(Stage), Options(Options) {} + explicit MachineCopyPropagationPass(const TargetInstrInfo &Info, + MachineCopyPropagationOptions Options = {}) noexcept + : Info(&Info), Options(Options) {} [[nodiscard]] const MachinePassContract &contract() const noexcept override; [[nodiscard]] Expected<MachinePassResult> run(MachineFunction &Function, @@ -38,7 +33,6 @@ private: MachineActionReplay &Actions) const; const TargetInstrInfo *Info; - MachineCopyPropagationStage Stage; MachineCopyPropagationOptions Options; }; |
