[PATCH] D86511: [GlobalISel] Fix incorrect setting of ValNo when splitting
Gabriel Hjort Ã…kerlund via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 25 00:59:59 PDT 2020
ehjogab created this revision.
ehjogab added reviewers: dsanders, arsenm, qcolombet, ab, bjope.
Herald added subscribers: hiraditya, rovka.
Herald added a project: LLVM.
ehjogab requested review of this revision.
Herald added a subscriber: wdng.
Before, for each original argument i, ValNo was set to i + PartIdx, but
ValNo is intended to reflect the index of the value before splitting.
Hence, ValNo should always be set to i and not consider the PartIdx.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D86511
Files:
llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
Index: llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
===================================================================
--- llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
+++ llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
@@ -255,7 +255,7 @@
}
Args[i].Regs.push_back(Reg);
Args[i].Flags.push_back(Flags);
- if (Handler.assignArg(i + Part, NewVT, NewVT, CCValAssign::Full,
+ if (Handler.assignArg(i, NewVT, NewVT, CCValAssign::Full,
Args[i], Args[i].Flags[Part], CCInfo)) {
// Still couldn't assign this smaller part type for some reason.
return false;
@@ -288,7 +288,7 @@
}
Args[i].Regs.push_back(Unmerge.getReg(PartIdx));
Args[i].Flags.push_back(Flags);
- if (Handler.assignArg(i + PartIdx, NewVT, NewVT, CCValAssign::Full,
+ if (Handler.assignArg(i, NewVT, NewVT, CCValAssign::Full,
Args[i], Args[i].Flags[PartIdx], CCInfo))
return false;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86511.287587.patch
Type: text/x-patch
Size: 1071 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200825/b4d4963b/attachment.bin>
More information about the llvm-commits
mailing list