[PATCH] D23210: [MachineSinking, RFC] Sink insert_subreg, subreg_to_reg, and reg_sequence instructions

via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 11 09:27:23 PDT 2016


> On Aug 5, 2016, at 9:57 AM, Wei Mi via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> wmi created this revision.
> wmi added reviewers: qcolombet, MatzeB.
> wmi added subscribers: llvm-commits, davidxl.
> wmi set the repository for this revision to rL LLVM.
> 
> In https://llvm.org/bugs/show_bug.cgi?id=28852, we saw a testcase for which machineSinking was blocked by subreg_to_reg so high cost operation cannot be moved to cold place.
> 
> The limitation about "insert_subreg, subreg_to_reg, and reg_sequence" was to make them close to the source and make them easier to coalesce. Will the coalesce indicated here happen at register coalescing or register allocation? Is the limitation still valid considering it was added at 2010 and register coalescing and allocation has gone through a lot of changes?  

To note, I added this target hook specifically because we ran into the same problem — it was blocking sinking of legitimate things on our target. We’re probably the only ones using it, so if there’s no reason to keep it, we can probably just drop the hook entirely.

—escha


More information about the llvm-commits mailing list