<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Nov 13, 2011, at 1:32 PM, Nick Lewycky wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>I see you followed this change up with a number of deletes. Congrats on replacing the simple spiller and VirtRegRewriter too!!<br></div></blockquote><div><br></div><div>Thanks!</div><div><br></div><div>This was my favorite:</div><div><br></div><div><span class="Apple-style-span" style="font-family: monospace; ">-    bool rewriteInstructionForSpills(const LiveInterval &li, const VNInfo *VNI,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        bool TrySplit, SlotIndex index, SlotIndex end,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        MachineInstr *MI, MachineInstr *OrigDefMI, MachineInstr *DefMI,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        unsigned Slot, int LdSlot,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        bool isLoad, bool isLoadSS, bool DefIsReMat, bool CanDelete,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        VirtRegMap &vrm, const TargetRegisterClass* rc,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        SmallVector<int, 4> &ReMatIds, const MachineLoopInfo *loopInfo,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        unsigned &NewVReg, unsigned ImpUse, bool &HasDef, bool &HasUse,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        DenseMap<unsigned,unsigned> &MBBVRegsMap,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        std::vector<LiveInterval*> &NewLIs);</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-    void rewriteInstructionsForSpills(const LiveInterval &li, bool TrySplit,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        LiveInterval::Ranges::const_iterator &I,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        MachineInstr *OrigDefMI, MachineInstr *DefMI, unsigned Slot, int LdSlot,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        bool isLoad, bool isLoadSS, bool DefIsReMat, bool CanDelete,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        VirtRegMap &vrm, const TargetRegisterClass* rc,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        SmallVector<int, 4> &ReMatIds, const MachineLoopInfo *loopInfo,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        BitVector &SpillMBBs,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        DenseMap<unsigned,std::vector<SRInfo> > &SpillIdxes,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        BitVector &RestoreMBBs,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        DenseMap<unsigned,std::vector<SRInfo> > &RestoreIdxes,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        DenseMap<unsigned,unsigned> &MBBVRegsMap,</span><span class="Apple-style-span" style="font-family: monospace; "><br></span><span class="Apple-style-span" style="font-family: monospace; ">-        std::vector<LiveInterval*> &NewLIs);</span><span class="Apple-style-span" style="font-family: monospace; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; ">/jakob</span></div><div><span class="Apple-style-span" style="font-family: monospace; "><br></span></div></div></body></html>