aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2007-12-21 20:18:41 +0000
committerDuncan Sands <baldrick@free.fr>2007-12-21 20:18:41 +0000
commit5819799fa746cc021471b22d4e90b3e34c2076fd (patch)
tree080f91704644a4f24b0143d2e5243b876a1bfd3a /lib
parentd9d70395d9637ad731208728d29ae9fce1b36764 (diff)
Fix a brain fart by our beloved leader (the content
of this patch is the last line). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45289 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/TargetData.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp
index 8c466543fa..04ee986492 100644
--- a/lib/Target/TargetData.cpp
+++ b/lib/Target/TargetData.cpp
@@ -268,15 +268,14 @@ unsigned TargetData::getAlignmentInfo(AlignTypeEnum AlignType,
return ABIInfo ? Alignments[i].ABIAlign : Alignments[i].PrefAlign;
// The best match so far depends on what we're looking for.
- if (AlignType == VECTOR_ALIGN) {
+ if (AlignType == VECTOR_ALIGN && Alignments[i].AlignType == VECTOR_ALIGN) {
// If this is a specification for a smaller vector type, we will fall back
// to it. This happens because <128 x double> can be implemented in terms
// of 64 <2 x double>.
- if (Alignments[i].AlignType == VECTOR_ALIGN &&
- Alignments[i].TypeBitWidth < BitWidth) {
+ if (Alignments[i].TypeBitWidth < BitWidth) {
// Verify that we pick the biggest of the fallbacks.
if (BestMatchIdx == -1 ||
- Alignments[BestMatchIdx].TypeBitWidth < BitWidth)
+ Alignments[BestMatchIdx].TypeBitWidth < Alignments[i].TypeBitWidth)
BestMatchIdx = i;
}
} else if (AlignType == INTEGER_ALIGN &&