[PATCH] D25070: [RegAllocGreedy] Attempt to split unspillable live intervals

Quentin Colombet via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 10 10:31:08 PDT 2016


qcolombet accepted this revision.
qcolombet added a comment.
This revision is now accepted and ready to land.

Hi Dylan,

LGTM.

Few nitpicks inlined, no need for another round of review.

Cheers,
-Quentin



================
Comment at: lib/CodeGen/RegAllocGreedy.cpp:2557
 
+  if (Stage == RS_Split || Stage == RS_Split2) {
+    // Try splitting VirtReg or interferences.
----------------
if (Stage < RS_Spill) should do the trick and is more understandable IMO.


================
Comment at: test/CodeGen/AVR/high-pressure-on-ptrregs.ll:36
+
+; CHECK-LABEL: loop
+define void @loop(%struct.ss* %x, %struct.ss** %y, i16 %z) {
----------------
Also check that the generated code looks reasonable.


================
Comment at: test/CodeGen/AVR/high-pressure-on-ptrregs.ll:50
+for.cond:                                         ; preds = %for.inc, %entry
+  %0 = load i16, i16* %i, align 2
+  %1 = load i16, i16* %z.addr, align 2
----------------
Use `opt -instnamer` to get rid of the [0-9]+ variables.


https://reviews.llvm.org/D25070





More information about the llvm-commits mailing list