[PATCH] D64665: [MachinePipeliner] Refactor schedule emission logic

Jinsong Ji via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 1 10:24:22 PDT 2019


Looks like you did upload the wrong version.

https://reviews.llvm.org/D64665?vs=212147&id=212800&whitespace=ignore-most#toc
 shows nothing new comparing to 212147 (July 29).



Best,

Jinsong Ji (纪金松), PhD.

XL/LLVM on Power Compiler Development
E-mail: jji at us.ibm.com



From:	James Molloy <jmolloy at google.com>
To:	reviews+D64665+public+6971cdf24f5c9ab4 at reviews.llvm.org
Cc:	bcahoon at quicinc.com, jji at us.ibm.com, Matthew.Arsenault at amd.com,
            hfinkel at anl.gov, llvm-commits at lists.llvm.org,
            jun.l at samsung.com, florian_hahn at apple.com
Date:	08/01/2019 11:53 AM
Subject:	[EXTERNAL] Re: [PATCH] D64665: [MachinePipeliner] Refactor
            schedule emission logic



Hi,

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...)

(The compiler options I use are slightly more permissive which is why these
errors didn't show during development)


James

On Thu, 1 Aug 2019, 15:47 Jinsong Ji via Phabricator, <
reviews at reviews.llvm.org> wrote:
  jsji added a comment.

  How do you build and test? I can't config & build it with clang.



  ================
  Comment at: lib/CodeGen/MachineLoopUtils.cpp:1
  +//=- MachineLoopUtils.cpp - Functions for manipulating loops
  ----------------=//
  +//
  ----------------
  New file, you need to update `llvm/lib/CodeGen/CMakeLists.txt` as well.


  ================
  Comment at: lib/CodeGen/MachinePipeliner.cpp:4287
  +  SmallVector<int, 4> LiveStages;
  +  for (int I = 0; I < NumPrologs; ++I) {
  +    LiveStages.push_back(I);
  ----------------
  `comparison of integers of different signs: 'int' and 'unsigned int'`


  ================
  Comment at: lib/CodeGen/MachinePipeliner.cpp:4296
  +  // stage NumStages-1, Epilog 1 performs stage NumStages-2 THEN
  NumStages-1.
  +  for (int I = 0; I < NumPrologs; ++I) {
  +    int StartStage = NumStages - 1 - I;
  ----------------
  `comparison of integers of different signs: 'int' and 'unsigned int'`


  ================
  Comment at: lib/CodeGen/MachinePipeliner.cpp:4299
  +    CGBlocks.insert(std::next(Kernel), Kernel->peel(LPD_Back));
  +    for (int Stage = StartStage + 1; Stage < NumStages; ++Stage) {
  +      CGBlocks.insert(std::next(Kernel), Kernel->peel(LPD_Back));
  ----------------
  `comparison of integers of different signs: 'int' and 'unsigned int'`


  ================
  Comment at: lib/CodeGen/MachinePipeliner.cpp:4304
  +  auto EBI = std::next(Kernel);
  +  for (int I = 0; I < NumPrologs; ++I) {
  +    int StartStage = NumStages - 1 - I;
  ----------------
  `comparison of integers of different signs: 'int' and 'unsigned int'`


  ================
  Comment at: lib/CodeGen/MachinePipeliner.cpp:4308
  +    EBI++->setLiveStages({StartStage});
  +    for (int Stage = StartStage + 1; Stage < NumStages; ++Stage) {
  +      EBI++->setLiveStages({Stage});
  ----------------
  `comparison of integers of different signs: 'int' and 'unsigned int'`


  ================
  Comment at: lib/CodeGen/MachinePipeliner.cpp:4417
  +      auto *MI = SU->getInstr();
  +      InstrInfos[MI] = {Schedule.stageScheduled(SU), Cycle, Index++};
  +      if (MI->isPHI())
  ----------------
  `.../llvm-git/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:4417:22:
  error: no viable overloaded '='
        InstrInfos[MI] = {Schedule.stageScheduled(SU), Cycle, Index++};
        ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  .../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'
    struct InstrInfo {
           ^
  .../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'
    struct InstrInfo {
  `


  Repository:
    rL LLVM

  CHANGES SINCE LAST ACTION
    https://reviews.llvm.org/D64665/new/

  https://reviews.llvm.org/D64665




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190801/4c9074c2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190801/4c9074c2/attachment.gif>


More information about the llvm-commits mailing list