summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCall.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-01-29 08:35:40 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-01-29 08:35:40 +0000
commit7cd7d47c5cd091b93af801974bdabbd572a184f5 (patch)
tree60356ce7ac6127b6460e623d742d6b8afdf338fe /clang/lib/CodeGen/CGCall.cpp
parent012468aa7f03884270d831c6452cc50bf05f14f8 (diff)
downloadbcm5719-llvm-7cd7d47c5cd091b93af801974bdabbd572a184f5.tar.gz
bcm5719-llvm-7cd7d47c5cd091b93af801974bdabbd572a184f5.zip
x86_64 ABI: Tweak merging algorithm so that we always bail early when
we see a Memory classification. llvm-svn: 63295
Diffstat (limited to 'clang/lib/CodeGen/CGCall.cpp')
-rw-r--r--clang/lib/CodeGen/CGCall.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index 6ffe8c328ca..afdf57a7650 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -548,13 +548,13 @@ void X86_64ABIInfo::classify(QualType Ty,
//
// (f) Otherwise class SSE is used.
if (Target == FieldLo || FieldLo == NoClass) ;
- else if (Target == NoClass)
- Target = FieldLo;
else if (FieldLo == Memory) {
// Memory is never over-ridden, just bail.
Lo = Memory;
return;
}
+ else if (Target == NoClass)
+ Target = FieldLo;
else if (Target == Integer || FieldLo == Integer)
Target = Integer;
else if (FieldLo == X87 || FieldLo == X87Up || FieldLo == ComplexX87) {
OpenPOWER on IntegriCloud