diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-12-05 21:25:33 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-12-05 21:25:33 +0000 |
| commit | d1fd383b281ea6c4f645b28178066839eace0b37 (patch) | |
| tree | 871dc91b3e0c3dc22ca650e7f56c1b8c627e795a /llvm/lib/Target/AArch64 | |
| parent | 92f377bd74aa89dadfa51521f5065f9d9b931349 (diff) | |
| download | bcm5719-llvm-d1fd383b281ea6c4f645b28178066839eace0b37.tar.gz bcm5719-llvm-d1fd383b281ea6c4f645b28178066839eace0b37.zip | |
GlobalISel: handle 1-element aggregates during ABI lowering.
llvm-svn: 288706
Diffstat (limited to 'llvm/lib/Target/AArch64')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64CallLowering.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64CallLowering.cpp b/llvm/lib/Target/AArch64/AArch64CallLowering.cpp index 3d929426ce0..d9dd65858e7 100644 --- a/llvm/lib/Target/AArch64/AArch64CallLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64CallLowering.cpp @@ -168,8 +168,10 @@ void AArch64CallLowering::splitToValueTypes(const ArgInfo &OrigArg, ComputeValueVTs(TLI, DL, OrigArg.Ty, SplitVTs, &Offsets, 0); if (SplitVTs.size() == 1) { - // No splitting to do, just forward the input directly. - SplitArgs.push_back(OrigArg); + // No splitting to do, but we want to replace the original type (e.g. [1 x + // double] -> double). + SplitArgs.emplace_back(OrigArg.Reg, SplitVTs[0].getTypeForEVT(Ctx), + OrigArg.Flags); return; } |

