[pkg-d-commits] [ldc] 01/14: Differentiate between the soft and hard floating-point ABIs for ARM, to decide whether to return the address of structs with floating-point numbers in general-purpose registers.
Matthias Klumpp
mak at moszumanska.debian.org
Sun Apr 23 22:35:54 UTC 2017
This is an automated email from the git hooks/post-receive script.
mak pushed a commit to annotated tag v0.17.2
in repository ldc.
commit 4a98534d7d6e2aad2166044e3821adbb682719e7
Author: Joakim <git at joakim.fea.st>
Date: Tue Jun 14 14:36:23 2016 +0530
Differentiate between the soft and hard floating-point ABIs for ARM, to decide
whether to return the address of structs with floating-point numbers in
general-purpose registers.
---
gen/abi-arm.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gen/abi-arm.cpp b/gen/abi-arm.cpp
index 165b192..c302f4b 100644
--- a/gen/abi-arm.cpp
+++ b/gen/abi-arm.cpp
@@ -16,6 +16,7 @@
#include "gen/abi.h"
#include "gen/abi-generic.h"
#include "gen/abi-arm.h"
+#include "llvm/Target/TargetMachine.h"
struct ArmTargetABI : TargetABI {
HFAToArray hfaToArray;
@@ -38,7 +39,9 @@ struct ArmTargetABI : TargetABI {
return rt->ty == Tsarray || rt->ty == Tstruct;
return rt->ty == Tsarray ||
- (rt->ty == Tstruct && rt->size() > 4 && !isHFA((TypeStruct *)rt));
+ (rt->ty == Tstruct && rt->size() > 4 &&
+ (gTargetMachine->Options.FloatABIType == llvm::FloatABI::Soft ||
+ !isHFA((TypeStruct *)rt)));
}
bool passByVal(Type *t) override {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-d/ldc.git
More information about the pkg-d-commits
mailing list