[PATCH] D64665: [MachinePipeliner] Refactor schedule emission logic
James Molloy via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 1 08:44:11 PDT 2019
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/15777349/attachment.html>
More information about the llvm-commits
mailing list