summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/arm-arguments.c
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-11-07 22:30:50 +0000
committerTim Northover <tnorthover@apple.com>2014-11-07 22:30:50 +0000
commit5a1558ec31903371b0843382ce313749be0d13a4 (patch)
treec7e6a6f852d5da0aba5360dd2216bd7fa9a1e007 /clang/test/CodeGen/arm-arguments.c
parentedf99a92c00193fb72f3e94f4440b9f86789cca4 (diff)
downloadbcm5719-llvm-5a1558ec31903371b0843382ce313749be0d13a4.tar.gz
bcm5719-llvm-5a1558ec31903371b0843382ce313749be0d13a4.zip
ARM ABI: simplify decisions on whether args can be expanded.
Homogeneous aggregates on AAPCS_VFP ARM need to be passed *without* being flattened (e.g. [2 x float] rather than "float, float") for various weird ABI reasons. However, this isn't the case for anything else; further, we know at the ABIArgInfo::getDirect callsites whether this flattening is allowed. So, we can get more unified ARM code, with a simpler Clang, by just using that knowledge directly. llvm-svn: 221559
Diffstat (limited to 'clang/test/CodeGen/arm-arguments.c')
-rw-r--r--clang/test/CodeGen/arm-arguments.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/clang/test/CodeGen/arm-arguments.c b/clang/test/CodeGen/arm-arguments.c
index 2c5df91c58a..e4a10fd9e27 100644
--- a/clang/test/CodeGen/arm-arguments.c
+++ b/clang/test/CodeGen/arm-arguments.c
@@ -183,14 +183,9 @@ void f33(struct s33 s) { }
struct s34 { char c; };
void f34(struct s34 s);
void g34(struct s34 *s) { f34(*s); }
-// APCS-GNU: @g34(%struct.s34* %s)
-// APCS-GNU: %[[a:.*]] = alloca { [1 x i32] }
-// APCS-GNU: %[[gep:.*]] = getelementptr { [1 x i32] }* %[[a]], i32 0, i32 0
-// APCS-GNU: load [1 x i32]* %[[gep]]
// AAPCS: @g34(%struct.s34* %s)
-// AAPCS: %[[a:.*]] = alloca { [1 x i32] }
-// AAPCS: %[[gep:.*]] = getelementptr { [1 x i32] }* %[[a]], i32 0, i32 0
-// AAPCS: load [1 x i32]* %[[gep]]
+// AAPCS: %[[a:.*]] = alloca [1 x i32]
+// AAPCS: load [1 x i32]* %[[a]]
// rdar://12596507
struct s35
OpenPOWER on IntegriCloud