{"push_id":546778233,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"47ab8c106f7a29426473947dbb7c714e8126eec5","before":"4572a0a0a292346dccbf25aeb79668cbdf388d46","commits":[{"sha":"47ab8c106f7a29426473947dbb7c714e8126eec5","author":{"email":"76a8e82c3bdc78a1f9490a34857cdee8b1b06a45@anl.gov","name":"Hal Finkel"},"message":"[RegisterCoalescer] Remove copies to reserved registers\n\nThis allows the RegisterCoalescer to join \"non-flipped\" range pairs with a\nphysical destination register -- which allows the RegisterCoalescer to remove\ncopies like this:\n\n<vreg> = something (maybe a load, for example)\n... (things that don't use PHYSREG)\nPHYSREG = COPY <vreg>\n\n(with all of the restrictions normally applied by the RegisterCoalescer: having\ncompatible register classes, etc. )\n\nPreviously, the RegisterCoalescer handled only the opposite case (copying\n*from* a physical register). I don't handle the problem fully here, but try to\nget the common case where there is only one use of <vreg> (the COPY).\n\nAn upcoming commit to the PowerPC backend will make this pattern much more\ncommon on PPC64/ELF systems.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226071 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm/commits/47ab8c106f7a29426473947dbb7c714e8126eec5"}]}