[llvm] r227181 - Have the PBQP register allocator use the subtarget on the MachineFunction.

Lang Hames lhames at gmail.com
Mon Feb 2 22:16:56 PST 2015


Thanks for the cleanup Eric!

- Lang.

On Tue, Jan 27, 2015 at 12:27 AM, Eric Christopher <echristo at gmail.com>
wrote:

> Author: echristo
> Date: Tue Jan 27 02:27:06 2015
> New Revision: 227181
>
> URL: http://llvm.org/viewvc/llvm-project?rev=227181&view=rev
> Log:
> Have the PBQP register allocator use the subtarget on the MachineFunction.
> (and remove an extraneous private).
>
> Modified:
>     llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp
>
> Modified: llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp?rev=227181&r1=227180&r2=227181&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp (original)
> +++ llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp Tue Jan 27 02:27:06 2015
> @@ -172,8 +172,6 @@ public:
>  class Interference : public PBQPRAConstraint {
>  private:
>
> -private:
> -
>    typedef const PBQP::RegAlloc::AllowedRegVector* AllowedRegVecPtr;
>    typedef std::pair<AllowedRegVecPtr, AllowedRegVecPtr> IMatrixKey;
>    typedef DenseMap<IMatrixKey, PBQPRAGraph::MatrixPtr> IMatrixCache;
> @@ -308,7 +306,7 @@ private:
>                                PBQPRAGraph::NodeId MId, IMatrixCache &C) {
>
>      const TargetRegisterInfo &TRI =
> -
> *G.getMetadata().MF.getTarget().getSubtargetImpl()->getRegisterInfo();
> +        *G.getMetadata().MF.getSubtarget().getRegisterInfo();
>
>      const auto &NRegs = G.getNodeMetadata(NId).getAllowedRegs();
>      const auto &MRegs = G.getNodeMetadata(MId).getAllowedRegs();
> @@ -342,7 +340,7 @@ public:
>    void apply(PBQPRAGraph &G) override {
>      MachineFunction &MF = G.getMetadata().MF;
>      MachineBlockFrequencyInfo &MBFI = G.getMetadata().MBFI;
> -    CoalescerPair
> CP(*MF.getTarget().getSubtargetImpl()->getRegisterInfo());
> +    CoalescerPair CP(*MF.getSubtarget().getRegisterInfo());
>
>      // Scan the machine function and add a coalescing cost whenever
> CoalescerPair
>      // gives the Ok.
> @@ -494,7 +492,7 @@ void RegAllocPBQP::initializeGraph(PBQPR
>    LiveIntervals &LIS = G.getMetadata().LIS;
>    const MachineRegisterInfo &MRI = G.getMetadata().MF.getRegInfo();
>    const TargetRegisterInfo &TRI =
> -    *G.getMetadata().MF.getTarget().getSubtargetImpl()->getRegisterInfo();
> +      *G.getMetadata().MF.getSubtarget().getRegisterInfo();
>
>    for (auto VReg : VRegsToAlloc) {
>      const TargetRegisterClass *TRC = MRI.getRegClass(VReg);
> @@ -553,8 +551,7 @@ bool RegAllocPBQP::mapPBQPToRegAlloc(con
>                                       Spiller &VRegSpiller) {
>    MachineFunction &MF = G.getMetadata().MF;
>    LiveIntervals &LIS = G.getMetadata().LIS;
> -  const TargetRegisterInfo &TRI =
> -    *MF.getTarget().getSubtargetImpl()->getRegisterInfo();
> +  const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
>    (void)TRI;
>
>    // Set to true if we have any spills
> @@ -670,7 +667,7 @@ bool RegAllocPBQP::runOnMachineFunction(
>    // If there are non-empty intervals allocate them using pbqp.
>    if (!VRegsToAlloc.empty()) {
>
> -    const TargetSubtargetInfo &Subtarget =
> *MF.getTarget().getSubtargetImpl();
> +    const TargetSubtargetInfo &Subtarget = MF.getSubtarget();
>      std::unique_ptr<PBQPRAConstraintList> ConstraintsRoot =
>        llvm::make_unique<PBQPRAConstraintList>();
>      ConstraintsRoot->addConstraint(llvm::make_unique<SpillCosts>());
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150202/fd2e8112/attachment.html>


More information about the llvm-commits mailing list