diff options
Diffstat (limited to 'lib/Bitcode')
-rw-r--r-- | lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp | 17 | ||||
-rw-r--r-- | lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp | 3 |
2 files changed, 10 insertions, 10 deletions
diff --git a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp index 8fe6274a15..bd6ddcb020 100644 --- a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp +++ b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp @@ -1477,13 +1477,6 @@ bool NaClBitcodeReader::ParseModule(bool Resume) { } break; } - case naclbitc::MODULE_CODE_DATALAYOUT: { // DATALAYOUT: [strchr x N] - std::string S; - if (ConvertToString(Record, 0, S)) - return Error("Invalid MODULE_CODE_DATALAYOUT record"); - TheModule->setDataLayout(S); - break; - } case naclbitc::MODULE_CODE_ASM: { // ASM: [strchr x N] std::string S; if (ConvertToString(Record, 0, S)) @@ -1630,6 +1623,16 @@ bool NaClBitcodeReader::ParseModule(bool Resume) { bool NaClBitcodeReader::ParseBitcodeInto(Module *M) { TheModule = 0; + // PNaCl does not support different DataLayouts in pexes, so we + // implicitly set the DataLayout to the following default. + // + // This is not usually needed by the backend, but it might be used + // by IR passes that the PNaCl translator runs. We set this in the + // reader rather than in pnacl-llc so that 'opt' will also use the + // correct DataLayout if it is run on a pexe. + M->setDataLayout("e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" + "f32:32:32-f64:64:64-p:32:32:32-v128:32:32"); + if (InitStream()) return true; // We expect a number of well-defined blocks, though we don't necessarily diff --git a/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp b/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp index bf1faa463d..7afcf666dc 100644 --- a/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp +++ b/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp @@ -431,9 +431,6 @@ static void WriteModuleInfo(const Module *M, const NaClValueEnumerator &VE, NaClBitstreamWriter &Stream) { DEBUG(dbgs() << "-> WriteModuleInfo\n"); // Emit various pieces of data attached to a module. - if (!M->getDataLayout().empty()) - WriteStringRecord(naclbitc::MODULE_CODE_DATALAYOUT, M->getDataLayout(), - 0/*TODO*/, Stream); if (!M->getModuleInlineAsm().empty()) WriteStringRecord(naclbitc::MODULE_CODE_ASM, M->getModuleInlineAsm(), 0/*TODO*/, Stream); |