eliminate residual cruft related to recognizing bytecode

files.
bitcode files are the only LLVM format left.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37945 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Gabor Greif 2007-07-06 13:38:17 +00:00
parent 664e9546d6
commit e75ca3d809
9 changed files with 13 additions and 71 deletions

View File

@ -51,8 +51,7 @@ class ArchiveMember {
SVR4SymbolTableFlag = 2, ///< Member is a SVR4 symbol table SVR4SymbolTableFlag = 2, ///< Member is a SVR4 symbol table
BSD4SymbolTableFlag = 4, ///< Member is a BSD4 symbol table BSD4SymbolTableFlag = 4, ///< Member is a BSD4 symbol table
LLVMSymbolTableFlag = 8, ///< Member is an LLVM symbol table LLVMSymbolTableFlag = 8, ///< Member is an LLVM symbol table
BytecodeFlag = 16, ///< Member is uncompressed bytecode BitcodeFlag = 16, ///< Member is uncompressed bytecode
CompressedBytecodeFlag = 32, ///< Member is compressed bytecode
HasPathFlag = 64, ///< Member has a full or partial path HasPathFlag = 64, ///< Member has a full or partial path
HasLongFilenameFlag = 128, ///< Member uses the long filename syntax HasLongFilenameFlag = 128, ///< Member uses the long filename syntax
StringTableFlag = 256 ///< Member is an ar(1) format string table StringTableFlag = 256 ///< Member is an ar(1) format string table
@ -112,7 +111,6 @@ class ArchiveMember {
/// This method determines if the member is a regular compressed file. Note /// This method determines if the member is a regular compressed file. Note
/// that compressed bytecode files will yield "false" for this method. /// that compressed bytecode files will yield "false" for this method.
/// @see isCompressedBytecode()
/// @returns true iff the archive member is a compressed regular file. /// @returns true iff the archive member is a compressed regular file.
/// @brief Determine if the member is a compressed regular file. /// @brief Determine if the member is a compressed regular file.
bool isCompressed() const { return flags&CompressedFlag; } bool isCompressed() const { return flags&CompressedFlag; }
@ -135,11 +133,7 @@ class ArchiveMember {
/// @returns true iff the archive member is an uncompressed bytecode file. /// @returns true iff the archive member is an uncompressed bytecode file.
/// @brief Determine if this member is a bytecode file. /// @brief Determine if this member is a bytecode file.
bool isBytecode() const { return flags&BytecodeFlag; } bool isBitcode() const { return flags&BitcodeFlag; }
/// @returns true iff the archive member is a compressed bytecode file.
/// @brief Determine if the member is a compressed bytecode file.
bool isCompressedBytecode() const { return flags&CompressedBytecodeFlag;}
/// @returns true iff the file name contains a path (directory) component. /// @returns true iff the file name contains a path (directory) component.
/// @brief Determine if the member has a path /// @brief Determine if the member has a path

View File

@ -306,13 +306,6 @@ namespace sys {
/// @brief Determine if the path references an archive file. /// @brief Determine if the path references an archive file.
bool isArchive() const; bool isArchive() const;
/// This function determines if the path name in the object references an
/// LLVM Bytecode file by looking at its magic number.
/// @returns true if the file starts with the magic number for LLVM
/// bytecode files.
/// @brief Determine if the path references a bytecode file.
bool isBytecodeFile() const;
/// This function determines if the path name in the object references an /// This function determines if the path name in the object references an
/// LLVM Bitcode file by looking at its magic number. /// LLVM Bitcode file by looking at its magic number.
/// @returns true if the file starts with the magic number for LLVM /// @returns true if the file starts with the magic number for LLVM
@ -621,9 +614,7 @@ namespace sys {
/// This enumeration delineates the kinds of files that LLVM knows about. /// This enumeration delineates the kinds of files that LLVM knows about.
enum LLVMFileType { enum LLVMFileType {
Unknown_FileType = 0, ///< Unrecognized file Unknown_FileType = 0, ///< Unrecognized file
Bytecode_FileType, ///< Uncompressed bytecode file
Bitcode_FileType, ///< Bitcode file Bitcode_FileType, ///< Bitcode file
CompressedBytecode_FileType, ///< Compressed bytecode file
Archive_FileType, ///< ar style archive file Archive_FileType, ///< ar style archive file
ELF_Relocatable_FileType, ///< ELF Relocatable object file ELF_Relocatable_FileType, ///< ELF Relocatable object file
ELF_Executable_FileType, ///< ELF Executable image ELF_Executable_FileType, ///< ELF Executable image

View File

@ -126,15 +126,8 @@ bool ArchiveMember::replaceWith(const sys::Path& newFile, std::string* ErrMsg) {
// Determine what kind of file it is // Determine what kind of file it is
switch (sys::IdentifyFileType(signature,4)) { switch (sys::IdentifyFileType(signature,4)) {
case sys::Bytecode_FileType:
flags |= BytecodeFlag;
break;
case sys::CompressedBytecode_FileType:
flags |= CompressedBytecodeFlag;
flags &= ~CompressedFlag;
break;
default: default:
flags &= ~(BytecodeFlag|CompressedBytecodeFlag); flags &= ~BitcodeFlag;
break; break;
} }
return false; return false;

View File

@ -207,16 +207,10 @@ Archive::parseMemberHeader(const char*& At, const char* End, std::string* error)
// Determine if this is a bytecode file // Determine if this is a bytecode file
switch (sys::IdentifyFileType(At, 4)) { switch (sys::IdentifyFileType(At, 4)) {
case sys::Bitcode_FileType: case sys::Bitcode_FileType:
case sys::Bytecode_FileType: flags |= ArchiveMember::BitcodeFlag;
flags |= ArchiveMember::BytecodeFlag;
break;
case sys::CompressedBytecode_FileType:
flags |= ArchiveMember::CompressedBytecodeFlag;
flags &= ~ArchiveMember::CompressedFlag;
break; break;
default: default:
flags &= ~(ArchiveMember::BytecodeFlag| flags &= ~ArchiveMember::BitcodeFlag;
ArchiveMember::CompressedBytecodeFlag);
break; break;
} }
@ -349,7 +343,7 @@ bool
Archive::getAllModules(std::vector<Module*>& Modules, std::string* ErrMessage) { Archive::getAllModules(std::vector<Module*>& Modules, std::string* ErrMessage) {
for (iterator I=begin(), E=end(); I != E; ++I) { for (iterator I=begin(), E=end(); I != E; ++I) {
if (I->isBytecode() || I->isCompressedBytecode()) { if (I->isBitcode()) {
std::string FullMemberName = archPath.toString() + std::string FullMemberName = archPath.toString() +
"(" + I->getPath().toString() + ")"; "(" + I->getPath().toString() + ")";
MemoryBuffer *Buffer = MemoryBuffer *Buffer =
@ -535,7 +529,7 @@ Archive::findModulesDefiningSymbols(std::set<std::string>& symbols,
return false; return false;
// If it contains symbols // If it contains symbols
if (mbr->isBytecode() || mbr->isCompressedBytecode()) { if (mbr->isBitcode()) {
// Get the symbols // Get the symbols
std::vector<std::string> symbols; std::vector<std::string> symbols;
std::string FullMemberName = archPath.toString() + "(" + std::string FullMemberName = archPath.toString() + "(" +
@ -612,7 +606,7 @@ bool Archive::isBitcodeArchive() {
// Scan the archive, trying to load a bitcode member. We only load one to // Scan the archive, trying to load a bitcode member. We only load one to
// see if this works. // see if this works.
for (iterator I = begin(), E = end(); I != E; ++I) { for (iterator I = begin(), E = end(); I != E; ++I) {
if (!I->isBytecode() && !I->isCompressedBytecode()) if (!I->isBitcode())
continue; continue;
std::string FullMemberName = std::string FullMemberName =

View File

@ -179,11 +179,7 @@ Archive::addFileBefore(const sys::Path& filePath, iterator where,
mbr->path.getMagicNumber(magic,4); mbr->path.getMagicNumber(magic,4);
switch (sys::IdentifyFileType(magic.c_str(),4)) { switch (sys::IdentifyFileType(magic.c_str(),4)) {
case sys::Bitcode_FileType: case sys::Bitcode_FileType:
case sys::Bytecode_FileType: flags |= ArchiveMember::BitcodeFlag;
flags |= ArchiveMember::BytecodeFlag;
break;
case sys::CompressedBytecode_FileType:
flags |= ArchiveMember::CompressedBytecodeFlag;
break; break;
default: default:
break; break;
@ -223,8 +219,7 @@ Archive::writeMember(
// Now that we have the data in memory, update the // Now that we have the data in memory, update the
// symbol table if its a bitcode file. // symbol table if its a bitcode file.
if (CreateSymbolTable && if (CreateSymbolTable && member.isBitcode()) {
(member.isBytecode() || member.isCompressedBytecode())) {
std::vector<std::string> symbols; std::vector<std::string> symbols;
std::string FullMemberName = archPath.toString() + "(" + std::string FullMemberName = archPath.toString() + "(" +
member.getPath().toString() member.getPath().toString()

View File

@ -82,9 +82,7 @@ bool Linker::LinkInLibrary(const std::string& Lib, bool& is_native) {
case sys::Unknown_FileType: case sys::Unknown_FileType:
return warning("Supposed library '" + Lib + "' isn't a library."); return warning("Supposed library '" + Lib + "' isn't a library.");
case sys::Bytecode_FileType:
case sys::Bitcode_FileType: case sys::Bitcode_FileType:
case sys::CompressedBytecode_FileType:
// LLVM ".so" file. // LLVM ".so" file.
if (LinkInFile(Pathname, is_native)) if (LinkInFile(Pathname, is_native))
return error("Cannot link file '" + Pathname.toString() + "'"); return error("Cannot link file '" + Pathname.toString() + "'");
@ -176,9 +174,7 @@ bool Linker::LinkInFile(const sys::Path &File, bool &is_native) {
return error("Cannot link archive '" + File.toString() + "'"); return error("Cannot link archive '" + File.toString() + "'");
break; break;
case sys::Bitcode_FileType: case sys::Bitcode_FileType: {
case sys::Bytecode_FileType:
case sys::CompressedBytecode_FileType: {
verbose("Linking bitcode file '" + File.toString() + "'"); verbose("Linking bitcode file '" + File.toString() + "'");
std::auto_ptr<Module> M(LoadObject(File)); std::auto_ptr<Module> M(LoadObject(File));
if (M.get() == 0) if (M.get() == 0)

View File

@ -142,8 +142,6 @@ static inline sys::Path IsLibrary(const std::string& Name,
FullPath.appendSuffix(&(LTDL_SHLIB_EXT[1])); FullPath.appendSuffix(&(LTDL_SHLIB_EXT[1]));
if (FullPath.isDynamicLibrary()) // Native shared library? if (FullPath.isDynamicLibrary()) // Native shared library?
return FullPath; return FullPath;
if (FullPath.isBytecodeFile()) // .so file containing bytecode?
return FullPath;
if (FullPath.isBitcodeFile()) // .so file containing bitcode? if (FullPath.isBitcodeFile()) // .so file containing bitcode?
return FullPath; return FullPath;

View File

@ -47,14 +47,6 @@ sys::IdentifyFileType(const char*magic, unsigned length) {
if (magic[1] == 'C' && magic[2] == (char)0xC0 && magic[3] == (char)0xDE) if (magic[1] == 'C' && magic[2] == (char)0xC0 && magic[3] == (char)0xDE)
return Bitcode_FileType; return Bitcode_FileType;
break; break;
case 'l':
if (magic[1] == 'l' && magic[2] == 'v') {
if (magic[3] == 'c')
return CompressedBytecode_FileType;
else if (magic[3] == 'm')
return Bytecode_FileType;
}
break;
case '!': case '!':
if (length >= 8) if (length >= 8)
if (memcmp(magic,"!<arch>\n",8) == 0) if (memcmp(magic,"!<arch>\n",8) == 0)
@ -164,14 +156,6 @@ std::string Path::GetDLLSuffix() {
return LTDL_SHLIB_EXT; return LTDL_SHLIB_EXT;
} }
bool
Path::isBytecodeFile() const {
std::string actualMagic;
if (!getMagicNumber(actualMagic, 4))
return false;
return actualMagic == "llvc" || actualMagic == "llvm";
}
bool bool
Path::isBitcodeFile() const { Path::isBitcodeFile() const {
std::string actualMagic; std::string actualMagic;

View File

@ -356,8 +356,7 @@ bool doPrint(std::string* ErrMsg) {
// Skip things that don't make sense to print // Skip things that don't make sense to print
if (I->isLLVMSymbolTable() || I->isSVR4SymbolTable() || if (I->isLLVMSymbolTable() || I->isSVR4SymbolTable() ||
I->isBSD4SymbolTable() || (!DontSkipBitcode && I->isBSD4SymbolTable() || (!DontSkipBitcode && I->isBitcode()))
(I->isBytecode() || I->isCompressedBytecode())))
continue; continue;
if (Verbose) if (Verbose)
@ -406,10 +405,8 @@ doDisplayTable(std::string* ErrMsg) {
if (Verbose) { if (Verbose) {
// FIXME: Output should be this format: // FIXME: Output should be this format:
// Zrw-r--r-- 500/ 500 525 Nov 8 17:42 2004 Makefile // Zrw-r--r-- 500/ 500 525 Nov 8 17:42 2004 Makefile
if (I->isBytecode()) if (I->isBitcode())
std::cout << "b"; std::cout << "b";
else if (I->isCompressedBytecode())
std::cout << "B";
else if (I->isCompressed()) else if (I->isCompressed())
std::cout << "Z"; std::cout << "Z";
else else