summaryrefslogtreecommitdiff
path: root/lib/Target
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2013-02-26 01:05:31 +0000
committerChad Rosier <mcrosier@apple.com>2013-02-26 01:05:31 +0000
commitfe88aa0d148510e41bc3080dea4febcb1445855c (patch)
tree6f6bda222864ae66e1faf964638d719b1ca3d611 /lib/Target
parentd09318f9013aad79d7872de2ba490734b597f4d4 (diff)
[fast-isel] Make sure the FastLowerArguments function checks to make sure the
arguments type is a simple type. rdar://13290455 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176066 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/ARM/ARMFastISel.cpp1
-rw-r--r--lib/Target/X86/X86FastISel.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp
index b545dbc3ea..29fcd4009a 100644
--- a/lib/Target/ARM/ARMFastISel.cpp
+++ b/lib/Target/ARM/ARMFastISel.cpp
@@ -2922,6 +2922,7 @@ bool ARMFastISel::FastLowerArguments() {
return false;
EVT ArgVT = TLI.getValueType(ArgTy);
+ if (!ArgVT.isSimple()) return false;
switch (ArgVT.getSimpleVT().SimpleTy) {
case MVT::i8:
case MVT::i16:
diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp
index ed17b113a6..b5c3270065 100644
--- a/lib/Target/X86/X86FastISel.cpp
+++ b/lib/Target/X86/X86FastISel.cpp
@@ -1555,6 +1555,7 @@ bool X86FastISel::FastLowerArguments() {
return false;
EVT ArgVT = TLI.getValueType(ArgTy);
+ if (!ArgVT.isSimple()) return false;
switch (ArgVT.getSimpleVT().SimpleTy) {
case MVT::i32:
case MVT::i64: