Support new 'any' support for pointer size and endianness
authorChris Lattner <sabre@nondot.org>
Sun, 24 Aug 2003 13:48:48 +0000 (13:48 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 24 Aug 2003 13:48:48 +0000 (13:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8119 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/AsmWriter.cpp
lib/VMCore/Module.cpp

index 8f7c4500cee9c41de97b78744a6a6b02a2631bd2..4acf55bf89c952135d64a102510ecdffc2a2b689 100644 (file)
@@ -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());
   
index abc4654da1d1b4760fe0e2d112ce9fddfb741bc4..8b61606dcadb0c6017ba006398eb7236272fccda 100644 (file)
@@ -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);