[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