From: Reid Spencer Date: Thu, 18 Jan 2007 23:24:24 +0000 (+0000) Subject: For PR761: X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=4b70161b69ab4d038bee38970fafcb00d0a6b03b;p=oota-llvm.git For PR761: 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 --- diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp index efdb4f17d26..355fc1df4c0 100644 --- a/lib/Bytecode/Reader/Reader.cpp +++ b/lib/Bytecode/Reader/Reader.cpp @@ -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. diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp index 20135249390..aea90007549 100644 --- a/lib/Bytecode/Writer/Writer.cpp +++ b/lib/Bytecode/Writer/Writer.cpp @@ -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());