summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-04-16 09:03:25 +0000
committerTim Northover <tnorthover@apple.com>2014-04-16 09:03:25 +0000
commitbe50dc8b1fdf8d15f9bc4b96bc7c1184f005c1cf (patch)
treebb31127149e28bee640cd5ffe960dd2f69327114 /lib
parent7474c171e1185812655352e32d2a44339aab0250 (diff)
downloadllvm-be50dc8b1fdf8d15f9bc4b96bc7c1184f005c1cf.tar.gz
llvm-be50dc8b1fdf8d15f9bc4b96bc7c1184f005c1cf.tar.bz2
llvm-be50dc8b1fdf8d15f9bc4b96bc7c1184f005c1cf.tar.xz
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206366 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM64/ARM64CallingConvention.td2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/ARM64/ARM64CallingConvention.td b/lib/Target/ARM64/ARM64CallingConvention.td
index 9ac888ff24..f86c9c714a 100644
--- a/lib/Target/ARM64/ARM64CallingConvention.td
+++ b/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]>>,