diff options
| author | Tim Northover <tnorthover@apple.com> | 2014-04-16 09:03:25 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2014-04-16 09:03:25 +0000 |
| commit | 97c5b6fe4fed17315ba135b2e34d7fe6c0e0366f (patch) | |
| tree | 0d9aa6787ad15d95034d5b1bd29940784e5f052d /llvm/lib | |
| parent | 863a789a990a26df68f6412ad0959d08b9f2dd5b (diff) | |
| download | bcm5719-llvm-97c5b6fe4fed17315ba135b2e34d7fe6c0e0366f.tar.gz bcm5719-llvm-97c5b6fe4fed17315ba135b2e34d7fe6c0e0366f.zip | |
ARM64: mark x7 as used when an i128 gets shunted onto the stack.
The second half of a split i128 was ending up in x7, which is not a good thing.
This is another part of PR19432.
llvm-svn: 206366
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM64/ARM64CallingConvention.td | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM64/ARM64CallingConvention.td b/llvm/lib/Target/ARM64/ARM64CallingConvention.td index 9ac888ff242..f86c9c714ac 100644 --- a/llvm/lib/Target/ARM64/ARM64CallingConvention.td +++ b/llvm/lib/Target/ARM64/ARM64CallingConvention.td @@ -36,7 +36,7 @@ def CC_ARM64_AAPCS : CallingConv<[ [X0, X1, X3, X5]>>>, // i128 is split to two i64s, and its stack alignment is 16 bytes. - CCIfType<[i64], CCIfSplit<CCAssignToStack<8, 16>>>, + CCIfType<[i64], CCIfSplit<CCAssignToStackWithShadow<8, 16, [X7]>>>, CCIfType<[i64], CCAssignToRegWithShadow<[X0, X1, X2, X3, X4, X5, X6, X7], [W0, W1, W2, W3, W4, W5, W6, W7]>>, |

