aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-04-26 19:47:36 +0000
committerChris Lattner <sabre@nondot.org>2003-04-26 19:47:36 +0000
commit37ec8114097b05974a83083a062041675b974c08 (patch)
treebb8e6f9353f80d4159e9b8d0d5d92fc9ee2a354a /lib/Target
parent7a5adc3ac0fd7acc32f7797aac33d51224c9a443 (diff)
downloadexternal_llvm-37ec8114097b05974a83083a062041675b974c08.zip
external_llvm-37ec8114097b05974a83083a062041675b974c08.tar.gz
external_llvm-37ec8114097b05974a83083a062041675b974c08.tar.bz2
The promotion rules are the same for all targets, they are set by the C standard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5962 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/TargetMachine.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp
index dc722fc..24788e3 100644
--- a/lib/Target/TargetMachine.cpp
+++ b/lib/Target/TargetMachine.cpp
@@ -20,16 +20,10 @@
// function TargetMachine::findOptimalStorageSize
//
-// Purpose:
-// This default implementation assumes that all sub-word data items use
-// space equal to optSizeForSubWordData, and all other primitive data
-// items use space according to the type.
-//
unsigned TargetMachine::findOptimalStorageSize(const Type *Ty) const {
- // Round integral values smaller than SubWordDataSize up to SubWordDataSize
- if (Ty->isIntegral() &&
- Ty->getPrimitiveSize() < DataLayout.getSubWordDataSize())
- return DataLayout.getSubWordDataSize();
+ // All integer types smaller than ints promote to 4 byte integers.
+ if (Ty->isIntegral() && Ty->getPrimitiveSize() < 4)
+ return 4;
return DataLayout.getTypeSize(Ty);
}