aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bytecode')
-rw-r--r--lib/Bytecode/Reader/Reader.cpp7
-rw-r--r--lib/Bytecode/Writer/Writer.cpp3
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp
index efdb4f17d2..355fc1df4c 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 2013524939..aea9000754 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());