mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-02 00:37:09 +00:00
Cleanup some whitespaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153612 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
892143ff70
commit
3bb17380b1
@ -158,7 +158,7 @@ LTOModule *LTOModule::makeLTOModule(MemoryBuffer *buffer,
|
||||
TargetMachine *target = march->createTargetMachine(Triple, CPU, FeatureStr,
|
||||
Options);
|
||||
LTOModule *Ret = new LTOModule(m.take(), target);
|
||||
if (Ret->ParseSymbols(errMsg)) {
|
||||
if (Ret->parseSymbols(errMsg)) {
|
||||
delete Ret;
|
||||
return NULL;
|
||||
}
|
||||
@ -662,9 +662,9 @@ static bool isDeclaration(const GlobalValue &V) {
|
||||
return V.isDeclaration();
|
||||
}
|
||||
|
||||
/// ParseSymbols - Parse the symbols from the module and model-level ASM and add
|
||||
/// parseSymbols - Parse the symbols from the module and model-level ASM and add
|
||||
/// them to either the defined or undefined lists.
|
||||
bool LTOModule::ParseSymbols(std::string &errMsg) {
|
||||
bool LTOModule::parseSymbols(std::string &errMsg) {
|
||||
// add functions
|
||||
for (Module::iterator f = _module->begin(); f != _module->end(); ++f) {
|
||||
if (isDeclaration(*f))
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <string>
|
||||
|
||||
|
||||
// forward references to llvm classes
|
||||
// Forward references to llvm classes.
|
||||
namespace llvm {
|
||||
class Function;
|
||||
class GlobalValue;
|
||||
@ -36,159 +36,155 @@ namespace llvm {
|
||||
}
|
||||
|
||||
//
|
||||
// C++ class which implements the opaque lto_module_t
|
||||
// C++ class which implements the opaque lto_module_t type.
|
||||
//
|
||||
struct LTOModule {
|
||||
private:
|
||||
typedef llvm::StringMap<uint8_t> StringSet;
|
||||
typedef llvm::StringMap<uint8_t> StringSet;
|
||||
|
||||
struct NameAndAttributes {
|
||||
enum name_type { IsFunction, IsData };
|
||||
const char* name;
|
||||
lto_symbol_attributes attributes;
|
||||
};
|
||||
struct NameAndAttributes {
|
||||
enum name_type { IsFunction, IsData };
|
||||
const char* name;
|
||||
lto_symbol_attributes attributes;
|
||||
};
|
||||
|
||||
llvm::OwningPtr<llvm::Module> _module;
|
||||
llvm::OwningPtr<llvm::TargetMachine> _target;
|
||||
std::vector<NameAndAttributes> _symbols;
|
||||
llvm::OwningPtr<llvm::Module> _module;
|
||||
llvm::OwningPtr<llvm::TargetMachine> _target;
|
||||
std::vector<NameAndAttributes> _symbols;
|
||||
|
||||
// _defines and _undefines only needed to disambiguate tentative definitions
|
||||
StringSet _defines;
|
||||
llvm::StringMap<NameAndAttributes> _undefines;
|
||||
std::vector<const char*> _asm_undefines;
|
||||
llvm::MCContext _context;
|
||||
// _defines and _undefines only needed to disambiguate tentative definitions
|
||||
StringSet _defines;
|
||||
llvm::StringMap<NameAndAttributes> _undefines;
|
||||
std::vector<const char*> _asm_undefines;
|
||||
llvm::MCContext _context;
|
||||
|
||||
// Use mangler to add GlobalPrefix to names to match linker names.
|
||||
llvm::Mangler _mangler;
|
||||
// Use mangler to add GlobalPrefix to names to match linker names.
|
||||
llvm::Mangler _mangler;
|
||||
|
||||
LTOModule(llvm::Module *m, llvm::TargetMachine *t);
|
||||
LTOModule(llvm::Module *m, llvm::TargetMachine *t);
|
||||
public:
|
||||
/// isBitcodeFile - Returns 'true' if the file or memory contents is LLVM
|
||||
/// bitcode.
|
||||
static bool isBitcodeFile(const void *mem, size_t length);
|
||||
static bool isBitcodeFile(const char *path);
|
||||
/// isBitcodeFile - Returns 'true' if the file or memory contents is LLVM
|
||||
/// bitcode.
|
||||
static bool isBitcodeFile(const void *mem, size_t length);
|
||||
static bool isBitcodeFile(const char *path);
|
||||
|
||||
/// isBitcodeFileForTarget - Returns 'true' if the file or memory contents
|
||||
/// is LLVM bitcode for the specified triple.
|
||||
static bool isBitcodeFileForTarget(const void *mem,
|
||||
size_t length,
|
||||
const char *triplePrefix);
|
||||
static bool isBitcodeFileForTarget(const char *path,
|
||||
const char *triplePrefix);
|
||||
/// isBitcodeFileForTarget - Returns 'true' if the file or memory contents
|
||||
/// is LLVM bitcode for the specified triple.
|
||||
static bool isBitcodeFileForTarget(const void *mem,
|
||||
size_t length,
|
||||
const char *triplePrefix);
|
||||
static bool isBitcodeFileForTarget(const char *path,
|
||||
const char *triplePrefix);
|
||||
|
||||
/// makeLTOModule - Create an LTOModule. N.B. These methods take ownership
|
||||
/// of the buffer.
|
||||
static LTOModule* makeLTOModule(const char* path,
|
||||
std::string &errMsg);
|
||||
static LTOModule* makeLTOModule(int fd, const char *path,
|
||||
size_t size,
|
||||
std::string &errMsg);
|
||||
static LTOModule* makeLTOModule(int fd, const char *path,
|
||||
size_t file_size,
|
||||
size_t map_size,
|
||||
off_t offset,
|
||||
std::string& errMsg);
|
||||
static LTOModule* makeLTOModule(const void *mem, size_t length,
|
||||
std::string &errMsg);
|
||||
/// makeLTOModule - Create an LTOModule. N.B. These methods take ownership
|
||||
/// of the buffer.
|
||||
static LTOModule *makeLTOModule(const char* path,
|
||||
std::string &errMsg);
|
||||
static LTOModule *makeLTOModule(int fd, const char *path,
|
||||
size_t size, std::string &errMsg);
|
||||
static LTOModule *makeLTOModule(int fd, const char *path,
|
||||
size_t file_size,
|
||||
size_t map_size,
|
||||
off_t offset,
|
||||
std::string& errMsg);
|
||||
static LTOModule *makeLTOModule(const void *mem, size_t length,
|
||||
std::string &errMsg);
|
||||
|
||||
/// getTargetTriple - Return the Module's target triple.
|
||||
const char* getTargetTriple() {
|
||||
return _module->getTargetTriple().c_str();
|
||||
}
|
||||
/// getTargetTriple - Return the Module's target triple.
|
||||
const char *getTargetTriple() {
|
||||
return _module->getTargetTriple().c_str();
|
||||
}
|
||||
|
||||
/// setTargetTriple - Set the Module's target triple.
|
||||
void setTargetTriple(const char *triple) {
|
||||
_module->setTargetTriple(triple);
|
||||
}
|
||||
/// setTargetTriple - Set the Module's target triple.
|
||||
void setTargetTriple(const char *triple) {
|
||||
_module->setTargetTriple(triple);
|
||||
}
|
||||
|
||||
/// getSymbolCount - Get the number of symbols
|
||||
uint32_t getSymbolCount() {
|
||||
return _symbols.size();
|
||||
}
|
||||
/// getSymbolCount - Get the number of symbols
|
||||
uint32_t getSymbolCount() {
|
||||
return _symbols.size();
|
||||
}
|
||||
|
||||
/// getSymbolAttributes - Get the attributes for a symbol at the specified
|
||||
/// index.
|
||||
lto_symbol_attributes getSymbolAttributes(uint32_t index) {
|
||||
if (index < _symbols.size())
|
||||
return _symbols[index].attributes;
|
||||
else
|
||||
return lto_symbol_attributes(0);
|
||||
}
|
||||
/// getSymbolAttributes - Get the attributes for a symbol at the specified
|
||||
/// index.
|
||||
lto_symbol_attributes getSymbolAttributes(uint32_t index) {
|
||||
if (index < _symbols.size())
|
||||
return _symbols[index].attributes;
|
||||
else
|
||||
return lto_symbol_attributes(0);
|
||||
}
|
||||
|
||||
/// getSymbolName - Get the name of the symbol at the specified index.
|
||||
const char* getSymbolName(uint32_t index) {
|
||||
if (index < _symbols.size())
|
||||
return _symbols[index].name;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
/// getSymbolName - Get the name of the symbol at the specified index.
|
||||
const char *getSymbolName(uint32_t index) {
|
||||
if (index < _symbols.size())
|
||||
return _symbols[index].name;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/// getLLVVMModule - Return the Module.
|
||||
llvm::Module * getLLVVMModule() { return _module.get(); }
|
||||
/// getLLVVMModule - Return the Module.
|
||||
llvm::Module *getLLVVMModule() { return _module.get(); }
|
||||
|
||||
/// getAsmUndefinedRefs -
|
||||
const std::vector<const char*> &getAsmUndefinedRefs() {
|
||||
return _asm_undefines;
|
||||
}
|
||||
/// getAsmUndefinedRefs -
|
||||
const std::vector<const char*> &getAsmUndefinedRefs() {
|
||||
return _asm_undefines;
|
||||
}
|
||||
|
||||
private:
|
||||
/// ParseSymbols - Parse the symbols from the module and model-level ASM and
|
||||
/// add them to either the defined or undefined lists.
|
||||
bool ParseSymbols(std::string &errMsg);
|
||||
/// parseSymbols - Parse the symbols from the module and model-level ASM and
|
||||
/// add them to either the defined or undefined lists.
|
||||
bool parseSymbols(std::string &errMsg);
|
||||
|
||||
/// addPotentialUndefinedSymbol - Add a symbol which isn't defined just yet
|
||||
/// to a list to be resolved later.
|
||||
void addPotentialUndefinedSymbol(llvm::GlobalValue *dcl);
|
||||
/// addPotentialUndefinedSymbol - Add a symbol which isn't defined just yet
|
||||
/// to a list to be resolved later.
|
||||
void addPotentialUndefinedSymbol(llvm::GlobalValue *dcl);
|
||||
|
||||
/// addDefinedSymbol - Add a defined symbol to the list.
|
||||
void addDefinedSymbol(llvm::GlobalValue *def,
|
||||
bool isFunction);
|
||||
/// addDefinedSymbol - Add a defined symbol to the list.
|
||||
void addDefinedSymbol(llvm::GlobalValue *def, bool isFunction);
|
||||
|
||||
/// addDefinedFunctionSymbol - Add a function symbol as defined to the list.
|
||||
void addDefinedFunctionSymbol(llvm::Function *f);
|
||||
/// addDefinedFunctionSymbol - Add a function symbol as defined to the list.
|
||||
void addDefinedFunctionSymbol(llvm::Function *f);
|
||||
|
||||
/// addDefinedDataSymbol - Add a data symbol as defined to the list.
|
||||
void addDefinedDataSymbol(llvm::GlobalValue *v);
|
||||
/// addDefinedDataSymbol - Add a data symbol as defined to the list.
|
||||
void addDefinedDataSymbol(llvm::GlobalValue *v);
|
||||
|
||||
/// addAsmGlobalSymbols - Add global symbols from module-level ASM to the
|
||||
/// defined or undefined lists.
|
||||
bool addAsmGlobalSymbols(std::string &errMsg);
|
||||
/// addAsmGlobalSymbols - Add global symbols from module-level ASM to the
|
||||
/// defined or undefined lists.
|
||||
bool addAsmGlobalSymbols(std::string &errMsg);
|
||||
|
||||
/// addAsmGlobalSymbol - Add a global symbol from module-level ASM to the
|
||||
/// defined list.
|
||||
void addAsmGlobalSymbol(const char *,
|
||||
lto_symbol_attributes scope);
|
||||
/// addAsmGlobalSymbol - Add a global symbol from module-level ASM to the
|
||||
/// defined list.
|
||||
void addAsmGlobalSymbol(const char *, lto_symbol_attributes scope);
|
||||
|
||||
/// addAsmGlobalSymbolUndef - Add a global symbol from module-level ASM to
|
||||
/// the undefined list.
|
||||
void addAsmGlobalSymbolUndef(const char *);
|
||||
/// addAsmGlobalSymbolUndef - Add a global symbol from module-level ASM to
|
||||
/// the undefined list.
|
||||
void addAsmGlobalSymbolUndef(const char *);
|
||||
|
||||
/// addObjCClass - Parse i386/ppc ObjC class data structure.
|
||||
void addObjCClass(llvm::GlobalVariable *clgv);
|
||||
/// addObjCClass - Parse i386/ppc ObjC class data structure.
|
||||
void addObjCClass(llvm::GlobalVariable *clgv);
|
||||
|
||||
/// addObjCCategory - Parse i386/ppc ObjC category data structure.
|
||||
void addObjCCategory(llvm::GlobalVariable *clgv);
|
||||
/// addObjCCategory - Parse i386/ppc ObjC category data structure.
|
||||
void addObjCCategory(llvm::GlobalVariable *clgv);
|
||||
|
||||
/// addObjCClassRef - Parse i386/ppc ObjC class list data structure.
|
||||
void addObjCClassRef(llvm::GlobalVariable *clgv);
|
||||
/// addObjCClassRef - Parse i386/ppc ObjC class list data structure.
|
||||
void addObjCClassRef(llvm::GlobalVariable *clgv);
|
||||
|
||||
/// objcClassNameFromExpression - Get string that the data pointer points
|
||||
/// to.
|
||||
bool objcClassNameFromExpression(llvm::Constant* c,
|
||||
std::string &name);
|
||||
/// objcClassNameFromExpression - Get string that the data pointer points
|
||||
/// to.
|
||||
bool objcClassNameFromExpression(llvm::Constant* c, std::string &name);
|
||||
|
||||
/// isTargetMatch - Returns 'true' if the memory buffer is for the specified
|
||||
/// target triple.
|
||||
static bool isTargetMatch(llvm::MemoryBuffer *memBuffer,
|
||||
const char *triplePrefix);
|
||||
/// isTargetMatch - Returns 'true' if the memory buffer is for the specified
|
||||
/// target triple.
|
||||
static bool isTargetMatch(llvm::MemoryBuffer *memBuffer,
|
||||
const char *triplePrefix);
|
||||
|
||||
/// makeLTOModule - Create an LTOModule (private version). N.B. This
|
||||
/// method takes ownership of the buffer.
|
||||
static LTOModule* makeLTOModule(llvm::MemoryBuffer *buffer,
|
||||
std::string &errMsg);
|
||||
/// makeLTOModule - Create an LTOModule (private version). N.B. This
|
||||
/// method takes ownership of the buffer.
|
||||
static LTOModule *makeLTOModule(llvm::MemoryBuffer *buffer,
|
||||
std::string &errMsg);
|
||||
|
||||
/// makeBuffer - Create a MemoryBuffer from a memory range.
|
||||
static llvm::MemoryBuffer *makeBuffer(const void *mem, size_t length);
|
||||
/// makeBuffer - Create a MemoryBuffer from a memory range.
|
||||
static llvm::MemoryBuffer *makeBuffer(const void *mem, size_t length);
|
||||
};
|
||||
|
||||
#endif // LTO_MODULE_H
|
||||
|
Loading…
Reference in New Issue
Block a user