From: Matt Arsenault Date: Tue, 9 Jun 2020 20:47:37 +0000 (-0400) Subject: GlobalISel: Move LegalizerHelper members around X-Git-Tag: llvmorg-12-init~3465 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=601b8a0dc9cd43a0a4c8efb90ec8dc5f62b4a882;p=platform%2Fupstream%2Fllvm.git GlobalISel: Move LegalizerHelper members around MIRBuilder was in the middle of of a bunch of methods and not group with the other member variables, which made it harder to see what state this carries around. Move these to the top as is the usual convention. --- diff --git a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h index d3f2eda..c6b3a7a 100644 --- a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h +++ b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h @@ -35,6 +35,17 @@ class GISelChangeObserver; class LegalizerHelper { public: + /// Expose MIRBuilder so clients can set their own RecordInsertInstruction + /// functions + MachineIRBuilder &MIRBuilder; + +private: + MachineRegisterInfo &MRI; + const LegalizerInfo &LI; + /// To keep track of changes made by the LegalizerHelper. + GISelChangeObserver &Observer; + +public: enum LegalizeResult { /// Instruction was already legal and no change was made to the /// MachineFunction. @@ -48,6 +59,9 @@ public: UnableToLegalize, }; + /// Expose LegalizerInfo so the clients can re-use. + const LegalizerInfo &getLegalizerInfo() const { return LI; } + LegalizerHelper(MachineFunction &MF, GISelChangeObserver &Observer, MachineIRBuilder &B); LegalizerHelper(MachineFunction &MF, const LegalizerInfo &LI, @@ -91,13 +105,6 @@ public: LegalizeResult moreElementsVector(MachineInstr &MI, unsigned TypeIdx, LLT MoreTy); - /// Expose MIRBuilder so clients can set their own RecordInsertInstruction - /// functions - MachineIRBuilder &MIRBuilder; - - /// Expose LegalizerInfo so the clients can re-use. - const LegalizerInfo &getLegalizerInfo() const { return LI; } - /// Cast the given value to an LLT::scalar with an equivalent size. Returns /// the register to use if an instruction was inserted. Returns the original /// register if no coercion was necessary. @@ -309,12 +316,6 @@ public: LegalizeResult lowerBswap(MachineInstr &MI); LegalizeResult lowerBitreverse(MachineInstr &MI); LegalizeResult lowerReadWriteRegister(MachineInstr &MI); - -private: - MachineRegisterInfo &MRI; - const LegalizerInfo &LI; - /// To keep track of changes made by the LegalizerHelper. - GISelChangeObserver &Observer; }; /// Helper function that creates a libcall to the given \p Name using the given