[polly] r309368 - [GPGPU] Do not require the Scop::Context to have information about all parameters

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 27 23:49:44 PDT 2017


Author: grosser
Date: Thu Jul 27 23:49:44 2017
New Revision: 309368

URL: http://llvm.org/viewvc/llvm-project?rev=309368&view=rev
Log:
[GPGPU] Do not require the Scop::Context to have information about all parameters

Added:
    polly/trunk/test/GPGPU/ignore-parameter-bounds.ll
Modified:
    polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp

Modified: polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp?rev=309368&r1=309367&r2=309368&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp (original)
+++ polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp Thu Jul 27 23:49:44 2017
@@ -2424,10 +2424,9 @@ public:
         S->getIslCtx(),
         S->getNumParams() + std::distance(S->array_begin(), S->array_end()));
     auto *Zero = isl_ast_expr_from_val(isl_val_zero(S->getIslCtx()));
-    auto *Space = S->getParamSpace();
 
-    for (int I = 0, E = S->getNumParams(); I < E; ++I) {
-      isl_id *Id = isl_space_get_dim_id(Space, isl_dim_param, I);
+    for (const SCEV *P : S->parameters()) {
+      isl_id *Id = S->getIdForParam(P);
       Names = isl_id_to_ast_expr_set(Names, Id, isl_ast_expr_copy(Zero));
     }
 
@@ -2436,7 +2435,6 @@ public:
       Names = isl_id_to_ast_expr_set(Names, Id, isl_ast_expr_copy(Zero));
     }
 
-    isl_space_free(Space);
     isl_ast_expr_free(Zero);
 
     return Names;

Added: polly/trunk/test/GPGPU/ignore-parameter-bounds.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/GPGPU/ignore-parameter-bounds.ll?rev=309368&view=auto
==============================================================================
--- polly/trunk/test/GPGPU/ignore-parameter-bounds.ll (added)
+++ polly/trunk/test/GPGPU/ignore-parameter-bounds.ll Thu Jul 27 23:49:44 2017
@@ -0,0 +1,41 @@
+; RUN: opt %loadPolly -polly-codegen-ppcg -polly-acc-dump-code \
+; RUN: -disable-output < %s | \
+; RUN: FileCheck -check-prefix=CODE %s
+
+; REQUIRES: pollyacc
+
+; CODE: Code
+; CODE: ====
+; CODE: No code generated
+
+source_filename = "bugpoint-output-83bcdeb.bc"
+target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
+target triple = "x86_64-unknown-linux-gnu"
+
+ at __data_radiation_MOD_cobi = external global [168 x double], align 32
+
+; Function Attrs: nounwind uwtable
+define void @__radiation_rg_MOD_coe_so() #0 {
+entry:
+  %polly.access.kspec.load = load i32, i32* undef, align 4
+  %0 = or i1 undef, undef
+  br label %polly.preload.cond29
+
+polly.preload.cond29:                             ; preds = %entry
+  br i1 %0, label %polly.preload.exec31, label %polly.preload.merge30
+
+polly.preload.merge30:                            ; preds = %polly.preload.exec31, %polly.preload.cond29
+  %polly.preload..merge32 = phi double [ %polly.access.__data_radiation_MOD_cobi.load, %polly.preload.exec31 ], [ 0.000000e+00, %polly.preload.cond29 ]
+  ret void
+
+polly.preload.exec31:                             ; preds = %polly.preload.cond29
+  %1 = sext i32 %polly.access.kspec.load to i64
+  %2 = mul nsw i64 7, %1
+  %3 = add nsw i64 0, %2
+  %4 = add nsw i64 %3, 48
+  %polly.access.__data_radiation_MOD_cobi = getelementptr double, double* getelementptr inbounds ([168 x double], [168 x double]* @__data_radiation_MOD_cobi, i32 0, i32 0), i64 %4
+  %polly.access.__data_radiation_MOD_cobi.load = load double, double* %polly.access.__data_radiation_MOD_cobi, align 8
+  br label %polly.preload.merge30
+}
+
+attributes #0 = { nounwind uwtable }




More information about the llvm-commits mailing list