diff options
| author | Michael Kruse <llvm@meinersbur.de> | 2017-08-23 12:45:25 +0000 |
|---|---|---|
| committer | Michael Kruse <llvm@meinersbur.de> | 2017-08-23 12:45:25 +0000 |
| commit | 3044dc51cff4d51d8a837ded87434baad00f9f8a (patch) | |
| tree | 9137a2f9bd915e28f93ef0708afb9c1f04d64936 /polly/lib/CodeGen/PPCGCodeGeneration.cpp | |
| parent | 594386e7739430973ea941f3b35ca661cdbb58fe (diff) | |
[PPCGCodeGen] Fix compiler warning: '<': signed/unsigned mismatch. NFC.
MSVC warns about comparison between a signed and unsigned integer.
The rules of C(++) define that an unsigned comparison has to be
carried-out in this case. This is unlikely to be intended.
Fix by assigning the loop's upper bound to a signed integer first.
This also avoids repeated evaluation of the invariant upper bound.
llvm-svn: 311548
Diffstat (limited to 'polly/lib/CodeGen/PPCGCodeGeneration.cpp')
| -rw-r--r-- | polly/lib/CodeGen/PPCGCodeGeneration.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/polly/lib/CodeGen/PPCGCodeGeneration.cpp b/polly/lib/CodeGen/PPCGCodeGeneration.cpp index 28fa9e6b553c..41e1c9ecd0f9 100644 --- a/polly/lib/CodeGen/PPCGCodeGeneration.cpp +++ b/polly/lib/CodeGen/PPCGCodeGeneration.cpp @@ -1131,7 +1131,7 @@ Value *GPUNodeBuilder::getArrayOffset(gpu_array_info *Array) { isl::set ZeroSet = isl::set::universe(Min.get_space()); - for (long i = 0; i < Min.dim(isl::dim::set); i++) + for (long i = 0, n = Min.dim(isl::dim::set); i < n; i++) ZeroSet = ZeroSet.fix_si(isl::dim::set, i, 0); if (Min.is_subset(ZeroSet)) { @@ -1140,7 +1140,7 @@ Value *GPUNodeBuilder::getArrayOffset(gpu_array_info *Array) { isl::ast_expr Result = isl::ast_expr::from_val(isl::val(Min.get_ctx(), 0)); - for (long i = 0; i < Min.dim(isl::dim::set); i++) { + for (long i = 0, n = Min.dim(isl::dim::set); i < n; i++) { if (i > 0) { isl::pw_aff Bound_I = isl::manage(isl_multi_pw_aff_get_pw_aff(Array->bound, i - 1)); @@ -1473,7 +1473,7 @@ GPUNodeBuilder::getReferencesInKernel(ppcg_kernel *Kernel) { SubtreeValues.remove(SAI->getBasePtr()); isl_space *Space = S.getParamSpace().release(); - for (long i = 0; i < isl_space_dim(Space, isl_dim_param); i++) { + for (long i = 0, n = isl_space_dim(Space, isl_dim_param); i < n; i++) { isl_id *Id = isl_space_get_dim_id(Space, isl_dim_param, i); assert(IDToValue.count(Id)); Value *Val = IDToValue[Id]; @@ -1482,7 +1482,7 @@ GPUNodeBuilder::getReferencesInKernel(ppcg_kernel *Kernel) { } isl_space_free(Space); - for (long i = 0; i < isl_space_dim(Kernel->space, isl_dim_set); i++) { + for (long i = 0, n = isl_space_dim(Kernel->space, isl_dim_set); i < n; i++) { isl_id *Id = isl_space_get_dim_id(Kernel->space, isl_dim_set, i); assert(IDToValue.count(Id)); Value *Val = IDToValue[Id]; @@ -1991,7 +1991,7 @@ GPUNodeBuilder::createKernelFunctionDecl(ppcg_kernel *Kernel, isl_ast_build *Build = isl_ast_build_from_context(isl_set_copy(Prog->context)); Sizes.push_back(nullptr); - for (long j = 1; j < Kernel->array[i].array->n_index; j++) { + for (long j = 1, n = Kernel->array[i].array->n_index; j < n; j++) { isl_ast_expr *DimSize = isl_ast_build_expr_from_pw_aff( Build, isl_multi_pw_aff_get_pw_aff(Kernel->array[i].array->bound, j)); auto V = ExprBuilder.create(DimSize); @@ -3246,7 +3246,7 @@ public: auto *Univ = isl_set_universe(Space); isl_pw_aff *OneAff = isl_pw_aff_val_on_domain(Univ, One); - for (long i = 0; i < isl_set_dim(Set, isl_dim_set); i++) { + for (long i = 0, n = isl_set_dim(Set, isl_dim_set); i < n; i++) { isl_pw_aff *Max = isl_set_dim_max(isl_set_copy(Set), i); isl_pw_aff *Min = isl_set_dim_min(isl_set_copy(Set), i); isl_pw_aff *DimSize = isl_pw_aff_sub(Max, Min); |
