summaryrefslogtreecommitdiff
path: root/tools/lto
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-11-04 18:48:00 +0000
committerBill Wendling <isanbard@gmail.com>2011-11-04 18:48:00 +0000
commit931d4c204390752b30d4459264f8786de95b36d8 (patch)
treecbec86606dc26ed05a02412e2241b9d6f7434607 /tools/lto
parent84a61269370138b68ae2bcd6711a9ae8004fd77a (diff)
downloadllvm-931d4c204390752b30d4459264f8786de95b36d8.tar.gz
llvm-931d4c204390752b30d4459264f8786de95b36d8.tar.bz2
llvm-931d4c204390752b30d4459264f8786de95b36d8.tar.xz
Reformatting changes to get rid of blank lines, put code on one line, and to
decrease some code indentation. No intended functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143723 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto')
-rw-r--r--tools/lto/LTOModule.cpp124
1 files changed, 58 insertions, 66 deletions
diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp
index 8aea405983..8ea680d53c 100644
--- a/tools/lto/LTOModule.cpp
+++ b/tools/lto/LTOModule.cpp
@@ -61,7 +61,6 @@ bool LTOModule::isBitcodeFileForTarget(const void *mem, size_t length,
return isTargetMatch(buffer, triplePrefix);
}
-
bool LTOModule::isBitcodeFileForTarget(const char *path,
const char *triplePrefix) {
OwningPtr<MemoryBuffer> buffer;
@@ -74,8 +73,7 @@ bool LTOModule::isBitcodeFileForTarget(const char *path,
bool LTOModule::isTargetMatch(MemoryBuffer *buffer, const char *triplePrefix) {
std::string Triple = getBitcodeTargetTriple(buffer, getGlobalContext());
delete buffer;
- return (strncmp(Triple.c_str(), triplePrefix,
- strlen(triplePrefix)) == 0);
+ return strncmp(Triple.c_str(), triplePrefix, strlen(triplePrefix)) == 0;
}
@@ -97,8 +95,7 @@ LTOModule *LTOModule::makeLTOModule(const char *path,
}
LTOModule *LTOModule::makeLTOModule(int fd, const char *path,
- size_t size,
- std::string &errMsg) {
+ size_t size, std::string &errMsg) {
return makeLTOModule(fd, path, size, size, 0, errMsg);
}
@@ -122,7 +119,6 @@ MemoryBuffer *LTOModule::makeBuffer(const void *mem, size_t length) {
return MemoryBuffer::getMemBuffer(StringRef(startPtr, length), "", false);
}
-
LTOModule *LTOModule::makeLTOModule(const void *mem, size_t length,
std::string &errMsg) {
OwningPtr<MemoryBuffer> buffer(makeBuffer(mem, length));
@@ -165,15 +161,14 @@ LTOModule *LTOModule::makeLTOModule(MemoryBuffer *buffer,
std::string CPU;
TargetMachine *target = march->createTargetMachine(Triple, CPU, FeatureStr);
LTOModule *Ret = new LTOModule(m.take(), target);
- bool Err = Ret->ParseSymbols(errMsg);
- if (Err) {
+ if (Ret->ParseSymbols(errMsg)) {
delete Ret;
return NULL;
}
+
return Ret;
}
-
const char *LTOModule::getTargetTriple() {
return _module->getTargetTriple().c_str();
}
@@ -206,77 +201,78 @@ bool LTOModule::objcClassNameFromExpression(Constant *c, std::string &name) {
// Parse i386/ppc ObjC class data structure.
void LTOModule::addObjCClass(GlobalVariable *clgv) {
- if (ConstantStruct *c = dyn_cast<ConstantStruct>(clgv->getInitializer())) {
- // second slot in __OBJC,__class is pointer to superclass name
- std::string superclassName;
- if (objcClassNameFromExpression(c->getOperand(1), superclassName)) {
- NameAndAttributes info;
- StringMap<NameAndAttributes>::value_type &entry =
- _undefines.GetOrCreateValue(superclassName);
- if (!entry.getValue().name) {
- const char *symbolName = entry.getKey().data();
- info.name = symbolName;
- info.attributes = LTO_SYMBOL_DEFINITION_UNDEFINED;
- entry.setValue(info);
- }
- }
- // third slot in __OBJC,__class is pointer to class name
- std::string className;
- if (objcClassNameFromExpression(c->getOperand(2), className)) {
- StringSet::value_type &entry =
- _defines.GetOrCreateValue(className);
- entry.setValue(1);
- NameAndAttributes info;
- info.name = entry.getKey().data();
- info.attributes = (lto_symbol_attributes)
- (LTO_SYMBOL_PERMISSIONS_DATA |
- LTO_SYMBOL_DEFINITION_REGULAR |
- LTO_SYMBOL_SCOPE_DEFAULT);
- _symbols.push_back(info);
+ ConstantStruct *c = dyn_cast<ConstantStruct>(clgv->getInitializer());
+ if (!c) return;
+
+ // second slot in __OBJC,__class is pointer to superclass name
+ std::string superclassName;
+ if (objcClassNameFromExpression(c->getOperand(1), superclassName)) {
+ NameAndAttributes info;
+ StringMap<NameAndAttributes>::value_type &entry =
+ _undefines.GetOrCreateValue(superclassName);
+ if (!entry.getValue().name) {
+ const char *symbolName = entry.getKey().data();
+ info.name = symbolName;
+ info.attributes = LTO_SYMBOL_DEFINITION_UNDEFINED;
+ entry.setValue(info);
}
}
+
+ // third slot in __OBJC,__class is pointer to class name
+ std::string className;
+ if (objcClassNameFromExpression(c->getOperand(2), className)) {
+ StringSet::value_type &entry = _defines.GetOrCreateValue(className);
+ entry.setValue(1);
+ NameAndAttributes info;
+ info.name = entry.getKey().data();
+ info.attributes = lto_symbol_attributes(LTO_SYMBOL_PERMISSIONS_DATA |
+ LTO_SYMBOL_DEFINITION_REGULAR |
+ LTO_SYMBOL_SCOPE_DEFAULT);
+ _symbols.push_back(info);
+ }
}
// Parse i386/ppc ObjC category data structure.
void LTOModule::addObjCCategory(GlobalVariable *clgv) {
- if (ConstantStruct *c = dyn_cast<ConstantStruct>(clgv->getInitializer())) {
- // second slot in __OBJC,__category is pointer to target class name
- std::string targetclassName;
- if (objcClassNameFromExpression(c->getOperand(1), targetclassName)) {
- NameAndAttributes info;
+ ConstantStruct *c = dyn_cast<ConstantStruct>(clgv->getInitializer());
+ if (!c) return;
- StringMap<NameAndAttributes>::value_type &entry =
- _undefines.GetOrCreateValue(targetclassName);
+ // second slot in __OBJC,__category is pointer to target class name
+ std::string targetclassName;
+ if (!objcClassNameFromExpression(c->getOperand(1), targetclassName))
+ return;
- if (entry.getValue().name)
- return;
+ NameAndAttributes info;
+ StringMap<NameAndAttributes>::value_type &entry =
+ _undefines.GetOrCreateValue(targetclassName);
- const char *symbolName = entry.getKey().data();
- info.name = symbolName;
- info.attributes = LTO_SYMBOL_DEFINITION_UNDEFINED;
- entry.setValue(info);
- }
- }
+ if (entry.getValue().name)
+ return;
+
+ const char *symbolName = entry.getKey().data();
+ info.name = symbolName;
+ info.attributes = LTO_SYMBOL_DEFINITION_UNDEFINED;
+ entry.setValue(info);
}
// Parse i386/ppc ObjC class list data structure.
void LTOModule::addObjCClassRef(GlobalVariable *clgv) {
std::string targetclassName;
- if (objcClassNameFromExpression(clgv->getInitializer(), targetclassName)) {
- NameAndAttributes info;
+ if (!objcClassNameFromExpression(clgv->getInitializer(), targetclassName))
+ return;
- StringMap<NameAndAttributes>::value_type &entry =
- _undefines.GetOrCreateValue(targetclassName);
- if (entry.getValue().name)
- return;
+ NameAndAttributes info;
+ StringMap<NameAndAttributes>::value_type &entry =
+ _undefines.GetOrCreateValue(targetclassName);
+ if (entry.getValue().name)
+ return;
- const char *symbolName = entry.getKey().data();
- info.name = symbolName;
- info.attributes = LTO_SYMBOL_DEFINITION_UNDEFINED;
- entry.setValue(info);
- }
+ const char *symbolName = entry.getKey().data();
+ info.name = symbolName;
+ info.attributes = LTO_SYMBOL_DEFINITION_UNDEFINED;
+ entry.setValue(info);
}
@@ -327,7 +323,6 @@ void LTOModule::addDefinedDataSymbol(GlobalValue *v) {
}
}
-
void LTOModule::addDefinedSymbol(GlobalValue *def, bool isFunction) {
// ignore all llvm.* symbols
if (def->getName().startswith("llvm."))
@@ -455,7 +450,6 @@ void LTOModule::addPotentialUndefinedSymbol(GlobalValue *decl) {
entry.setValue(info);
}
-
namespace {
class RecordStreamer : public MCStreamer {
public:
@@ -711,12 +705,10 @@ bool LTOModule::ParseSymbols(std::string &errMsg) {
return false;
}
-
uint32_t LTOModule::getSymbolCount() {
return _symbols.size();
}
-
lto_symbol_attributes LTOModule::getSymbolAttributes(uint32_t index) {
if (index < _symbols.size())
return _symbols[index].attributes;