summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2015-09-28 16:46:38 +0000
committerTobias Grosser <tobias@grosser.es>2015-09-28 16:46:38 +0000
commit95e59aaa54a121aa31d7499c856f09df04c969d2 (patch)
tree04868d668b36852063226d22e2624d71441eb731
parent05a17aa82ae9285f60c8aa4e0d8c2974c89d25cb (diff)
downloadbcm5719-llvm-95e59aaa54a121aa31d7499c856f09df04c969d2.tar.gz
bcm5719-llvm-95e59aaa54a121aa31d7499c856f09df04c969d2.zip
OpenMP: Name addresses in subfunction structure
While debugging, this makes it easier to understand due to which memory reference these stores have been introduced. llvm-svn: 248717
-rw-r--r--polly/lib/CodeGen/LoopGenerators.cpp1
-rw-r--r--polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll4
2 files changed, 3 insertions, 2 deletions
diff --git a/polly/lib/CodeGen/LoopGenerators.cpp b/polly/lib/CodeGen/LoopGenerators.cpp
index 16964b32d0c..4cc7a6c3f9e 100644
--- a/polly/lib/CodeGen/LoopGenerators.cpp
+++ b/polly/lib/CodeGen/LoopGenerators.cpp
@@ -297,6 +297,7 @@ ParallelLoopGenerator::storeValuesIntoStruct(SetVector<Value *> &Values) {
for (unsigned i = 0; i < Values.size(); i++) {
Value *Address = Builder.CreateStructGEP(Ty, Struct, i);
+ Address->setName("polly.subfn.storeaddr." + Values[i]->getName());
Builder.CreateStore(Values[i], Address);
}
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
index af564d00514..80e5261975e 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
@@ -17,8 +17,8 @@
; IR-LABEL: polly.parallel.for:
; IR-NEXT: %0 = bitcast { float* }* %polly.par.userContext to i8*
; IR-NEXT: call void @llvm.lifetime.start(i64 8, i8* %0)
-; IR-NEXT: %1 = getelementptr inbounds { float* }, { float* }* %polly.par.userContext, i32 0, i32 0
-; IR-NEXT: store float* %A, float** %1
+; IR-NEXT: %polly.subfn.storeaddr.A = getelementptr inbounds { float* }, { float* }* %polly.par.userContext, i32 0, i32 0
+; IR-NEXT: store float* %A, float** %polly.subfn.storeaddr.A
; IR-NEXT: %polly.par.userContext1 = bitcast { float* }* %polly.par.userContext to i8*
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
OpenPOWER on IntegriCloud