I don't think there are enough changes here to warrant a bigger refactoring,
but this mechanism has proven to be fragile, given the number of "this commit
broke byval" post-commits.
I'm not against this particular patch, but I'd like to see a bit more work on
making the code robust, not just adding special cases...
cheers,
--renato
================
Comment at: lib/CodeGen/TargetInfo.cpp:4004
@@ -4001,1 +4003,3 @@
+ if (!IsCPRC && PreAllocationGPRs < NumGPRs && AllocatedGPRs > NumGPRs &&
+ StackUsed && !IsByVal) {
llvm::Type *PaddingTy = llvm::ArrayType::get(
----------------
This is getting slightly out of hand...
================
Comment at: test/CodeGen/arm-aapcs-vfp.c:150
@@ +149,3 @@
+// Here, parameter k would need padding to prevent it from being split, but it
+// is passed ByVal (due to being > 64 bytes), so the backend handles this
instead.
+void test_vfp_stack_gpr_split_6(double a, double b, double c, double d, double
e, double f, double g, double h, double i, int j, struct_seventeen_ints k) {}
----------------
and this relationship between the front-end and the back-end is getting
thinner...
http://reviews.llvm.org/D4541
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits