summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-24 13:48:48 +0000
committerChris Lattner <sabre@nondot.org>2003-08-24 13:48:48 +0000
commit8068e0cd1749f7575815bafd478645bcc51138b2 (patch)
tree85a8b9b03a09649ba1c2f5816be87f230968d8e4 /llvm/lib/VMCore
parent55a07adc36099688e2ab908478a3adbd82509755 (diff)
downloadbcm5719-llvm-8068e0cd1749f7575815bafd478645bcc51138b2.tar.gz
bcm5719-llvm-8068e0cd1749f7575815bafd478645bcc51138b2.zip
Support new 'any' support for pointer size and endianness
llvm-svn: 8119
Diffstat (limited to 'llvm/lib/VMCore')
-rw-r--r--llvm/lib/VMCore/AsmWriter.cpp14
-rw-r--r--llvm/lib/VMCore/Module.cpp2
2 files changed, 12 insertions, 4 deletions
diff --git a/llvm/lib/VMCore/AsmWriter.cpp b/llvm/lib/VMCore/AsmWriter.cpp
index 8f7c4500cee..4acf55bf89c 100644
--- a/llvm/lib/VMCore/AsmWriter.cpp
+++ b/llvm/lib/VMCore/AsmWriter.cpp
@@ -553,9 +553,17 @@ void AssemblyWriter::writeOperand(const Value *Operand, bool PrintType,
void AssemblyWriter::printModule(const Module *M) {
- Out << "target endian = " << (M->isLittleEndian() ? "little" : "big") << "\n";
- Out << "target pointersize = " << (M->has32BitPointers() ? 32 : 64) << "\n";
-
+ switch (M->getEndianness()) {
+ case Module::LittleEndian: Out << "target endian = little\n"; break;
+ case Module::BigEndian: Out << "target endian = big\n"; break;
+ case Module::AnyEndianness: break;
+ }
+ switch (M->getPointerSize()) {
+ case Module::Pointer32: Out << "target pointersize = 32\n"; break;
+ case Module::Pointer64: Out << "target pointersize = 64\n"; break;
+ case Module::AnyPointerSize: break;
+ }
+
// Loop over the symbol table, emitting all named constants...
printSymbolTable(M->getSymbolTable());
diff --git a/llvm/lib/VMCore/Module.cpp b/llvm/lib/VMCore/Module.cpp
index abc4654da1d..8b61606dcad 100644
--- a/llvm/lib/VMCore/Module.cpp
+++ b/llvm/lib/VMCore/Module.cpp
@@ -53,7 +53,7 @@ struct GlobalValueRefMap {
Module::Module(const std::string &MID)
- : ModuleID(MID), Endian(BigEndian), PtrSize(Pointer64) {
+ : ModuleID(MID), Endian(AnyEndianness), PtrSize(AnyPointerSize) {
FunctionList.setItemParent(this);
FunctionList.setParent(this);
GlobalList.setItemParent(this);
OpenPOWER on IntegriCloud