<div dir="auto">Hi,<div dir="auto"><br></div><div dir="auto">Did you test the latest version? Those errors were all fixed just before I sent the last email (unless I somehow managed to upload the wrong version...)</div><div dir="auto"><br></div><div dir="auto">(The compiler options I use are slightly more permissive which is why these errors didn't show during development)</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">James</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 1 Aug 2019, 15:47 Jinsong Ji via Phabricator, <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">jsji added a comment.<br>
<br>
How do you build and test? I can't config & build it with clang.<br>
<br>
<br>
<br>
================<br>
Comment at: lib/CodeGen/MachineLoopUtils.cpp:1<br>
+//=- MachineLoopUtils.cpp - Functions for manipulating loops ----------------=//<br>
+//<br>
----------------<br>
New file, you need to update `llvm/lib/CodeGen/CMakeLists.txt` as well.<br>
<br>
<br>
================<br>
Comment at: lib/CodeGen/MachinePipeliner.cpp:4287<br>
+  SmallVector<int, 4> LiveStages;<br>
+  for (int I = 0; I < NumPrologs; ++I) {<br>
+    LiveStages.push_back(I);<br>
----------------<br>
`comparison of integers of different signs: 'int' and 'unsigned int'`<br>
<br>
<br>
================<br>
Comment at: lib/CodeGen/MachinePipeliner.cpp:4296<br>
+  // stage NumStages-1, Epilog 1 performs stage NumStages-2 THEN NumStages-1.<br>
+  for (int I = 0; I < NumPrologs; ++I) {<br>
+    int StartStage = NumStages - 1 - I;<br>
----------------<br>
`comparison of integers of different signs: 'int' and 'unsigned int'`<br>
<br>
<br>
================<br>
Comment at: lib/CodeGen/MachinePipeliner.cpp:4299<br>
+    CGBlocks.insert(std::next(Kernel), Kernel->peel(LPD_Back));<br>
+    for (int Stage = StartStage + 1; Stage < NumStages; ++Stage) {<br>
+      CGBlocks.insert(std::next(Kernel), Kernel->peel(LPD_Back));<br>
----------------<br>
`comparison of integers of different signs: 'int' and 'unsigned int'`<br>
<br>
<br>
================<br>
Comment at: lib/CodeGen/MachinePipeliner.cpp:4304<br>
+  auto EBI = std::next(Kernel);<br>
+  for (int I = 0; I < NumPrologs; ++I) {<br>
+    int StartStage = NumStages - 1 - I;<br>
----------------<br>
`comparison of integers of different signs: 'int' and 'unsigned int'`<br>
<br>
<br>
================<br>
Comment at: lib/CodeGen/MachinePipeliner.cpp:4308<br>
+    EBI++->setLiveStages({StartStage});<br>
+    for (int Stage = StartStage + 1; Stage < NumStages; ++Stage) {<br>
+      EBI++->setLiveStages({Stage});<br>
----------------<br>
`comparison of integers of different signs: 'int' and 'unsigned int'`<br>
<br>
<br>
================<br>
Comment at: lib/CodeGen/MachinePipeliner.cpp:4417<br>
+      auto *MI = SU->getInstr();<br>
+      InstrInfos[MI] = {Schedule.stageScheduled(SU), Cycle, Index++};<br>
+      if (MI->isPHI())<br>
----------------<br>
`.../llvm-git/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:4417:22: error: no viable overloaded '='<br>
      InstrInfos[MI] = {Schedule.stageScheduled(SU), Cycle, Index++};<br>
      ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
.../llvm-git/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:4190:10: note: candidate function (the implicit copy assignment operator) not viable: cannot convert initializer list argument to 'const (anonymous namespace)::CGBlock::InstrInfo'<br>
  struct InstrInfo {<br>
         ^<br>
.../llvm-git/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:4190:10: note: candidate function (the implicit move assignment operator) not viable: cannot convert initializer list argument to '(anonymous namespace)::CGBlock::InstrInfo'<br>
  struct InstrInfo {<br>
`<br>
<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://reviews.llvm.org/D64665/new/" rel="noreferrer noreferrer" target="_blank">https://reviews.llvm.org/D64665/new/</a><br>
<br>
<a href="https://reviews.llvm.org/D64665" rel="noreferrer noreferrer" target="_blank">https://reviews.llvm.org/D64665</a><br>
<br>
<br>
<br>
</blockquote></div>