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

Unified Diff: lib/Transforms/NaCl/ExpandI64.cpp

Issue 1151093004: Changes from 3.7 merge to files not in upstream (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Created 5 years, 7 months 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 side-by-side diff with in-line comments
Download patch
Index: lib/Transforms/NaCl/ExpandI64.cpp
diff --git a/lib/Transforms/NaCl/ExpandI64.cpp b/lib/Transforms/NaCl/ExpandI64.cpp
index de8393342878d1f4a72af5ba949814ceecbb82de..63ed955cb4cc38aaec9af608c117bfaf4d1cd579 100644
--- a/lib/Transforms/NaCl/ExpandI64.cpp
+++ b/lib/Transforms/NaCl/ExpandI64.cpp
@@ -38,7 +38,7 @@
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
-#include "llvm/Target/TargetLibraryInfo.h"
+#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Transforms/NaCl.h"
#include "llvm/Transforms/Utils/Local.h"
#include <map>
@@ -116,7 +116,6 @@ namespace {
}
virtual bool runOnModule(Module &M);
- virtual void getAnalysisUsage(AnalysisUsage &AU) const;
};
}
@@ -334,7 +333,7 @@ bool ExpandI64::splitInst(Instruction *I) {
NewOps.push_back(Op);
}
}
- Value *NewGEP = CopyDebug(GetElementPtrInst::Create(GEP->getPointerOperand(), NewOps, "", GEP), GEP);
+ Value *NewGEP = CopyDebug(GetElementPtrInst::Create(GEP->getPointerOperand()->getType(), GEP->getPointerOperand(), NewOps, "", GEP), GEP);
Chunks.push_back(NewGEP);
I->replaceAllUsesWith(NewGEP);
break;
@@ -602,7 +601,7 @@ bool ExpandI64::splitInst(Instruction *I) {
}
// Or the parts together. Since we may have zero, try to fold it away.
- if (Value *V = SimplifyBinOp(Instruction::Or, L, H, DL)) {
+ if (Value *V = SimplifyBinOp(Instruction::Or, L, H, *DL)) {
Chunks.push_back(V);
} else {
Chunks.push_back(CopyDebug(BinaryOperator::Create(Instruction::Or, L, H, "", I), I));
@@ -725,7 +724,7 @@ bool ExpandI64::splitInst(Instruction *I) {
// If there's a constant operand, it's likely enough that one of the
// chunks will be a trivial operation, so it's worth calling
// SimplifyBinOp here.
- if (Value *V = SimplifyBinOp(BO->getOpcode(), LeftChunks[i], RightChunks[i], DL)) {
+ if (Value *V = SimplifyBinOp(BO->getOpcode(), LeftChunks[i], RightChunks[i], *DL)) {
Chunks.push_back(V);
} else {
Chunks.push_back(CopyDebug(BinaryOperator::Create(BO->getOpcode(), LeftChunks[i], RightChunks[i], "", BO), BO));
@@ -955,7 +954,7 @@ ChunksVec ExpandI64::getChunks(Value *V, bool AllowUnreachable) {
Constant *NewC = ConstantExpr::getTrunc(ConstantExpr::getLShr(C, Count), i32);
TargetLibraryInfo *TLI = 0; // TODO
if (ConstantExpr *NewCE = dyn_cast<ConstantExpr>(NewC)) {
- if (Constant *FoldedC = ConstantFoldConstantExpression(NewCE, DL, TLI)) {
+ if (Constant *FoldedC = ConstantFoldConstantExpression(NewCE, *DL, TLI)) {
NewC = FoldedC;
}
}
@@ -1069,7 +1068,7 @@ void ExpandI64::ensureFuncs() {
bool ExpandI64::runOnModule(Module &M) {
TheModule = &M;
- DL = &getAnalysis<DataLayoutPass>().getDataLayout();
+ DL = &M.getDataLayout();
Splits.clear();
Changed = false;
@@ -1157,11 +1156,6 @@ bool ExpandI64::runOnModule(Module &M) {
return Changed;
}
-void ExpandI64::getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
- ModulePass::getAnalysisUsage(AU);
-}
-
ModulePass *llvm::createExpandI64Pass() {
return new ExpandI64();
}

Powered by Google App Engine
This is Rietveld 408576698