For PR761:
authorReid Spencer <rspencer@reidspencer.com>
Thu, 18 Jan 2007 23:24:24 +0000 (23:24 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 18 Jan 2007 23:24:24 +0000 (23:24 +0000)
Implement reading and writing of the Module's data layout string.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33346 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bytecode/Reader/Reader.cpp
lib/Bytecode/Writer/Writer.cpp

index efdb4f17d266c8995ac0e613739cb4b7bed7784e..355fc1df4c0cdd3b8c2a88a6f0084354c9d968a8 100644 (file)
@@ -2013,6 +2013,13 @@ void BytecodeReader::ParseModuleGlobalInfo() {
   TheModule->setTargetTriple(triple);
   if (Handler)
     Handler->handleTargetTriple(triple);
+
+  // Read the data layout string and place into the module.
+  std::string datalayout = read_str();
+  TheModule->setDataLayout(datalayout);
+  // FIXME: Implement
+  // if (Handler)
+    // Handler->handleDataLayout(datalayout);
   
   if (At != BlockEnd) {
     // If the file has section info in it, read the section names now.
index 20135249390161eb105f8501f777c9898a4b549b..aea9000754927658dcd99664b8eb483af835df63 100644 (file)
@@ -1090,6 +1090,9 @@ void BytecodeWriter::outputModuleInfoBlock(const Module *M) {
 
   // Output the target triple from the module
   output(M->getTargetTriple());
+
+  // Output the data layout from the module
+  output(M->getDataLayout());
   
   // Emit the table of section names.
   output_vbr((unsigned)SectionNames.size());