diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-01-29 08:35:40 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-01-29 08:35:40 +0000 |
commit | 7cd7d47c5cd091b93af801974bdabbd572a184f5 (patch) | |
tree | 60356ce7ac6127b6460e623d742d6b8afdf338fe /clang/lib/CodeGen/CGCall.cpp | |
parent | 012468aa7f03884270d831c6452cc50bf05f14f8 (diff) | |
download | bcm5719-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.cpp | 4 |
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) { |