summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-10-07 20:15:56 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-10-07 20:15:56 +0000
commit521dd5842f8d8d2e1b96dc16d0af1dcb333e806c (patch)
tree3f95f4546e3375cfb5ed9c7924c9ec9660f2e45e /polly/lib/CodeGen
parent512011c3f03785eb60b65afe53dd06d935b40483 (diff)
downloadbcm5719-llvm-521dd5842f8d8d2e1b96dc16d0af1dcb333e806c.tar.gz
bcm5719-llvm-521dd5842f8d8d2e1b96dc16d0af1dcb333e806c.zip
Move the ValueMapT declaration out of BlockGenerator
Value maps are created and used in many places and it is not always possible to include CodeGen/Blockgenerators.h. To this end, ValueMapT now lives in the ScopHelper.h which does not have any dependences itself. This patch also replaces uses of different other value map types with the ValueMapT. llvm-svn: 249606
Diffstat (limited to 'polly/lib/CodeGen')
-rw-r--r--polly/lib/CodeGen/IslNodeBuilder.cpp9
-rw-r--r--polly/lib/CodeGen/LoopGenerators.cpp8
2 files changed, 7 insertions, 10 deletions
diff --git a/polly/lib/CodeGen/IslNodeBuilder.cpp b/polly/lib/CodeGen/IslNodeBuilder.cpp
index a660328190e..910a3bee3cb 100644
--- a/polly/lib/CodeGen/IslNodeBuilder.cpp
+++ b/polly/lib/CodeGen/IslNodeBuilder.cpp
@@ -175,7 +175,7 @@ struct SubtreeReferences {
LoopInfo &LI;
ScalarEvolution &SE;
Region &R;
- polly::BlockGenerator::ValueMapT &GlobalMap;
+ ValueMapT &GlobalMap;
SetVector<Value *> &Values;
SetVector<const SCEV *> &SCEVs;
BlockGenerator &BlockGen;
@@ -311,8 +311,7 @@ void IslNodeBuilder::getReferencesInSubtree(__isl_keep isl_ast_node *For,
});
}
-void IslNodeBuilder::updateValues(
- ParallelLoopGenerator::ValueToValueMapTy &NewValues) {
+void IslNodeBuilder::updateValues(ValueMapT &NewValues) {
SmallPtrSet<Value *, 5> Inserted;
for (const auto &I : IDToValue) {
@@ -592,7 +591,7 @@ void IslNodeBuilder::createForParallel(__isl_take isl_ast_node *For) {
SubtreeValues.insert(V);
}
- ParallelLoopGenerator::ValueToValueMapTy NewValues;
+ ValueMapT NewValues;
ParallelLoopGenerator ParallelLoopGen(Builder, P, LI, DT, DL);
IV = ParallelLoopGen.createParallelLoop(ValueLB, ValueUB, ValueInc,
@@ -607,7 +606,7 @@ void IslNodeBuilder::createForParallel(__isl_take isl_ast_node *For) {
updateValues(NewValues);
IDToValue[IteratorID] = IV;
- ParallelLoopGenerator::ValueToValueMapTy NewValuesReverse;
+ ValueMapT NewValuesReverse;
for (auto P : NewValues)
NewValuesReverse[P.second] = P.first;
diff --git a/polly/lib/CodeGen/LoopGenerators.cpp b/polly/lib/CodeGen/LoopGenerators.cpp
index 4cc7a6c3f9e..74f19a8cffa 100644
--- a/polly/lib/CodeGen/LoopGenerators.cpp
+++ b/polly/lib/CodeGen/LoopGenerators.cpp
@@ -146,7 +146,7 @@ Value *polly::createLoop(Value *LB, Value *UB, Value *Stride,
Value *ParallelLoopGenerator::createParallelLoop(
Value *LB, Value *UB, Value *Stride, SetVector<Value *> &UsedValues,
- ValueToValueMapTy &Map, BasicBlock::iterator *LoopBody) {
+ ValueMapT &Map, BasicBlock::iterator *LoopBody) {
Function *SubFn;
AllocaInst *Struct = storeValuesIntoStruct(UsedValues);
@@ -305,8 +305,7 @@ ParallelLoopGenerator::storeValuesIntoStruct(SetVector<Value *> &Values) {
}
void ParallelLoopGenerator::extractValuesFromStruct(
- SetVector<Value *> OldValues, Type *Ty, Value *Struct,
- ValueToValueMapTy &Map) {
+ SetVector<Value *> OldValues, Type *Ty, Value *Struct, ValueMapT &Map) {
for (unsigned i = 0; i < OldValues.size(); i++) {
Value *Address = Builder.CreateStructGEP(Ty, Struct, i);
Value *NewValue = Builder.CreateLoad(Address);
@@ -317,8 +316,7 @@ void ParallelLoopGenerator::extractValuesFromStruct(
Value *ParallelLoopGenerator::createSubFn(Value *Stride, AllocaInst *StructData,
SetVector<Value *> Data,
- ValueToValueMapTy &Map,
- Function **SubFnPtr) {
+ ValueMapT &Map, Function **SubFnPtr) {
BasicBlock *PrevBB, *HeaderBB, *ExitBB, *CheckNextBB, *PreHeaderBB, *AfterBB;
Value *LBPtr, *UBPtr, *UserContext, *Ret1, *HasNextSchedule, *LB, *UB, *IV;
Function *SubFn = createSubFnDefinition();
OpenPOWER on IntegriCloud