Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Side by Side Diff: lib/Bitcode/Writer/BitcodeWriter.cpp

Issue 8393017: Bitcode streaming (Closed)
Patch Set: put destructors back, fix trailing whitespace Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/Bitcode/Reader/BitcodeReader.cpp ('k') | lib/Support/BitcodeStream.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===--- Bitcode/Writer/BitcodeWriter.cpp - Bitcode Writer ----------------===// 1 //===--- Bitcode/Writer/BitcodeWriter.cpp - Bitcode Writer ----------------===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // Bitcode writer implementation. 10 // Bitcode writer implementation.
(...skipping 1587 matching lines...) Expand 10 before | Expand all | Expand 10 after
1598 // Emit top-level description of module, including target triple, inline asm, 1598 // Emit top-level description of module, including target triple, inline asm,
1599 // descriptors for global variables, and function prototype info. 1599 // descriptors for global variables, and function prototype info.
1600 WriteModuleInfo(M, VE, Stream); 1600 WriteModuleInfo(M, VE, Stream);
1601 1601
1602 // Emit constants. 1602 // Emit constants.
1603 WriteModuleConstants(VE, Stream); 1603 WriteModuleConstants(VE, Stream);
1604 1604
1605 // Emit metadata. 1605 // Emit metadata.
1606 WriteModuleMetadata(M, VE, Stream); 1606 WriteModuleMetadata(M, VE, Stream);
1607 1607
1608 // Emit function bodies.
1609 for (Module::const_iterator F = M->begin(), E = M->end(); F != E; ++F)
1610 if (!F->isDeclaration())
1611 WriteFunction(*F, VE, Stream);
1612
1613 // Emit metadata. 1608 // Emit metadata.
1614 WriteModuleMetadataStore(M, Stream); 1609 WriteModuleMetadataStore(M, Stream);
1615 1610
1616 // Emit names for globals/functions etc. 1611 // Emit names for globals/functions etc.
1617 WriteValueSymbolTable(M->getValueSymbolTable(), VE, Stream); 1612 WriteValueSymbolTable(M->getValueSymbolTable(), VE, Stream);
1618 1613
1614 // Emit function bodies.
1615 for (Module::const_iterator F = M->begin(), E = M->end(); F != E; ++F)
1616 if (!F->isDeclaration())
1617 WriteFunction(*F, VE, Stream);
1618
1619 Stream.ExitBlock(); 1619 Stream.ExitBlock();
1620 } 1620 }
1621 1621
1622 /// EmitDarwinBCHeader - If generating a bc file on darwin, we have to emit a 1622 /// EmitDarwinBCHeader - If generating a bc file on darwin, we have to emit a
1623 /// header and trailer to make it compatible with the system archiver. To do 1623 /// header and trailer to make it compatible with the system archiver. To do
1624 /// this we emit the following header, and then emit a trailer that pads the 1624 /// this we emit the following header, and then emit a trailer that pads the
1625 /// file out to be a multiple of 16 bytes. 1625 /// file out to be a multiple of 16 bytes.
1626 /// 1626 ///
1627 /// struct bc_header { 1627 /// struct bc_header {
1628 /// uint32_t Magic; // 0x0B17C0DE 1628 /// uint32_t Magic; // 0x0B17C0DE
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
1717 Stream.Emit(0xC, 4); 1717 Stream.Emit(0xC, 4);
1718 Stream.Emit(0xE, 4); 1718 Stream.Emit(0xE, 4);
1719 Stream.Emit(0xD, 4); 1719 Stream.Emit(0xD, 4);
1720 1720
1721 // Emit the module. 1721 // Emit the module.
1722 WriteModule(M, Stream); 1722 WriteModule(M, Stream);
1723 1723
1724 if (TT.isOSDarwin()) 1724 if (TT.isOSDarwin())
1725 EmitDarwinBCTrailer(Stream, Stream.getBuffer().size()); 1725 EmitDarwinBCTrailer(Stream, Stream.getBuffer().size());
1726 } 1726 }
OLDNEW
« no previous file with comments | « lib/Bitcode/Reader/BitcodeReader.cpp ('k') | lib/Support/BitcodeStream.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698