aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/IPO/MergeFunctions.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Transforms/IPO/MergeFunctions.cpp b/lib/Transforms/IPO/MergeFunctions.cpp
index 563ed7db76..6737b34b87 100644
--- a/lib/Transforms/IPO/MergeFunctions.cpp
+++ b/lib/Transforms/IPO/MergeFunctions.cpp
@@ -80,8 +80,8 @@ ModulePass *llvm::createMergeFunctionsPass() {
return new MergeFunctions();
}
-static unsigned hash(const Function *F) {
- return F->size() ^ reinterpret_cast<unsigned>(F->getType());
+static unsigned long hash(const Function *F) {
+ return F->size() ^ reinterpret_cast<unsigned long>(F->getType());
//return F->size() ^ F->arg_size() ^ F->getReturnType();
}
@@ -304,7 +304,7 @@ static bool hasAddressTaken(User *U) {
bool MergeFunctions::runOnModule(Module &M) {
bool Changed = false;
- std::map<unsigned, std::vector<Function *> > FnMap;
+ std::map<unsigned long, std::vector<Function *> > FnMap;
for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F) {
if (F->isDeclaration() || F->isIntrinsic())
@@ -326,8 +326,8 @@ bool MergeFunctions::runOnModule(Module &M) {
bool LocalChanged;
do {
LocalChanged = false;
- for (std::map<unsigned, std::vector<Function *> >::iterator I = FnMap.begin(),
- E = FnMap.end(); I != E; ++I) {
+ for (std::map<unsigned long, std::vector<Function *> >::iterator
+ I = FnMap.begin(), E = FnMap.end(); I != E; ++I) {
DOUT << "size: " << FnMap.size() << "\n";
std::vector<Function *> &FnVec = I->second;
DOUT << "hash (" << I->first << "): " << FnVec.size() << "\n";