[PATCH] D31195: PEI: Skip dead objects when looking at CSRs
    Matt Arsenault via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Mar 21 10:54:53 PDT 2017
    
    
  
arsenm created this revision.
Herald added subscribers: tpr, wdng.
On AMDGPU if an SGPR is spilled to a VGPR, the frame index
is deleted. If there were any CSR SGPRs, this woudl
assert when setting the offset.
https://reviews.llvm.org/D31195
Files:
  lib/CodeGen/PrologEpilogInserter.cpp
Index: lib/CodeGen/PrologEpilogInserter.cpp
===================================================================
--- lib/CodeGen/PrologEpilogInserter.cpp
+++ lib/CodeGen/PrologEpilogInserter.cpp
@@ -764,6 +764,9 @@
   } else if (MaxCSFrameIndex >= MinCSFrameIndex) {
     // Be careful about underflow in comparisons agains MinCSFrameIndex.
     for (unsigned i = MaxCSFrameIndex; i != MinCSFrameIndex - 1; --i) {
+      if (MFI.isDeadObjectIndex(i))
+        continue;
+
       unsigned Align = MFI.getObjectAlignment(i);
       // Adjust to alignment boundary
       Offset = alignTo(Offset, Align, Skew);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31195.92513.patch
Type: text/x-patch
Size: 607 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170321/01987a0e/attachment.bin>
    
    
More information about the llvm-commits
mailing list