[LLVMbugs] [Bug 12526] New: Unnecessary register spill (seems easily avoidable)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Apr 11 13:56:32 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=12526

             Bug #: 12526
           Summary: Unnecessary register spill (seems easily avoidable)
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8371
  --> http://llvm.org/bugs/attachment.cgi?id=8371
bitcode

The attached case shows a very easily avoided register spill.  (The source is a
dense matrix multiply routine.) In LBB1_2, %ymm10 is spilled and then reloaded
10 or so instructions later.  Across these instructions, %ymm2-5 (at least) are
all dead, so the spill shouldn't be necessary at all.  (Unless I'm missing
something!)

Though this is just a single spill, it's a pretty simple repro case, with
surprising behavior.  I've seen a number of other cases with quite a bit of
unnecessary spilling with SSE/AVX registers, but the attached is a reasonably
straightforward, so I hope it's useful.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list