From d0468496a6ad5f6bbe8e69e49e431f42623da6f8 Mon Sep 17 00:00:00 2001 From: Michael Kruse Date: Mon, 3 Nov 2025 23:34:50 +0100 Subject: [PATCH 1/5] [Polly] Introduce PhaseManager and remove LPM support (#125442) Instead of relying on any pass manager to schedule Polly's passes, add Polly's own pipeline manager which is seen as a monolithic pass in LLVM's pass manager. Polly's former passes are now phases of the new PhaseManager component. Relying on LLVM's pass manager (the legacy as well as the New Pass Manager) to manage Polly's phases never was a good fit that the PhaseManager resolves: * Polly passes were modifying analysis results, in particular RegionInfo and ScopInfo. This means that there was not just one unique and "definite" analysis result, the actual result depended on which analyses ran prior, and the pass manager was not allowed to throw away cached analyses or prior SCoP optimizations would have been forgotten. The LLVM pass manger's persistance of analysis results is not contractual but designed for caching. * Polly depends on a particular execution order of passes and regions (e.g. regression tests, invalidation of consecutive SCoPs). LLVM's pass manager does not guarantee any excecution order. * Polly does not completely preserve DominatorTree, RegionInfo, LoopInfo, or ScalarEvolution, but only as-needed for Polly's own uses. Because the ScopDetection object stores references to those analyses, it still had to lie to the pass manager that they would be preserved, or the pass manager would have released and recomputed the invalidated analysis objects that ScopDetection/ScopInfo was still referencing. To ensure that no non-Polly pass would see these not-completely-preserved analyses, all analyses still had to be thrown away after the ScopPassManager, respectively with a BarrierNoopPass in case of the LPM. * The NPM's PassInstrumentation wraps the IR unit into an `llvm::Any` object, but implementations such as PrintIRInstrumentation call llvm_unreachable on encountering an unknown IR unit, such as SCoPs, with no extension points to add support. Hence LLVM crashes when dumping IR between SCoP passes (such as `-print-before-changed` with Polly being active). The new PhaseManager uses some command line options that previously belonged to Polly's legacy passes, such as `-polly-print-detect` (so the option will continue to work). Hence the LPM support is incompatible with the new approach and support for it is removed. --- polly/docs/ReleaseNotes.rst | 4 + polly/include/polly/Canonicalization.h | 8 - polly/include/polly/CodeGen/CodeGeneration.h | 3 + polly/include/polly/CodeGen/IslAst.h | 36 +- polly/include/polly/CodePreparation.h | 6 + polly/include/polly/DeLICM.h | 11 +- polly/include/polly/DeadCodeElimination.h | 13 +- polly/include/polly/DependenceInfo.h | 106 +---- polly/include/polly/FlattenSchedule.h | 16 +- polly/include/polly/ForwardOpTree.h | 20 +- polly/include/polly/JSONExporter.h | 13 +- polly/include/polly/LinkAllPasses.h | 156 ------- polly/include/polly/MaximalStaticExpansion.h | 2 + polly/include/polly/Pass/PhaseManager.h | 127 ++++++ polly/include/polly/Pass/PollyFunctionPass.h | 32 ++ polly/include/polly/Pass/PollyModulePass.h | 30 ++ polly/include/polly/PruneUnprofitable.h | 12 +- polly/include/polly/RegisterPasses.h | 2 - polly/include/polly/ScheduleOptimizer.h | 16 +- polly/include/polly/ScopDetection.h | 27 -- polly/include/polly/ScopGraphPrinter.h | 3 + polly/include/polly/ScopInfo.h | 76 ---- polly/include/polly/ScopInliner.h | 6 - polly/include/polly/ScopPass.h | 28 -- polly/include/polly/Simplify.h | 23 +- .../include/polly/Support/DumpFunctionPass.h | 12 - polly/include/polly/Support/DumpModulePass.h | 15 +- polly/include/polly/Support/ScopHelper.h | 8 - polly/lib/Analysis/DependenceInfo.cpp | 220 +-------- polly/lib/Analysis/PruneUnprofitable.cpp | 32 +- polly/lib/Analysis/ScopBuilder.cpp | 1 + polly/lib/Analysis/ScopDetection.cpp | 107 ----- polly/lib/Analysis/ScopGraphPrinter.cpp | 120 +---- polly/lib/Analysis/ScopInfo.cpp | 228 ---------- polly/lib/Analysis/ScopPass.cpp | 36 -- polly/lib/CMakeLists.txt | 3 + polly/lib/CodeGen/CodeGeneration.cpp | 72 +-- polly/lib/CodeGen/IslAst.cpp | 101 +---- polly/lib/Exchange/JSONExporter.cpp | 160 +------ polly/lib/Pass/PhaseManager.cpp | 424 ++++++++++++++++++ polly/lib/Pass/PollyFunctionPass.cpp | 22 + polly/lib/Pass/PollyModulePass.cpp | 29 ++ polly/lib/Support/DumpFunctionPass.cpp | 41 -- polly/lib/Support/DumpModulePass.cpp | 47 -- polly/lib/Support/PollyPasses.def | 25 +- polly/lib/Support/RegisterPasses.cpp | 401 +++++++++++------ polly/lib/Support/ScopHelper.cpp | 12 - polly/lib/Transform/Canonicalization.cpp | 65 --- polly/lib/Transform/CodePreparation.cpp | 69 --- polly/lib/Transform/DeLICM.cpp | 125 ++---- polly/lib/Transform/DeadCodeElimination.cpp | 44 +- polly/lib/Transform/FlattenSchedule.cpp | 139 ++---- polly/lib/Transform/ForwardOpTree.cpp | 131 ++---- .../lib/Transform/MaximalStaticExpansion.cpp | 81 +--- polly/lib/Transform/ScheduleOptimizer.cpp | 152 +------ polly/lib/Transform/ScopInliner.cpp | 46 -- polly/lib/Transform/Simplify.cpp | 101 +---- polly/test/CodeGen/20100617.ll | 2 +- polly/test/CodeGen/20100622.ll | 4 +- polly/test/CodeGen/20100707.ll | 2 +- polly/test/CodeGen/20100707_2.ll | 2 +- polly/test/CodeGen/20100708.ll | 2 +- polly/test/CodeGen/20100708_2.ll | 2 +- polly/test/CodeGen/20100713.ll | 2 +- polly/test/CodeGen/20100713_2.ll | 2 +- polly/test/CodeGen/20100717.ll | 2 +- polly/test/CodeGen/20100718-DomInfo-2.ll | 2 +- polly/test/CodeGen/20100718-DomInfo.ll | 2 +- .../CodeGen/20100720-MultipleConditions.ll | 2 +- .../test/CodeGen/20100809-IndependentBlock.ll | 2 +- ...0100811-ScalarDependencyBetweenBrAndCnd.ll | 2 +- polly/test/CodeGen/20101030-Overflow.ll | 2 +- polly/test/CodeGen/20101103-Overflow3.ll | 2 +- polly/test/CodeGen/20101103-signmissmatch.ll | 2 +- .../test/CodeGen/20110226-Ignore-Dead-Code.ll | 2 +- .../test/CodeGen/20110226-PHI-Node-removed.ll | 2 +- polly/test/CodeGen/20120316-InvalidCast.ll | 2 +- .../CodeGen/20120403-RHS-type-mismatch.ll | 2 +- polly/test/CodeGen/20130221.ll | 2 +- .../20150328-SCEVExpanderIntroducesNewIV.ll | 2 +- polly/test/CodeGen/Intrinsics/llvm-expect.ll | 2 +- .../do_not_mutate_debug_info.ll | 2 +- .../loop_nest_param_parallel.ll | 2 +- .../single_loop_param_parallel.ll | 4 +- polly/test/CodeGen/MemAccess/bad_alignment.ll | 2 +- .../MemAccess/codegen_address_space.ll | 2 +- .../MemAccess/codegen_constant_offset.ll | 2 +- .../test/CodeGen/MemAccess/codegen_simple.ll | 2 +- .../CodeGen/MemAccess/codegen_simple_float.ll | 2 +- .../CodeGen/MemAccess/codegen_simple_md.ll | 4 +- .../MemAccess/codegen_simple_md_float.ll | 4 +- polly/test/CodeGen/MemAccess/create_arrays.ll | 4 +- .../CodeGen/MemAccess/create_arrays_heap.ll | 4 +- .../default_aligned_new_access_function.ll | 2 +- .../test/CodeGen/MemAccess/different_types.ll | 4 +- polly/test/CodeGen/MemAccess/generate-all.ll | 6 +- .../CodeGen/MemAccess/invariant_base_ptr.ll | 4 +- .../CodeGen/MemAccess/map_scalar_access.ll | 4 +- .../test/CodeGen/MemAccess/multiple_types.ll | 4 +- polly/test/CodeGen/MemAccess/simple.ll | 2 +- .../test/CodeGen/MemAccess/simple_analyze.ll | 2 +- .../MemAccess/update_access_functions.ll | 4 +- .../CodeGen/Metadata/basic_vec_annotate.ll | 2 +- polly/test/CodeGen/OpenMP/alias-metadata.ll | 2 +- .../floord-as-argument-to-subfunction.ll | 2 +- polly/test/CodeGen/OpenMP/inlineasm.ll | 2 +- .../invariant_base_pointer_preloaded.ll | 3 +- ...ant_base_pointer_preloaded_different_bb.ll | 3 +- ...base_pointer_preloaded_pass_only_needed.ll | 3 +- .../invariant_base_pointers_preloaded.ll | 3 +- .../OpenMP/loop-body-references-outer-iv.ll | 4 +- .../loop-body-references-outer-values-2.ll | 4 +- .../loop-body-references-outer-values-3.ll | 4 +- .../loop-body-references-outer-values.ll | 4 +- .../OpenMP/loop-bounds-reference-outer-ids.ll | 4 +- .../test/CodeGen/OpenMP/mapped-phi-access.ll | 2 +- polly/test/CodeGen/OpenMP/matmul-parallel.ll | 4 +- .../CodeGen/OpenMP/new_multidim_access.ll | 8 +- polly/test/CodeGen/OpenMP/recomputed-srem.ll | 3 +- ...ference-argument-from-non-affine-region.ll | 19 +- .../test/CodeGen/OpenMP/reference-other-bb.ll | 2 +- .../OpenMP/reference-preceeding-loop.ll | 4 +- polly/test/CodeGen/OpenMP/reference_latest.ll | 2 +- polly/test/CodeGen/OpenMP/scev-rewriting.ll | 2 +- polly/test/CodeGen/OpenMP/single_loop.ll | 18 +- ...single_loop_with_loop_invariant_baseptr.ll | 4 +- .../CodeGen/OpenMP/single_loop_with_param.ll | 16 +- ...o-parallel-loops-reference-outer-indvar.ll | 4 +- polly/test/CodeGen/PHIInExit.ll | 2 +- .../combine_different_values.ll | 4 +- .../RuntimeDebugBuilder/stmt_tracing.ll | 2 +- polly/test/CodeGen/alias-check-multi-dim.ll | 3 +- .../CodeGen/alias_metadata_too_many_arrays.ll | 3 +- ...aliasing_different_base_and_access_type.ll | 2 +- .../aliasing_different_pointer_types.ll | 2 +- .../aliasing_multidimensional_access.ll | 2 +- .../CodeGen/aliasing_parametric_simple_1.ll | 2 +- .../CodeGen/aliasing_parametric_simple_2.ll | 2 +- polly/test/CodeGen/aliasing_struct_element.ll | 2 +- polly/test/CodeGen/alignment.ll | 2 +- polly/test/CodeGen/annotated_alias_scopes.ll | 2 +- polly/test/CodeGen/blas_sscal_simplified.ll | 2 +- ...code-hosting-and-escape-map-computation.ll | 2 +- polly/test/CodeGen/constant_condition.ll | 2 +- polly/test/CodeGen/create-conditional-scop.ll | 2 +- ...d_instruction_referenced_by_parameter_1.ll | 2 +- ...d_instruction_referenced_by_parameter_2.ll | 2 +- polly/test/CodeGen/debug-intrinsics.ll | 8 +- ...nce_problem_after_early_codegen_bailout.ll | 2 +- polly/test/CodeGen/empty_domain_in_context.ll | 2 +- polly/test/CodeGen/entry_with_trivial_phi.ll | 2 +- .../entry_with_trivial_phi_other_bb.ll | 2 +- .../error-stmt-in-non-affine-region.ll | 2 +- ...or_block_contains_invalid_memory_access.ll | 2 +- polly/test/CodeGen/exprModDiv.ll | 7 +- .../hoisted_load_escapes_through_phi.ll | 6 +- polly/test/CodeGen/hoisting_1.ll | 2 +- polly/test/CodeGen/hoisting_2.ll | 2 +- polly/test/CodeGen/inner_scev_sdiv_1.ll | 2 +- polly/test/CodeGen/inner_scev_sdiv_2.ll | 2 +- polly/test/CodeGen/inner_scev_sdiv_3.ll | 2 +- polly/test/CodeGen/inner_scev_sdiv_in_lb.ll | 4 +- .../inner_scev_sdiv_in_lb_invariant.ll | 3 +- polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll | 3 +- polly/test/CodeGen/intrinsics_lifetime.ll | 2 +- polly/test/CodeGen/intrinsics_misc.ll | 2 +- .../inv-load-lnt-crash-wrong-order-2.ll | 3 +- .../inv-load-lnt-crash-wrong-order-3.ll | 3 +- .../CodeGen/inv-load-lnt-crash-wrong-order.ll | 3 +- .../test/CodeGen/invariant-load-dimension.ll | 4 +- ...-load-preload-base-pointer-origin-first.ll | 2 +- .../CodeGen/invariant_cannot_handle_void.ll | 4 +- polly/test/CodeGen/invariant_load.ll | 2 +- .../CodeGen/invariant_load_address_space.ll | 2 +- .../CodeGen/invariant_load_alias_metadata.ll | 3 +- .../CodeGen/invariant_load_base_pointer.ll | 2 +- ...invariant_load_base_pointer_conditional.ll | 2 +- ...variant_load_base_pointer_conditional_2.ll | 6 +- ...ariant_load_canonicalize_array_baseptrs.ll | 4 +- .../test/CodeGen/invariant_load_condition.ll | 2 +- .../invariant_load_different_sized_types.ll | 3 +- polly/test/CodeGen/invariant_load_escaping.ll | 2 +- .../invariant_load_escaping_second_scop.ll | 2 +- .../invariant_load_in_non_affine_subregion.ll | 2 +- polly/test/CodeGen/invariant_load_loop_ub.ll | 2 +- ...ant_load_not_executed_but_in_parameters.ll | 2 +- .../test/CodeGen/invariant_load_outermost.ll | 2 +- ...riant_load_parameters_cyclic_dependence.ll | 4 +- .../CodeGen/invariant_load_ptr_ptr_noalias.ll | 2 +- .../test/CodeGen/invariant_load_scalar_dep.ll | 2 +- ...riant_load_scalar_escape_alloca_sharing.ll | 2 +- ...oads_from_struct_with_different_types_1.ll | 2 +- ...oads_from_struct_with_different_types_2.ll | 2 +- ...invariant_loads_ignore_parameter_bounds.ll | 3 +- .../invariant_verify_function_failed.ll | 2 +- .../invariant_verify_function_failed_2.ll | 4 +- polly/test/CodeGen/issue56692.ll | 2 +- .../large-numbers-in-boundary-context.ll | 2 +- .../test/CodeGen/load_subset_with_context.ll | 2 +- .../loop-invariant-load-type-mismatch.ll | 2 +- polly/test/CodeGen/loop_with_condition.ll | 2 +- polly/test/CodeGen/loop_with_condition_2.ll | 2 +- .../test/CodeGen/loop_with_condition_ineq.ll | 2 +- .../CodeGen/loop_with_condition_nested.ll | 4 +- ..._conditional_entry_edge_split_hard_case.ll | 2 +- polly/test/CodeGen/memcpy_annotations.ll | 2 +- .../multidim-non-matching-typesize-2.ll | 3 +- .../CodeGen/multidim-non-matching-typesize.ll | 3 +- ..._2d_parametric_array_static_loop_bounds.ll | 2 +- polly/test/CodeGen/multidim_alias_check.ll | 2 +- polly/test/CodeGen/multiple-codegens.ll | 4 +- polly/test/CodeGen/multiple-scops-in-a-row.ll | 2 +- .../multiple-types-invariant-load-2.ll | 3 +- .../CodeGen/multiple-types-invariant-load.ll | 3 +- .../multiple_sai_fro_same_base_address.ll | 4 +- polly/test/CodeGen/no-overflow-tracking.ll | 4 +- polly/test/CodeGen/no_guard_bb.ll | 2 +- ...non-affine-dominance-generated-entering.ll | 2 +- .../CodeGen/non-affine-exit-node-dominance.ll | 2 +- .../non-affine-phi-node-expansion-2.ll | 3 +- .../non-affine-phi-node-expansion-3.ll | 3 +- .../non-affine-phi-node-expansion-4.ll | 3 +- .../CodeGen/non-affine-phi-node-expansion.ll | 3 +- ...e-region-exit-phi-incoming-synthesize-2.ll | 2 +- ...ine-region-exit-phi-incoming-synthesize.ll | 2 +- .../non-affine-region-implicit-store.ll | 2 +- ...ine-region-phi-references-in-scop-value.ll | 3 +- .../non-affine-subregion-dominance-reuse.ll | 3 +- polly/test/CodeGen/non-affine-switch.ll | 3 +- .../non-affine-synthesized-in-branch.ll | 2 +- polly/test/CodeGen/non-affine-update.ll | 3 +- .../non-hoisted-load-needed-as-base-ptr.ll | 2 +- .../test/CodeGen/non_affine_float_compare.ll | 4 +- .../CodeGen/only_non_affine_error_region.ll | 2 +- polly/test/CodeGen/openmp_limit_threads.ll | 12 +- .../test/CodeGen/out-of-scop-phi-node-use.ll | 2 +- polly/test/CodeGen/param_div_div_div_2.ll | 4 +- polly/test/CodeGen/partial_write_array.ll | 2 +- polly/test/CodeGen/partial_write_emptyset.ll | 2 +- ...l_write_full_write_that_appears_partial.ll | 2 +- .../partial_write_impossible_restriction.ll | 2 +- polly/test/CodeGen/partial_write_in_region.ll | 5 +- .../partial_write_in_region_with_loop.ll | 5 +- .../CodeGen/partial_write_mapped_scalar.ll | 2 +- .../partial_write_mapped_scalar_subregion.ll | 2 +- polly/test/CodeGen/perf_monitoring.ll | 3 +- .../perf_monitoring_cycles_per_scop.ll | 3 +- .../perf_monitoring_trip_counts_per_scop.ll | 3 +- polly/test/CodeGen/phi-defined-before-scop.ll | 2 +- .../phi_after_error_block_outside_of_scop.ll | 2 +- .../test/CodeGen/phi_condition_modeling_1.ll | 2 +- .../test/CodeGen/phi_condition_modeling_2.ll | 2 +- .../test/CodeGen/phi_conditional_simple_1.ll | 4 +- .../phi_in_exit_early_lnt_failure_1.ll | 2 +- .../phi_in_exit_early_lnt_failure_2.ll | 2 +- .../phi_in_exit_early_lnt_failure_3.ll | 2 +- .../phi_in_exit_early_lnt_failure_5.ll | 2 +- polly/test/CodeGen/phi_loop_carried_float.ll | 2 +- .../CodeGen/phi_loop_carried_float_escape.ll | 6 +- polly/test/CodeGen/phi_scalar_simple_1.ll | 2 +- polly/test/CodeGen/phi_scalar_simple_2.ll | 2 +- .../CodeGen/phi_with_multi_exiting_edges_2.ll | 2 +- polly/test/CodeGen/phi_with_one_exit_edge.ll | 2 +- .../CodeGen/pointer-type-expressions-2.ll | 4 +- .../test/CodeGen/pointer-type-expressions.ll | 4 +- .../pointer-type-pointer-type-comparison.ll | 4 +- polly/test/CodeGen/pointer_rem.ll | 4 +- polly/test/CodeGen/pr25241.ll | 2 +- polly/test/CodeGen/ptrtoint_as_parameter.ll | 2 +- polly/test/CodeGen/read-only-scalars.ll | 8 +- polly/test/CodeGen/reduction.ll | 2 +- polly/test/CodeGen/reduction_2.ll | 2 +- polly/test/CodeGen/reduction_simple_binary.ll | 2 +- polly/test/CodeGen/reggen_domtree_crash.ll | 2 +- .../test/CodeGen/region-with-instructions.ll | 2 +- polly/test/CodeGen/region_exiting-domtree.ll | 2 +- .../CodeGen/region_multiexit_partialwrite.ll | 2 +- ...run-time-condition-with-scev-parameters.ll | 4 +- polly/test/CodeGen/run-time-condition.ll | 2 +- .../scalar-references-used-in-scop-compute.ll | 2 +- .../test/CodeGen/scalar-store-from-same-bb.ll | 3 +- polly/test/CodeGen/scalar_codegen_crash.ll | 3 +- polly/test/CodeGen/scev-backedgetaken.ll | 2 +- .../CodeGen/scev-division-invariant-load.ll | 2 +- polly/test/CodeGen/scev.ll | 2 +- .../CodeGen/scev_expansion_in_nonaffine.ll | 3 +- .../CodeGen/scev_looking_through_bitcasts.ll | 2 +- .../CodeGen/scop_expander_insert_point.ll | 3 +- polly/test/CodeGen/scop_expander_segfault.ll | 2 +- ...p_never_executed_runtime_check_location.ll | 2 +- polly/test/CodeGen/select-base-pointer.ll | 2 +- polly/test/CodeGen/sequential_loops.ll | 2 +- .../CodeGen/simple_loop_non_single_exit.ll | 2 +- .../CodeGen/simple_loop_non_single_exit_2.ll | 2 +- polly/test/CodeGen/simple_non_single_entry.ll | 2 +- polly/test/CodeGen/simple_nonaffine_loop.ll | 2 +- .../single_do_loop_int_max_iterations.ll | 2 +- .../single_do_loop_int_param_iterations.ll | 2 +- .../single_do_loop_ll_max_iterations.ll | 4 +- .../CodeGen/single_do_loop_one_iteration.ll | 2 +- .../CodeGen/single_do_loop_scev_replace.ll | 2 +- polly/test/CodeGen/single_loop.ll | 2 +- .../CodeGen/single_loop_int_max_iterations.ll | 2 +- .../CodeGen/single_loop_ll_max_iterations.ll | 2 +- .../test/CodeGen/single_loop_one_iteration.ll | 2 +- polly/test/CodeGen/single_loop_param.ll | 2 +- .../CodeGen/single_loop_param_less_equal.ll | 6 +- .../CodeGen/single_loop_param_less_than.ll | 4 +- .../CodeGen/single_loop_zero_iterations.ll | 2 +- polly/test/CodeGen/split_edge_of_exit.ll | 4 +- polly/test/CodeGen/split_edges.ll | 2 +- polly/test/CodeGen/split_edges_2.ll | 2 +- polly/test/CodeGen/srem-in-other-bb.ll | 3 +- .../stack-overflow-in-load-hoisting.ll | 3 +- .../test/CodeGen/stmt_split_no_dependence.ll | 2 +- .../CodeGen/switch-in-non-affine-region.ll | 3 +- .../synthesizable_phi_write_after_loop.ll | 2 +- .../test-invalid-operands-for-select-2.ll | 2 +- .../test-invalid-operands-for-select.ll | 2 +- polly/test/CodeGen/test.ll | 2 +- .../two-loops-right-after-each-other-2.ll | 2 +- .../two-scops-in-row-invalidate-scevs.ll | 2 +- polly/test/CodeGen/two-scops-in-row.ll | 4 +- polly/test/CodeGen/udiv_expansion_position.ll | 2 +- .../CodeGen/uninitialized_scalar_memory.ll | 2 +- .../unpredictable-loop-unsynthesizable.ll | 6 +- .../test/CodeGen/variant_load_empty_domain.ll | 2 +- .../whole-scop-non-affine-subregion.ll | 3 +- polly/test/DeLICM/confused_order.ll | 4 +- ...ontradicting_assumed_context_and_domain.ll | 2 +- polly/test/DeLICM/load-in-cond-inf-loop.ll | 2 +- polly/test/DeLICM/map_memset_zero.ll | 4 +- polly/test/DeLICM/nomap_alreadymapped.ll | 2 +- polly/test/DeLICM/nomap_escaping.ll | 2 +- polly/test/DeLICM/nomap_occupied.ll | 2 +- polly/test/DeLICM/nomap_readonly.ll | 2 +- polly/test/DeLICM/nomap_spuriouswrite.ll | 2 +- polly/test/DeLICM/nomap_storagesize.ll | 2 +- polly/test/DeLICM/nomap_writewrite.ll | 2 +- polly/test/DeLICM/outofquota-reverseDomain.ll | 2 +- polly/test/DeLICM/pass_existence.ll | 6 +- polly/test/DeLICM/pr41656.ll | 2 +- polly/test/DeLICM/pr48783.ll | 2 +- polly/test/DeLICM/reduction.ll | 2 +- .../DeLICM/reduction_constant_selfconflict.ll | 2 +- polly/test/DeLICM/reduction_looprotate.ll | 2 +- .../reduction_looprotate_alwaystaken.ll | 2 +- .../DeLICM/reduction_looprotate_gvnpre.ll | 4 +- .../reduction_looprotate_gvnpre_cond1.ll | 2 +- .../reduction_looprotate_gvnpre_cond2.ll | 2 +- ...reduction_looprotate_gvnpre_nopreheader.ll | 2 +- .../DeLICM/reduction_looprotate_hoisted.ll | 2 +- .../test/DeLICM/reduction_looprotate_licm.ll | 2 +- .../test/DeLICM/reduction_looprotate_licm2.ll | 2 +- .../reduction_looprotate_licm_double_write.ll | 5 +- .../reduction_looprotate_licm_nopreheader.ll | 2 +- .../test/DeLICM/reduction_looprotate_load.ll | 2 +- .../reduction_looprotate_loopguard_gvnpre.ll | 2 +- .../reduction_looprotate_loopguard_licm1.ll | 2 +- .../reduction_looprotate_loopguard_licm2.ll | 2 +- .../reduction_looprotate_loopguard_licm3.ll | 2 +- .../DeLICM/reduction_looprotate_readonly.ll | 2 +- .../reduction_looprotate_synthesizable.ll | 2 +- .../test/DeLICM/reduction_looprotate_undef.ll | 2 +- .../test/DeLICM/reduction_overapproximate.ll | 6 +- polly/test/DeLICM/reduction_preheader.ll | 2 +- .../test/DeLICM/reduction_unrelatedunusual.ll | 2 +- polly/test/DeLICM/reject_loadafterstore.ll | 2 +- polly/test/DeLICM/reject_outofquota.ll | 4 +- polly/test/DeLICM/reject_storeafterstore.ll | 2 +- polly/test/DeLICM/reject_storeinsubregion.ll | 2 +- polly/test/DeLICM/reject_unusualstore.ll | 4 +- polly/test/DeLICM/skip_maywrite.ll | 2 +- polly/test/DeLICM/skip_multiaccess.ll | 2 +- polly/test/DeLICM/skip_notinloop.ll | 2 +- polly/test/DeLICM/skip_scalaraccess.ll | 2 +- .../DeadCodeElimination/chained_iterations.ll | 4 +- .../chained_iterations_2.ll | 4 +- polly/test/DeadCodeElimination/computeout.ll | 4 +- .../dead_iteration_elimination.ll | 2 +- .../non-affine-affine-mix.ll | 2 +- polly/test/DeadCodeElimination/non-affine.ll | 2 +- .../test/DeadCodeElimination/null_schedule.ll | 2 +- polly/test/DependenceInfo/computeout.ll | 4 +- .../different_schedule_dimensions.ll | 3 +- polly/test/DependenceInfo/do_pluto_matmult.ll | 4 +- polly/test/DependenceInfo/fine_grain_dep_0.ll | 4 +- .../generate_may_write_dependence_info.ll | 2 +- .../test/DependenceInfo/infeasible_context.ll | 6 +- ...writes_do_not_block_must_writes_for_war.ll | 2 +- .../nonaffine-condition-buildMemoryAccess.ll | 2 +- .../reduction_complex_location.ll | 6 +- ...ndences_equal_non_reduction_dependences.ll | 2 +- .../reduction_dependences_not_null.ll | 2 +- .../reduction_indirect_access.ll | 2 +- ...reduction_and_non_reduction_dependences.ll | 2 +- .../reduction_multiple_loops_array_sum.ll | 6 +- .../reduction_multiple_loops_array_sum_2.ll | 2 +- .../reduction_multiple_loops_array_sum_3.ll | 2 +- .../reduction_multiple_reductions.ll | 2 +- .../reduction_multiple_reductions_2.ll | 2 +- .../reduction_only_reduction_like_access.ll | 2 +- ...lly_escaping_intermediate_in_other_stmt.ll | 2 +- .../reduction_privatization_deps.ll | 2 +- .../reduction_privatization_deps_2.ll | 2 +- .../reduction_privatization_deps_3.ll | 2 +- .../reduction_privatization_deps_4.ll | 2 +- .../reduction_privatization_deps_5.ll | 2 +- .../test/DependenceInfo/reduction_sequence.ll | 2 +- .../DependenceInfo/reduction_simple_iv.ll | 2 +- ...ion_simple_iv_debug_wrapped_dependences.ll | 2 +- .../reduction_simple_privatization_deps_2.ll | 2 +- ...n_simple_privatization_deps_w_parameter.ll | 2 +- ...duction_two_reductions_different_rloops.ll | 2 +- polly/test/DependenceInfo/sequential_loops.ll | 6 +- polly/test/FlattenSchedule/gemm.ll | 2 +- polly/test/ForwardOpTree/atax.ll | 2 +- polly/test/ForwardOpTree/changed-kind.ll | 2 +- .../test/ForwardOpTree/forward_from_region.ll | 2 +- polly/test/ForwardOpTree/forward_hoisted.ll | 2 +- .../test/ForwardOpTree/forward_instruction.ll | 2 +- .../test/ForwardOpTree/forward_into_region.ll | 2 +- .../forward_into_region_redundant_use.ll | 2 +- polly/test/ForwardOpTree/forward_load.ll | 2 +- .../forward_load_differentarray.ll | 2 +- .../forward_load_double_write.ll | 2 +- .../ForwardOpTree/forward_load_fromloop.ll | 2 +- .../ForwardOpTree/forward_load_indirect.ll | 2 +- .../forward_load_memset_after.ll | 2 +- .../forward_load_memset_before.ll | 2 +- .../ForwardOpTree/forward_load_tripleuse.ll | 2 +- .../forward_load_unrelatedunusual.ll | 2 +- polly/test/ForwardOpTree/forward_phi_load.ll | 2 +- polly/test/ForwardOpTree/forward_readonly.ll | 4 +- polly/test/ForwardOpTree/forward_reusue.ll | 2 +- polly/test/ForwardOpTree/forward_store.ll | 2 +- .../forward_synthesizable_definloop.ll | 2 +- .../forward_synthesizable_indvar.ll | 2 +- .../forward_synthesizable_useinloop.ll | 2 +- .../test/ForwardOpTree/forward_transitive.ll | 2 +- polly/test/ForwardOpTree/jacobi-1d.ll | 2 +- .../ForwardOpTree/noforward_from_region.ll | 2 +- .../noforward_load_conditional.ll | 2 +- .../noforward_load_writebetween.ll | 2 +- .../ForwardOpTree/noforward_outofquota.ll | 4 +- polly/test/ForwardOpTree/noforward_partial.ll | 2 +- polly/test/ForwardOpTree/noforward_phi.ll | 2 +- .../ForwardOpTree/noforward_selfrefphi.ll | 2 +- .../ForwardOpTree/noforward_sideffects.ll | 2 +- .../noforward_synthesizable_unknownit.ll | 2 +- polly/test/ForwardOpTree/out-of-quota1.ll | 2 +- .../OpenMP/multiple_loops_outer_parallel.ll | 2 +- .../OpenMP/nested_loop_both_parallel.ll | 2 +- .../nested_loop_both_parallel_parametric.ll | 2 +- .../OpenMP/nested_loop_inner_parallel.ll | 2 +- .../OpenMP/nested_loop_outer_parallel.ll | 2 +- .../OpenMP/single_loop_param_non_parallel.ll | 2 +- .../OpenMP/single_loop_param_parallel.ll | 2 +- .../single_loop_param_parallel_computeout.ll | 2 +- .../alias_checks_with_empty_context.ll | 3 +- polly/test/IstAstInfo/alias_simple_1.ll | 10 +- polly/test/IstAstInfo/alias_simple_2.ll | 12 +- polly/test/IstAstInfo/alias_simple_3.ll | 10 +- .../aliasing_arrays_with_identical_base.ll | 4 +- .../aliasing_multiple_alias_groups.ll | 4 +- .../aliasing_parametric_simple_1.ll | 2 +- .../aliasing_parametric_simple_2.ll | 2 +- .../dependence_distance_constant.ll | 2 +- .../IstAstInfo/dependence_distance_minimal.ll | 2 +- .../dependence_distance_multiple_constant.ll | 2 +- .../dependence_distance_parametric.ll | 2 +- .../dependence_distance_parametric_expr.ll | 2 +- .../IstAstInfo/dependence_distance_varying.ll | 2 +- ...pendence_distance_varying_in_outer_loop.ll | 2 +- .../dependence_distance_varying_multiple.ll | 2 +- .../domain_bounded_only_with_context.ll | 2 +- polly/test/IstAstInfo/non_affine_access.ll | 2 +- ...duction_clauses_multidimensional_access.ll | 2 +- ...reduction_clauses_onedimensional_access.ll | 2 +- ...ndences_equal_non_reduction_dependences.ll | 2 +- .../reduction_different_reduction_clauses.ll | 2 +- .../IstAstInfo/reduction_in_one_dimension.ll | 2 +- .../IstAstInfo/reduction_loop_reversal.ll | 2 +- ...ction_modulo_and_loop_reversal_schedule.ll | 2 +- ...ion_modulo_and_loop_reversal_schedule_2.ll | 2 +- .../IstAstInfo/reduction_modulo_schedule.ll | 2 +- ...ion_modulo_schedule_multiple_dimensions.ll | 2 +- ...n_modulo_schedule_multiple_dimensions_2.ll | 2 +- ...n_modulo_schedule_multiple_dimensions_3.ll | 2 +- ...n_modulo_schedule_multiple_dimensions_4.ll | 2 +- ...n_modulo_schedule_multiple_dimensions_5.ll | 2 +- .../reduction_multiple_dimensions.ll | 2 +- .../reduction_multiple_dimensions_2.ll | 2 +- .../reduction_multiple_dimensions_3.ll | 2 +- .../reduction_multiple_dimensions_4.ll | 2 +- polly/test/IstAstInfo/run-time-condition.ll | 2 +- .../runtime_context_with_error_blocks.ll | 2 +- .../IstAstInfo/simple-run-time-condition.ll | 2 +- .../test/IstAstInfo/single_loop_strip_mine.ll | 4 +- .../single_loop_uint_max_iterations.ll | 2 +- .../single_loop_ull_max_iterations.ll | 2 +- .../ImportAccesses-Bad-relation.ll | 2 +- .../ImportAccesses-No-accesses-key.ll | 2 +- .../ImportAccesses-Not-enough-MemAcc.ll | 2 +- .../ImportAccesses-Not-enough-statements.ll | 2 +- .../ImportAccesses-Relation-mispelled.ll | 2 +- .../ImportAccesses-Statements-mispelled.ll | 2 +- ...ImportAccesses-Undeclared-ScopArrayInfo.ll | 2 +- .../ImportAccesses-Wrong-number-dimensions.ll | 2 +- .../ImportArrays-Mispelled-type.ll | 2 +- .../ImportArrays-Negative-size.ll | 2 +- .../ImportArrays/ImportArrays-No-name.ll | 2 +- .../ImportArrays/ImportArrays-No-sizes-key.ll | 2 +- .../ImportArrays/ImportArrays-No-type-key.ll | 2 +- .../ImportContext-Context-mispelled.ll | 2 +- .../ImportContext-Not-parameter-set.ll | 2 +- .../ImportContext-Unvalid-Context.ll | 2 +- .../ImportContext-Wrong-dimension.ll | 2 +- .../ImportSchedule-No-schedule-key.ll | 2 +- .../ImportSchedule-Schedule-not-valid.ll | 2 +- .../ImportSchedule-Statements-mispelled.ll | 2 +- .../ImportSchedule-Wrong-number-statements.ll | 2 +- .../load_after_store_same_statement.ll | 4 +- .../read_from_original.ll | 4 +- .../MaximalStaticExpansion/too_many_writes.ll | 4 +- .../working_deps_between_inners.ll | 2 +- .../working_deps_between_inners_phi.ll | 4 +- .../working_expansion.ll | 2 +- ...sion_multiple_dependences_per_statement.ll | 2 +- ...sion_multiple_instruction_per_statement.ll | 2 +- .../working_phi_expansion.ll | 4 +- .../working_phi_two_scalars.ll | 4 +- .../working_value_expansion.ll | 2 +- .../prune_only_scalardeps.ll | 2 +- .../2012-03-16-Empty-Domain.ll | 2 +- .../2013-04-11-Empty-Domain-two.ll | 2 +- .../GreedyFuse/fuse-double.ll | 4 +- .../GreedyFuse/fuse-except-first.ll | 4 +- .../GreedyFuse/fuse-except-third.ll | 4 +- .../GreedyFuse/fuse-inner-carried.ll | 4 +- .../GreedyFuse/fuse-inner-third.ll | 4 +- .../GreedyFuse/fuse-inner.ll | 4 +- .../GreedyFuse/fuse-simple.ll | 4 +- .../GreedyFuse/nofuse-simple.ll | 4 +- .../GreedyFuse/nofuse-with-middle.ll | 4 +- .../ManualOptimization/disable_nonforced.ll | 2 +- .../distribute_heuristic.ll | 4 +- .../distribute_illegal_looploc.ll | 2 +- .../distribute_illegal_pragmaloc.ll | 2 +- .../ManualOptimization/unroll_disable.ll | 2 +- .../ManualOptimization/unroll_double.ll | 2 +- .../ManualOptimization/unroll_full.ll | 2 +- .../ManualOptimization/unroll_heuristic.ll | 4 +- .../ManualOptimization/unroll_partial.ll | 4 +- .../unroll_partial_followup.ll | 8 +- .../ScheduleOptimizer/SIMDInParallelFor.ll | 2 +- polly/test/ScheduleOptimizer/computeout.ll | 4 +- .../ensure-correct-tile-sizes.ll | 7 +- .../focaltech_test_detail_threshold-7bc17e.ll | 2 +- .../full_partial_tile_separation.ll | 2 +- polly/test/ScheduleOptimizer/line-tiling-2.ll | 2 +- polly/test/ScheduleOptimizer/line-tiling.ll | 2 +- .../mat_mul_pattern_data_layout.ll | 11 +- .../mat_mul_pattern_data_layout_2.ll | 10 +- .../ScheduleOptimizer/one-dimensional-band.ll | 2 +- .../ScheduleOptimizer/outer_coincidence.ll | 4 +- ...attern-matching-based-opts-after-delicm.ll | 6 +- ...tern-matching-based-opts-after-delicm_2.ll | 4 +- .../pattern-matching-based-opts.ll | 9 +- .../pattern-matching-based-opts_11.ll | 14 +- .../pattern-matching-based-opts_12.ll | 10 +- .../pattern-matching-based-opts_13.ll | 10 +- .../pattern-matching-based-opts_14.ll | 11 +- .../pattern-matching-based-opts_15.ll | 4 +- .../pattern-matching-based-opts_16.ll | 3 +- .../pattern-matching-based-opts_17.ll | 3 +- .../pattern-matching-based-opts_18.ll | 3 +- .../pattern-matching-based-opts_19.ll | 3 +- .../pattern-matching-based-opts_2.ll | 3 +- .../pattern-matching-based-opts_20.ll | 3 +- .../pattern-matching-based-opts_21.ll | 3 +- .../pattern-matching-based-opts_22.ll | 3 +- .../pattern-matching-based-opts_24.ll | 4 +- .../pattern-matching-based-opts_25.ll | 3 +- .../pattern-matching-based-opts_3.ll | 17 +- .../pattern-matching-based-opts_4.ll | 12 +- .../pattern-matching-based-opts_5.ll | 10 +- .../pattern-matching-based-opts_6.ll | 10 +- .../pattern-matching-based-opts_7.ll | 10 +- .../pattern-matching-based-opts_8.ll | 10 +- .../pattern-matching-based-opts_9.ll | 12 +- .../pattern_matching_based_opts_splitmap.ll | 2 +- .../prevectorization-without-tiling.ll | 2 +- .../ScheduleOptimizer/prevectorization.ll | 4 +- .../prevectorization_islbound.ll | 2 +- .../ScheduleOptimizer/rectangular-tiling.ll | 8 +- .../ScheduleOptimizer/schedule_computeout.ll | 2 +- polly/test/ScheduleOptimizer/statistics.ll | 2 +- .../ScheduleOptimizer/tile_after_fusion.ll | 2 +- ...vivid_vbi_gen_sliced-before-llvmreduced.ll | 2 +- .../aliasing_parametric_simple_1.ll | 2 +- .../aliasing_parametric_simple_2.ll | 2 +- polly/test/ScopDetect/aliasing_simple_1.ll | 2 +- polly/test/ScopDetect/aliasing_simple_2.ll | 2 +- polly/test/ScopDetect/base_pointer.ll | 2 +- .../base_pointer_load_setNewAccessRelation.ll | 2 +- .../base_pointer_setNewAccessRelation.ll | 4 +- polly/test/ScopDetect/callbr.ll | 4 +- .../ScopDetect/collective_invariant_loads.ll | 2 +- .../ScopDetect/cross_loop_non_single_exit.ll | 2 +- .../cross_loop_non_single_exit_2.ll | 2 +- ...ependency_to_phi_node_outside_of_region.ll | 2 +- .../test/ScopDetect/detect-full-functions.ll | 2 +- polly/test/ScopDetect/dom-tree-crash.ll | 2 +- polly/test/ScopDetect/dot-scops-npm.ll | 2 +- polly/test/ScopDetect/dot-scops.ll | 2 +- .../ScopDetect/error-block-always-executed.ll | 2 +- .../error-block-referenced-from-scop.ll | 2 +- .../ScopDetect/error-block-unreachable.ll | 2 +- .../ScopDetect/expand-region-correctly-2.ll | 2 +- .../ScopDetect/expand-region-correctly.ll | 2 +- .../test/ScopDetect/ignore_func_flag_regex.ll | 2 +- .../index_from_unpredictable_loop.ll | 4 +- .../index_from_unpredictable_loop2.ll | 4 +- polly/test/ScopDetect/indvars.ll | 2 +- polly/test/ScopDetect/intrinsics_1.ll | 2 +- polly/test/ScopDetect/intrinsics_2.ll | 2 +- polly/test/ScopDetect/intrinsics_3.ll | 2 +- .../ScopDetect/invalid-latch-conditions.ll | 6 +- .../ScopDetect/invalidate_scalar_evolution.ll | 2 +- .../ScopDetect/invariant-load-before-scop.ll | 2 +- polly/test/ScopDetect/keep_going_expansion.ll | 2 +- polly/test/ScopDetect/mod_ref_read_pointer.ll | 4 +- polly/test/ScopDetect/more-than-one-loop.ll | 4 +- .../ScopDetect/multidim-with-undef-size.ll | 2 +- polly/test/ScopDetect/multidim.ll | 2 +- .../ScopDetect/multidim_indirect_access.ll | 2 +- ..._two_accesses_different_delinearization.ll | 2 +- .../ScopDetect/nested_loop_single_exit.ll | 4 +- .../test/ScopDetect/non-affine-conditional.ll | 2 +- .../ScopDetect/non-affine-float-compare.ll | 2 +- ...-affine-loop-condition-dependent-access.ll | 8 +- ...ffine-loop-condition-dependent-access_2.ll | 6 +- ...ffine-loop-condition-dependent-access_3.ll | 6 +- polly/test/ScopDetect/non-affine-loop.ll | 10 +- .../non-beneficial-loops-small-trip-count.ll | 2 +- .../non-constant-add-rec-start-expr.ll | 2 +- .../ScopDetect/non-simple-memory-accesses.ll | 2 +- .../ScopDetect/non_affine_loop_condition.ll | 4 +- polly/test/ScopDetect/only-one-affine-loop.ll | 2 +- polly/test/ScopDetect/only_func_flag.ll | 2 +- polly/test/ScopDetect/only_func_flag_regex.ll | 2 +- .../parametric-multiply-in-scev-2.ll | 2 +- .../ScopDetect/parametric-multiply-in-scev.ll | 2 +- .../phi_with_multi_exiting_edges.ll | 2 +- .../profitability-large-basic-blocks.ll | 10 +- .../profitability-two-nested-loops.ll | 2 +- polly/test/ScopDetect/remove_all_children.ll | 2 +- polly/test/ScopDetect/report-scop-location.ll | 2 +- .../restrict-undef-size-scopdetect.ll | 2 +- polly/test/ScopDetect/run_time_alias_check.ll | 2 +- polly/test/ScopDetect/scev_remove_max.ll | 2 +- polly/test/ScopDetect/sequential_loops.ll | 2 +- polly/test/ScopDetect/simple_loop.ll | 2 +- .../simple_loop_non_single_entry.ll | 2 +- .../ScopDetect/simple_loop_non_single_exit.ll | 2 +- .../simple_loop_non_single_exit_2.ll | 2 +- .../ScopDetect/simple_loop_two_phi_nodes.ll | 2 +- .../test/ScopDetect/simple_loop_with_param.ll | 2 +- .../ScopDetect/simple_loop_with_param_2.ll | 2 +- .../ScopDetect/simple_non_single_entry.ll | 2 +- .../ScopDetect/skip_function_attribute.ll | 2 +- .../srem_with_parametric_divisor.ll | 2 +- polly/test/ScopDetect/statistics.ll | 2 +- polly/test/ScopDetect/switch-in-loop-patch.ll | 2 +- .../test/ScopDetect/tlr_is_hoistable_load.ll | 2 +- .../ReportAlias-01.ll | 2 +- .../ScopDetectionDiagnostics/ReportEntry.ll | 2 +- .../ReportFuncCall-01.ll | 2 +- .../ReportIrreducibleRegion.ll | 2 +- .../ReportIrreducibleRegionWithoutDebugLoc.ll | 2 +- .../ReportLoopBound-01.ll | 16 +- .../ReportLoopHasNoExit.ll | 4 +- .../ReportMultipleNonAffineAccesses.ll | 12 +- .../ReportNonAffineAccess-01.ll | 2 +- .../ReportUnprofitable.ll | 8 +- .../ReportUnreachableInExit.ll | 3 +- .../ReportVariantBasePtr-01.ll | 2 +- .../loop_has_multiple_exits.ll | 2 +- .../loop_partially_in_scop-2.ll | 2 +- .../loop_partially_in_scop.ll | 2 +- .../ScopInfo/20110312-Fail-without-basicaa.ll | 2 +- .../20111108-Parameter-not-detected.ll | 2 +- ...03-16-Crash-because-of-unsigned-in-scev.ll | 2 +- .../2015-10-04-Crash-in-domain-generation.ll | 2 +- polly/test/ScopInfo/Alias-0.ll | 4 +- polly/test/ScopInfo/Alias-1.ll | 4 +- polly/test/ScopInfo/Alias-2.ll | 4 +- polly/test/ScopInfo/Alias-3.ll | 4 +- polly/test/ScopInfo/Alias-4.ll | 4 +- .../test/ScopInfo/BoundChecks/single-loop.ll | 4 +- polly/test/ScopInfo/BoundChecks/two-loops.ll | 4 +- polly/test/ScopInfo/NonAffine/div_backedge.ll | 2 +- polly/test/ScopInfo/NonAffine/div_domain.ll | 2 +- ...nt_loads_dependent_in_non_affine_region.ll | 2 +- .../ScopInfo/NonAffine/modulo_backedge.ll | 2 +- .../test/ScopInfo/NonAffine/modulo_domain.ll | 2 +- ...ffine-loop-condition-dependent-access_1.ll | 4 +- ...ffine-loop-condition-dependent-access_2.ll | 6 +- ...ffine-loop-condition-dependent-access_3.ll | 6 +- .../non_affine_access_with_range_2.ll | 2 +- .../ScopInfo/NonAffine/non_affine_but_sdiv.ll | 2 +- .../ScopInfo/NonAffine/non_affine_but_srem.ll | 2 +- .../non_affine_conditional_nested.ll | 2 +- ...ine_conditional_surrounding_affine_loop.ll | 11 +- ...conditional_surrounding_non_affine_loop.ll | 16 +- .../NonAffine/non_affine_float_compare.ll | 2 +- .../NonAffine/non_affine_loop_condition.ll | 6 +- .../NonAffine/non_affine_loop_used_later.ll | 4 +- .../NonAffine/non_affine_parametric_loop.ll | 2 +- .../non_affine_region_guaranteed_non-entry.ll | 2 +- ...whole-scop-non-affine-subregion-in-loop.ll | 2 +- .../aliasing_conditional_alias_groups_1.ll | 2 +- .../aliasing_conditional_alias_groups_2.ll | 2 +- polly/test/ScopInfo/aliasing_dead_access.ll | 2 +- .../aliasing_many_arrays_to_compare.ll | 7 +- ...iasing_many_parameters_not_all_involved.ll | 4 +- .../aliasing_many_read_only_acesses.ll | 2 +- .../aliasing_multiple_alias_groups.ll | 4 +- .../aliasing_with_non_affine_access.ll | 2 +- .../allow-all-parameters-dereferencable.ll | 11 +- polly/test/ScopInfo/assume_gep_bounds.ll | 4 +- polly/test/ScopInfo/assume_gep_bounds_2.ll | 3 +- polly/test/ScopInfo/assume_gep_bounds_many.ll | 3 +- .../avoid_new_parameters_from_geps.ll | 2 +- polly/test/ScopInfo/bool-addrec.ll | 2 +- .../test/ScopInfo/bounded_loop_assumptions.ll | 2 +- ...ces-loop-scev-with-unknown-iterations-2.ll | 6 +- ...ces-loop-scev-with-unknown-iterations-3.ll | 7 +- ...ences-loop-scev-with-unknown-iterations.ll | 7 +- polly/test/ScopInfo/bug_2010_10_22.ll | 2 +- polly/test/ScopInfo/bug_2011_1_5.ll | 2 +- .../test/ScopInfo/bug_scev_not_fully_eval.ll | 2 +- polly/test/ScopInfo/cfg_consequences.ll | 2 +- .../test/ScopInfo/complex-branch-structure.ll | 3 +- polly/test/ScopInfo/complex-condition.ll | 4 +- polly/test/ScopInfo/complex-expression.ll | 4 +- polly/test/ScopInfo/complex-loop-nesting.ll | 2 +- .../ScopInfo/complex-successor-structure-2.ll | 4 +- .../ScopInfo/complex-successor-structure-3.ll | 3 +- .../ScopInfo/complex-successor-structure.ll | 4 +- .../complex_domain_binary_condition.ll | 3 +- .../ScopInfo/complex_execution_context.ll | 4 +- polly/test/ScopInfo/cond_constant_in_loop.ll | 2 +- polly/test/ScopInfo/cond_in_loop.ll | 2 +- .../ScopInfo/condition-after-error-block-2.ll | 2 +- ...condition-after-error-block-before-scop.ll | 2 +- .../ScopInfo/condtion-after-error-block.ll | 2 +- polly/test/ScopInfo/const_srem_sdiv.ll | 3 +- .../constant-non-integer-branch-condition.ll | 2 +- .../ScopInfo/constant_factor_in_parameter.ll | 4 +- ...stant_functions_outside_scop_as_unknown.ll | 2 +- polly/test/ScopInfo/constant_start_integer.ll | 2 +- polly/test/ScopInfo/debug_call.ll | 2 +- .../delinearize-together-all-data-refs.ll | 2 +- polly/test/ScopInfo/div_by_zero.ll | 2 +- .../do-not-model-error-block-accesses.ll | 2 +- .../eager-binary-and-or-conditions.ll | 4 +- .../early_exit_for_complex_domains.ll | 2 +- polly/test/ScopInfo/error-blocks-1.ll | 2 +- polly/test/ScopInfo/error-blocks-2.ll | 3 +- polly/test/ScopInfo/error-blocks-3.ll | 2 +- polly/test/ScopInfo/escaping_empty_scop.ll | 2 +- polly/test/ScopInfo/exit-phi-1.ll | 4 +- polly/test/ScopInfo/exit-phi-2.ll | 2 +- polly/test/ScopInfo/exit_phi_accesses-2.ll | 2 +- polly/test/ScopInfo/exit_phi_accesses.ll | 2 +- .../ScopInfo/expensive-boundary-context.ll | 3 +- ...onstant_factor_introduces_new_parameter.ll | 4 +- polly/test/ScopInfo/full-function.ll | 6 +- polly/test/ScopInfo/granularity_same_name.ll | 8 +- .../test/ScopInfo/granularity_scalar-indep.ll | 2 +- ...ity_scalar-indep_cross-referencing-phi1.ll | 2 +- ...ity_scalar-indep_cross-referencing-phi2.ll | 2 +- .../granularity_scalar-indep_epilogue.ll | 2 +- .../granularity_scalar-indep_epilogue_last.ll | 2 +- .../granularity_scalar-indep_noepilogue.ll | 2 +- .../granularity_scalar-indep_ordered-2.ll | 2 +- .../granularity_scalar-indep_ordered.ll | 2 +- polly/test/ScopInfo/i1_params.ll | 2 +- polly/test/ScopInfo/infeasible-rtc.ll | 6 +- .../ScopInfo/infeasible_invalid_context.ll | 6 +- polly/test/ScopInfo/int2ptr_ptr2int.ll | 4 +- polly/test/ScopInfo/int2ptr_ptr2int_2.ll | 6 +- polly/test/ScopInfo/integers.ll | 2 +- .../ScopInfo/inter-error-bb-dependence.ll | 2 +- polly/test/ScopInfo/inter_bb_scalar_dep.ll | 3 +- .../intra-non-affine-stmt-phi-node.ll | 3 +- .../ScopInfo/intra_and_inter_bb_scalar_dep.ll | 3 +- polly/test/ScopInfo/intra_bb_scalar_dep.ll | 3 +- polly/test/ScopInfo/intrinsics.ll | 2 +- ..._add_rec_after_invariant_load_remapping.ll | 2 +- .../invalidate_iterator_during_MA_removal.ll | 2 +- .../test/ScopInfo/invariant-load-instlist.ll | 2 +- ...ariant-loads-leave-read-only-statements.ll | 4 +- polly/test/ScopInfo/invariant_load.ll | 2 +- ...load_access_classes_different_base_type.ll | 4 +- ...ss_classes_different_base_type_escaping.ll | 4 +- ...lasses_different_base_type_same_pointer.ll | 4 +- ...fferent_base_type_same_pointer_escaping.ll | 4 +- .../ScopInfo/invariant_load_addrec_sum.ll | 2 +- .../ScopInfo/invariant_load_base_pointer.ll | 2 +- ...invariant_load_base_pointer_conditional.ll | 2 +- ...ariant_load_base_pointer_in_conditional.ll | 2 +- .../invariant_load_branch_condition.ll | 3 +- ...ariant_load_canonicalize_array_baseptrs.ll | 4 +- ...iant_load_canonicalize_array_baseptrs_2.ll | 4 +- ...iant_load_canonicalize_array_baseptrs_3.ll | 4 +- ...iant_load_canonicalize_array_baseptrs_4.ll | 4 +- ...ant_load_canonicalize_array_baseptrs_4b.ll | 4 +- ...ant_load_canonicalize_array_baseptrs_4c.ll | 4 +- ...iant_load_canonicalize_array_baseptrs_5.ll | 4 +- .../invariant_load_complex_condition.ll | 3 +- .../test/ScopInfo/invariant_load_condition.ll | 2 +- .../invariant_load_dereferenceable.ll | 4 +- ...iant_load_distinct_parameter_valuations.ll | 2 +- .../ScopInfo/invariant_load_in_non_affine.ll | 3 +- polly/test/ScopInfo/invariant_load_loop_ub.ll | 4 +- .../invariant_load_ptr_ptr_noalias.ll | 3 +- .../ScopInfo/invariant_load_scalar_dep.ll | 2 +- .../ScopInfo/invariant_load_stmt_domain.ll | 2 +- .../invariant_load_zext_parameter-2.ll | 4 +- .../ScopInfo/invariant_load_zext_parameter.ll | 4 +- ...load_zextended_in_own_execution_context.ll | 4 +- ...invariant_loads_complicated_dependences.ll | 2 +- .../invariant_loads_cyclic_dependences.ll | 2 +- polly/test/ScopInfo/invariant_loop_bounds.ll | 2 +- ...ariant_same_loop_bound_multiple_times-1.ll | 2 +- ...ariant_same_loop_bound_multiple_times-2.ll | 2 +- polly/test/ScopInfo/isl_aff_out_of_bounds.ll | 2 +- polly/test/ScopInfo/isl_trip_count_01.ll | 2 +- polly/test/ScopInfo/isl_trip_count_02.ll | 2 +- polly/test/ScopInfo/isl_trip_count_03.ll | 2 +- .../isl_trip_count_multiple_exiting_blocks.ll | 2 +- polly/test/ScopInfo/licm_load.ll | 31 +- polly/test/ScopInfo/licm_potential_store.ll | 79 +--- .../ScopInfo/licm_potential_store_mssa.ll | 50 +++ polly/test/ScopInfo/licm_reduction_nested.ll | 4 +- .../long-compile-time-alias-analysis.ll | 2 +- .../long-sequence-of-error-blocks-2.ll | 2 +- .../ScopInfo/long-sequence-of-error-blocks.ll | 3 +- .../test/ScopInfo/loop-multiexit-succ-cond.ll | 4 +- polly/test/ScopInfo/loop_affine_bound_0.ll | 4 +- polly/test/ScopInfo/loop_affine_bound_1.ll | 4 +- polly/test/ScopInfo/loop_affine_bound_2.ll | 4 +- polly/test/ScopInfo/loop_carry.ll | 2 +- .../test/ScopInfo/many-scalar-dependences.ll | 2 +- polly/test/ScopInfo/max-loop-depth.ll | 2 +- polly/test/ScopInfo/memcpy-raw-source.ll | 2 +- polly/test/ScopInfo/memcpy.ll | 4 +- polly/test/ScopInfo/memmove.ll | 4 +- polly/test/ScopInfo/memset.ll | 4 +- polly/test/ScopInfo/memset_null.ll | 4 +- .../ScopInfo/mismatching-array-dimensions.ll | 2 +- .../mod_ref_access_pointee_arguments.ll | 6 +- .../mod_ref_read_pointee_arguments.ll | 6 +- polly/test/ScopInfo/mod_ref_read_pointer.ll | 4 +- polly/test/ScopInfo/mod_ref_read_pointers.ll | 6 +- polly/test/ScopInfo/modulo_zext_1.ll | 2 +- polly/test/ScopInfo/modulo_zext_2.ll | 2 +- polly/test/ScopInfo/modulo_zext_3.ll | 2 +- polly/test/ScopInfo/multi-scop.ll | 2 +- .../ScopInfo/multidim_2d-diagonal-matrix.ll | 4 +- .../multidim_2d_outer_parametric_offset.ll | 2 +- ..._2d_parametric_array_static_loop_bounds.ll | 2 +- .../ScopInfo/multidim_2d_with_modref_call.ll | 8 +- .../multidim_2d_with_modref_call_2.ll | 8 +- ..._3d_parametric_array_static_loop_bounds.ll | 2 +- ...idim_fixedsize_different_dimensionality.ll | 2 +- .../multidim_fixedsize_multi_offset.ll | 2 +- .../ScopInfo/multidim_fold_constant_dim.ll | 2 +- .../multidim_fold_constant_dim_zero.ll | 2 +- polly/test/ScopInfo/multidim_fortran_2d.ll | 3 +- .../ScopInfo/multidim_fortran_2d_params.ll | 4 +- .../multidim_fortran_2d_with_modref_call.ll | 8 +- polly/test/ScopInfo/multidim_fortran_srem.ll | 2 +- .../test/ScopInfo/multidim_gep_pointercast.ll | 2 +- .../ScopInfo/multidim_gep_pointercast2.ll | 2 +- .../ScopInfo/multidim_invalid_dimension.ll | 2 +- .../multidim_ivs_and_integer_offsets_3d.ll | 2 +- ...multidim_ivs_and_parameteric_offsets_3d.ll | 2 +- .../test/ScopInfo/multidim_many_references.ll | 4 +- .../ScopInfo/multidim_nested_start_integer.ll | 4 +- .../multidim_nested_start_share_parameter.ll | 2 +- polly/test/ScopInfo/multidim_only_ivs_2d.ll | 2 +- polly/test/ScopInfo/multidim_only_ivs_3d.ll | 2 +- .../ScopInfo/multidim_only_ivs_3d_cast.ll | 2 +- .../ScopInfo/multidim_only_ivs_3d_reverse.ll | 2 +- .../ScopInfo/multidim_param_in_subscript-2.ll | 2 +- .../ScopInfo/multidim_param_in_subscript.ll | 2 +- .../multidim_parameter_addrec_product.ll | 2 +- .../multidim_single_and_multidim_array.ll | 16 +- polly/test/ScopInfo/multidim_srem.ll | 2 +- polly/test/ScopInfo/multidim_with_bitcast.ll | 2 +- .../ScopInfo/multiple-binary-or-conditions.ll | 4 +- ...ss-offset-not-dividable-by-element-size.ll | 4 +- .../ScopInfo/multiple-types-non-affine-2.ll | 4 +- .../ScopInfo/multiple-types-non-affine.ll | 4 +- .../multiple-types-non-power-of-two-2.ll | 2 +- .../multiple-types-non-power-of-two.ll | 2 +- .../multiple-types-two-dimensional-2.ll | 4 +- .../multiple-types-two-dimensional.ll | 4 +- polly/test/ScopInfo/multiple-types.ll | 3 +- .../test/ScopInfo/multiple_exiting_blocks.ll | 2 +- .../multiple_exiting_blocks_two_loop.ll | 2 +- polly/test/ScopInfo/multiple_latch_blocks.ll | 2 +- polly/test/ScopInfo/nested-loops.ll | 2 +- .../no-scalar-deps-in-non-affine-subregion.ll | 2 +- polly/test/ScopInfo/non-affine-region-phi.ll | 4 +- .../ScopInfo/non-affine-region-with-loop-2.ll | 2 +- .../ScopInfo/non-affine-region-with-loop.ll | 4 +- polly/test/ScopInfo/non-precise-inv-load-1.ll | 2 +- polly/test/ScopInfo/non-precise-inv-load-2.ll | 2 +- polly/test/ScopInfo/non-precise-inv-load-3.ll | 2 +- polly/test/ScopInfo/non-precise-inv-load-4.ll | 2 +- polly/test/ScopInfo/non-precise-inv-load-5.ll | 2 +- polly/test/ScopInfo/non-precise-inv-load-6.ll | 2 +- polly/test/ScopInfo/non-pure-function-call.ll | 2 +- ...-pure-function-calls-causes-dead-blocks.ll | 2 +- .../test/ScopInfo/non-pure-function-calls.ll | 2 +- polly/test/ScopInfo/non_affine_access.ll | 4 +- polly/test/ScopInfo/non_affine_region_1.ll | 2 +- polly/test/ScopInfo/non_affine_region_2.ll | 2 +- polly/test/ScopInfo/non_affine_region_3.ll | 4 +- polly/test/ScopInfo/non_affine_region_4.ll | 2 +- .../ScopInfo/nonaffine-buildMemoryAccess.ll | 2 +- polly/test/ScopInfo/not-a-reduction.ll | 2 +- polly/test/ScopInfo/opaque-struct.ll | 2 +- ...gion-entry-phi-node-nonaffine-subregion.ll | 2 +- ...ut-of-scop-use-in-region-entry-phi-node.ll | 2 +- .../ScopInfo/parameter-constant-division.ll | 4 +- .../ScopInfo/parameter_in_dead_statement.ll | 6 +- polly/test/ScopInfo/parameter_product.ll | 2 +- .../parameter_with_constant_factor_in_add.ll | 2 +- .../ScopInfo/partially_invariant_load_1.ll | 4 +- .../ScopInfo/partially_invariant_load_2.ll | 2 +- .../test/ScopInfo/phi-in-non-affine-region.ll | 2 +- polly/test/ScopInfo/phi_after_error_block.ll | 2 +- .../test/ScopInfo/phi_condition_modeling_1.ll | 2 +- .../test/ScopInfo/phi_condition_modeling_2.ll | 2 +- .../test/ScopInfo/phi_conditional_simple_1.ll | 2 +- polly/test/ScopInfo/phi_loop_carried_float.ll | 2 +- polly/test/ScopInfo/phi_not_grouped_at_top.ll | 2 +- polly/test/ScopInfo/phi_scalar_simple_1.ll | 2 +- polly/test/ScopInfo/phi_scalar_simple_2.ll | 2 +- polly/test/ScopInfo/phi_with_invoke_edge.ll | 2 +- .../ScopInfo/pointer-comparison-no-nsw.ll | 2 +- polly/test/ScopInfo/pointer-comparison.ll | 2 +- .../test/ScopInfo/pointer-type-expressions.ll | 2 +- ...er-used-as-base-pointer-and-scalar-read.ll | 2 +- .../polly-timeout-parameter-bounds.ll | 2 +- polly/test/ScopInfo/pr38218.ll | 2 +- ...eserve-equiv-class-order-in-basic_block.ll | 2 +- .../test/ScopInfo/process_added_dimensions.ll | 2 +- .../test/ScopInfo/pwaff-complexity-bailout.ll | 2 +- polly/test/ScopInfo/ranged_parameter.ll | 2 +- polly/test/ScopInfo/ranged_parameter_2.ll | 3 +- polly/test/ScopInfo/ranged_parameter_wrap.ll | 2 +- .../test/ScopInfo/ranged_parameter_wrap_2.ll | 2 +- .../read-only-scalar-used-in-phi-2.ll | 2 +- .../ScopInfo/read-only-scalar-used-in-phi.ll | 2 +- polly/test/ScopInfo/read-only-scalars.ll | 4 +- polly/test/ScopInfo/read-only-statements.ll | 2 +- .../ScopInfo/reduction_alternating_base.ll | 2 +- ...uction_chain_partially_outside_the_scop.ll | 2 +- .../ScopInfo/reduction_different_index.ll | 2 +- .../ScopInfo/reduction_different_index1.ll | 2 +- .../reduction_disabled_multiplicative.ll | 2 +- polly/test/ScopInfo/reduction_double.ll | 2 +- .../reduction_escaping_intermediate.ll | 2 +- .../reduction_escaping_intermediate_2.ll | 2 +- .../reduction_escaping_intermediate_3.ll | 2 +- polly/test/ScopInfo/reduction_if.ll | 2 +- .../ScopInfo/reduction_indirect_access.ll | 2 +- .../ScopInfo/reduction_indirect_access_2.ll | 2 +- .../reduction_invalid_different_operators.ll | 2 +- .../reduction_invalid_overlapping_accesses.ll | 2 +- .../reduction_long_reduction_chain.ll | 2 +- ...duction_long_reduction_chain_double_use.ll | 2 +- .../reduction_multiple_different_operators.ll | 2 +- .../reduction_multiple_loops_array_sum.ll | 2 +- .../reduction_multiple_loops_array_sum_1.ll | 2 +- .../reduction_multiple_simple_binary.ll | 2 +- .../reduction_non_overlapping_chains.ll | 2 +- .../reduction_only_reduction_like_access.ll | 2 +- polly/test/ScopInfo/reduction_simple_fp.ll | 2 +- .../ScopInfo/reduction_simple_w_constant.ll | 2 +- polly/test/ScopInfo/reduction_simple_w_iv.ll | 2 +- .../ScopInfo/reduction_two_identical_reads.ll | 4 +- .../redundant_parameter_constraint.ll | 2 +- .../test/ScopInfo/region-with-instructions.ll | 2 +- polly/test/ScopInfo/remarks.ll | 3 +- .../required-invariant-loop-bounds.ll | 3 +- .../ScopInfo/restriction_in_dead_block.ll | 2 +- .../run-time-check-many-array-disjuncts.ll | 5 +- .../run-time-check-many-parameters.ll | 2 +- .../run-time-check-many-piecewise-aliasing.ll | 5 +- .../run-time-check-read-only-arrays.ll | 2 +- .../same-base-address-scalar-and-array.ll | 2 +- polly/test/ScopInfo/scalar.ll | 2 +- .../ScopInfo/scalar_dependence_cond_br.ll | 2 +- polly/test/ScopInfo/scalar_to_array.ll | 4 +- .../scev-div-with-evaluatable-divisor.ll | 2 +- polly/test/ScopInfo/scev-invalidated.ll | 2 +- .../schedule-const-post-dominator-walk-2.ll | 2 +- .../schedule-const-post-dominator-walk.ll | 2 +- .../schedule-constuction-endless-loop1.ll | 2 +- .../schedule-constuction-endless-loop2.ll | 2 +- ...tly-contructed-in-case-of-infinite-loop.ll | 2 +- .../scop-affine-parameter-ordering.ll | 2 +- polly/test/ScopInfo/sign_wrapped_set.ll | 2 +- polly/test/ScopInfo/simple_loop_1.ll | 2 +- polly/test/ScopInfo/simple_loop_2.ll | 2 +- polly/test/ScopInfo/simple_loop_unsigned.ll | 2 +- polly/test/ScopInfo/simple_loop_unsigned_2.ll | 2 +- polly/test/ScopInfo/simple_loop_unsigned_3.ll | 2 +- .../ScopInfo/simple_nonaffine_loop_not.ll | 2 +- polly/test/ScopInfo/smax.ll | 2 +- polly/test/ScopInfo/statistics.ll | 2 +- .../stmt_split_exit_of_region_stmt.ll | 2 +- .../ScopInfo/stmt_split_no_after_split.ll | 2 +- .../test/ScopInfo/stmt_split_no_dependence.ll | 2 +- polly/test/ScopInfo/stmt_split_on_store.ll | 2 +- .../ScopInfo/stmt_split_on_synthesizable.ll | 2 +- .../stmt_split_phi_in_beginning_bb.ll | 2 +- polly/test/ScopInfo/stmt_split_phi_in_stmt.ll | 2 +- .../ScopInfo/stmt_split_scalar_dependence.ll | 2 +- polly/test/ScopInfo/stmt_split_within_loop.ll | 2 +- .../stmt_with_read_but_without_sideffect.ll | 2 +- polly/test/ScopInfo/switch-1.ll | 4 +- polly/test/ScopInfo/switch-2.ll | 4 +- polly/test/ScopInfo/switch-3.ll | 4 +- polly/test/ScopInfo/switch-4.ll | 4 +- polly/test/ScopInfo/switch-5.ll | 4 +- polly/test/ScopInfo/switch-6.ll | 4 +- polly/test/ScopInfo/switch-7.ll | 4 +- polly/test/ScopInfo/tempscop-printing.ll | 2 +- .../ScopInfo/test-wrapping-in-condition.ll | 4 +- polly/test/ScopInfo/truncate-1.ll | 2 +- polly/test/ScopInfo/truncate-2.ll | 2 +- polly/test/ScopInfo/truncate-3.ll | 3 +- polly/test/ScopInfo/two-loops-one-infinite.ll | 2 +- .../two-loops-right-after-each-other.ll | 2 +- polly/test/ScopInfo/undef_in_cond.ll | 2 +- polly/test/ScopInfo/unnamed_nonaffine.ll | 4 +- polly/test/ScopInfo/unnamed_stmts.ll | 2 +- .../ScopInfo/unpredictable_nonscop_loop.ll | 2 +- .../test/ScopInfo/unprofitable_scalar-accs.ll | 4 +- polly/test/ScopInfo/unsigned-condition.ll | 2 +- polly/test/ScopInfo/unsigned-division-1.ll | 2 +- polly/test/ScopInfo/unsigned-division-2.ll | 2 +- polly/test/ScopInfo/unsigned-division-3.ll | 2 +- polly/test/ScopInfo/unsigned-division-4.ll | 2 +- polly/test/ScopInfo/unsigned-division-5.ll | 2 +- polly/test/ScopInfo/unsigned_wrap_uge.ll | 2 +- polly/test/ScopInfo/unsigned_wrap_ugt.ll | 2 +- polly/test/ScopInfo/unsigned_wrap_ule.ll | 2 +- polly/test/ScopInfo/unsigned_wrap_ult.ll | 2 +- polly/test/ScopInfo/user_context.ll | 8 +- ...ed_assumptions-in-bb-signed-conditional.ll | 4 +- .../user_provided_assumptions-in-bb-signed.ll | 2 +- ...ser_provided_assumptions-in-bb-unsigned.ll | 4 +- .../ScopInfo/user_provided_assumptions.ll | 4 +- .../ScopInfo/user_provided_assumptions_2.ll | 4 +- .../ScopInfo/user_provided_assumptions_3.ll | 4 +- ...ser_provided_non_dominating_assumptions.ll | 6 +- polly/test/ScopInfo/variant_base_pointer.ll | 4 +- .../ScopInfo/variant_load_empty_domain.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_0.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_1.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_2.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_3.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_4.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_5.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_6.ll | 2 +- polly/test/ScopInfo/wraping_signed_expr_7.ll | 2 +- .../ScopInfo/wraping_signed_expr_slow_1.ll | 2 +- .../ScopInfo/wraping_signed_expr_slow_2.ll | 2 +- polly/test/ScopInfo/zero_ext_of_truncate.ll | 2 +- polly/test/ScopInfo/zero_ext_of_truncate_2.ll | 2 +- .../test/ScopInfo/zero_ext_space_mismatch.ll | 2 +- polly/test/ScopInliner/ignore-declares.ll | 2 +- polly/test/ScopInliner/invariant-load-func.ll | 2 +- polly/test/ScopInliner/simple-inline-loop.ll | 2 +- polly/test/Simplify/coalesce_3partials.ll | 2 +- .../Simplify/coalesce_disjointelements.ll | 2 +- polly/test/Simplify/coalesce_overlapping.ll | 2 +- polly/test/Simplify/coalesce_partial.ll | 2 +- polly/test/Simplify/dead_access_load.ll | 2 +- polly/test/Simplify/dead_access_phi.ll | 2 +- polly/test/Simplify/dead_access_value.ll | 2 +- polly/test/Simplify/dead_instruction.ll | 2 +- polly/test/Simplify/emptyaccessdomain.ll | 2 +- polly/test/Simplify/exit_phi_accesses-2.ll | 2 +- polly/test/Simplify/func-b320a7.ll | 2 +- polly/test/Simplify/gemm.ll | 2 +- .../Simplify/nocoalesce_differentvalues.ll | 2 +- .../Simplify/nocoalesce_elementmismatch.ll | 2 +- polly/test/Simplify/nocoalesce_readbetween.ll | 2 +- .../test/Simplify/nocoalesce_writebetween.ll | 2 +- polly/test/Simplify/notdead_region_exitphi.ll | 2 +- .../test/Simplify/notdead_region_innerphi.ll | 2 +- .../test/Simplify/notredundant_region_loop.ll | 2 +- .../Simplify/notredundant_region_middle.ll | 2 +- .../notredundant_synthesizable_unknownit.ll | 2 +- ...ut-of-scop-use-in-region-entry-phi-node.ll | 2 +- polly/test/Simplify/overwritten.ll | 2 +- polly/test/Simplify/overwritten_3phi.ll | 2 +- polly/test/Simplify/overwritten_3store.ll | 2 +- .../overwritten_implicit_and_explicit.ll | 2 +- .../test/Simplify/overwritten_loadbetween.ll | 2 +- polly/test/Simplify/overwritten_scalar.ll | 2 +- polly/test/Simplify/pass_existence.ll | 2 +- polly/test/Simplify/phi_in_regionstmt.ll | 2 +- polly/test/Simplify/pr33323.ll | 2 +- polly/test/Simplify/redundant.ll | 2 +- .../test/Simplify/redundant_differentindex.ll | 2 +- polly/test/Simplify/redundant_partialwrite.ll | 2 +- polly/test/Simplify/redundant_region.ll | 2 +- .../test/Simplify/redundant_region_scalar.ll | 2 +- polly/test/Simplify/redundant_scalarwrite.ll | 2 +- polly/test/Simplify/redundant_storebetween.ll | 2 +- polly/test/Simplify/scalability1.ll | 2 +- polly/test/Simplify/scalability2.ll | 2 +- polly/test/Simplify/sweep_mapped_phi.ll | 2 +- polly/test/Simplify/sweep_mapped_value.ll | 2 +- .../Simplify/ununsed_read_in_region_entry.ll | 4 +- polly/test/Support/Plugins.ll | 3 +- polly/test/Support/exportjson.ll | 24 +- polly/test/Support/isl-args.ll | 8 +- polly/test/Support/pipelineposition.ll | 8 +- polly/test/lit.site.cfg.in | 4 - polly/test/polly.ll | 2 +- 1143 files changed, 2700 insertions(+), 4460 deletions(-) delete mode 100644 polly/include/polly/LinkAllPasses.h create mode 100644 polly/include/polly/Pass/PhaseManager.h create mode 100644 polly/include/polly/Pass/PollyFunctionPass.h create mode 100644 polly/include/polly/Pass/PollyModulePass.h create mode 100644 polly/lib/Pass/PhaseManager.cpp create mode 100644 polly/lib/Pass/PollyFunctionPass.cpp create mode 100644 polly/lib/Pass/PollyModulePass.cpp create mode 100644 polly/test/ScopInfo/licm_potential_store_mssa.ll diff --git a/polly/docs/ReleaseNotes.rst b/polly/docs/ReleaseNotes.rst index f5ea47b69cf02..215a802843304 100644 --- a/polly/docs/ReleaseNotes.rst +++ b/polly/docs/ReleaseNotes.rst @@ -13,3 +13,7 @@ In Polly |version| the following important changes have been incorporated. * ScopInliner has been updated for the New Pass Manager. + * Polly now is a monolithic pass split into phases. + + * Polly's support for the legacy pass manager has been removed. + diff --git a/polly/include/polly/Canonicalization.h b/polly/include/polly/Canonicalization.h index 03f277e4e91ba..972b660894a1c 100644 --- a/polly/include/polly/Canonicalization.h +++ b/polly/include/polly/Canonicalization.h @@ -11,12 +11,6 @@ #include "llvm/Passes/PassBuilder.h" -namespace llvm { -namespace legacy { -class PassManagerBase; -} -} // namespace llvm - namespace polly { /// Schedule a set of canonicalization passes to prepare for Polly. @@ -26,8 +20,6 @@ namespace polly { /// into a canonical form that simplifies the analysis and optimization passes /// of Polly. The set of optimization passes scheduled here is probably not yet /// optimal. TODO: Optimize the set of canonicalization passes. -void registerCanonicalicationPasses(llvm::legacy::PassManagerBase &PM); - llvm::FunctionPassManager buildCanonicalicationPassesForNPM(llvm::ModulePassManager &MPM, llvm::OptimizationLevel Level); diff --git a/polly/include/polly/CodeGen/CodeGeneration.h b/polly/include/polly/CodeGen/CodeGeneration.h index 57aec1d70cc72..2340fbe016b49 100644 --- a/polly/include/polly/CodeGen/CodeGeneration.h +++ b/polly/include/polly/CodeGen/CodeGeneration.h @@ -14,6 +14,7 @@ #include "llvm/IR/PassManager.h" namespace polly { +class IslAstInfo; enum VectorizerChoice { VECTORIZER_NONE, @@ -33,6 +34,8 @@ struct CodeGenerationPass final : PassInfoMixin { }; extern bool PerfMonitoring; + +bool runCodeGeneration(Scop &S, llvm::RegionInfo &RI, IslAstInfo &AI); } // namespace polly #endif // POLLY_CODEGENERATION_H diff --git a/polly/include/polly/CodeGen/IslAst.h b/polly/include/polly/CodeGen/IslAst.h index c99a4957d6b48..3e1ff2c8a24da 100644 --- a/polly/include/polly/CodeGen/IslAst.h +++ b/polly/include/polly/CodeGen/IslAst.h @@ -21,6 +21,7 @@ #ifndef POLLY_ISLAST_H #define POLLY_ISLAST_H +#include "polly/DependenceInfo.h" #include "polly/ScopPass.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/IR/PassManager.h" @@ -172,33 +173,6 @@ struct IslAstAnalysis : AnalysisInfoMixin { ScopStandardAnalysisResults &SAR); }; -class IslAstInfoWrapperPass final : public ScopPass { - std::unique_ptr Ast; - -public: - static char ID; - - IslAstInfoWrapperPass() : ScopPass(ID) {} - - IslAstInfo &getAI() { return *Ast; } - const IslAstInfo &getAI() const { return *Ast; } - - /// Build the AST for the given SCoP @p S. - bool runOnScop(Scop &S) override; - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override; - - /// Release the internal memory. - void releaseMemory() override; - - /// Print a source code representation of the program. - void printScop(raw_ostream &OS, Scop &S) const override; -}; - -llvm::Pass *createIslAstInfoWrapperPassPass(); -llvm::Pass *createIslAstInfoPrinterLegacyPass(llvm::raw_ostream &OS); - struct IslAstPrinterPass final : PassInfoMixin { IslAstPrinterPass(raw_ostream &OS) : OS(OS) {} @@ -207,11 +181,9 @@ struct IslAstPrinterPass final : PassInfoMixin { raw_ostream &OS; }; -} // namespace polly -namespace llvm { -void initializeIslAstInfoWrapperPassPass(llvm::PassRegistry &); -void initializeIslAstInfoPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm +std::unique_ptr runIslAstGen(Scop &S, + DependenceAnalysis::Result &DA); +} // namespace polly #endif // POLLY_ISLAST_H diff --git a/polly/include/polly/CodePreparation.h b/polly/include/polly/CodePreparation.h index c6bc526db209d..1a15e3d4d5a29 100644 --- a/polly/include/polly/CodePreparation.h +++ b/polly/include/polly/CodePreparation.h @@ -15,6 +15,12 @@ #include "llvm/IR/PassManager.h" +namespace llvm { +class DominatorTree; +class LoopInfo; +class RegionInfo; +} // namespace llvm + namespace polly { struct CodePreparationPass final : llvm::PassInfoMixin { llvm::PreservedAnalyses run(llvm::Function &F, diff --git a/polly/include/polly/DeLICM.h b/polly/include/polly/DeLICM.h index 0e03c04079480..63fc509e0bd46 100644 --- a/polly/include/polly/DeLICM.h +++ b/polly/include/polly/DeLICM.h @@ -21,15 +21,10 @@ #include "isl/isl-noexceptions.h" namespace llvm { -class PassRegistry; -class Pass; class raw_ostream; } // namespace llvm namespace polly { -/// Create a new DeLICM pass instance. -llvm::Pass *createDeLICMWrapperPass(); -llvm::Pass *createDeLICMPrinterLegacyPass(llvm::raw_ostream &OS); struct DeLICMPass final : llvm::PassInfoMixin { DeLICMPass() {} @@ -59,11 +54,7 @@ bool isConflicting(isl::union_set ExistingOccupied, isl::union_map ProposedWrites, llvm::raw_ostream *OS = nullptr, unsigned Indent = 0); +bool runDeLICM(Scop &S); } // namespace polly -namespace llvm { -void initializeDeLICMWrapperPassPass(llvm::PassRegistry &); -void initializeDeLICMPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif /* POLLY_DELICM_H */ diff --git a/polly/include/polly/DeadCodeElimination.h b/polly/include/polly/DeadCodeElimination.h index d416afa030c56..4d8da56c76eec 100644 --- a/polly/include/polly/DeadCodeElimination.h +++ b/polly/include/polly/DeadCodeElimination.h @@ -13,16 +13,10 @@ #ifndef POLLY_DEADCODEELIMINATION_H #define POLLY_DEADCODEELIMINATION_H +#include "polly/DependenceInfo.h" #include "polly/ScopPass.h" -namespace llvm { -class PassRegistry; -class Pass; -class raw_ostream; -} // namespace llvm - namespace polly { -llvm::Pass *createDeadCodeElimWrapperPass(); struct DeadCodeElimPass final : llvm::PassInfoMixin { DeadCodeElimPass() {} @@ -31,10 +25,7 @@ struct DeadCodeElimPass final : llvm::PassInfoMixin { ScopStandardAnalysisResults &SAR, SPMUpdater &U); }; +bool runDeadCodeElim(Scop &S, DependenceAnalysis::Result &DA); } // namespace polly -namespace llvm { -void initializeDeadCodeElimWrapperPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif /* POLLY_DEADCODEELIMINATION_H */ diff --git a/polly/include/polly/DependenceInfo.h b/polly/include/polly/DependenceInfo.h index d562ad80592f2..88ea468dd5473 100644 --- a/polly/include/polly/DependenceInfo.h +++ b/polly/include/polly/DependenceInfo.h @@ -145,7 +145,6 @@ class Dependences final { friend struct DependenceAnalysis; friend struct DependenceInfoPrinterPass; friend class DependenceInfo; - friend class DependenceInfoWrapperPass; /// Destructor that will free internal objects. ~Dependences() { releaseMemory(); } @@ -192,6 +191,8 @@ class Dependences final { const AnalysisLevel Level; }; +extern Dependences::AnalysisLevel OptAnalysisLevel; + struct DependenceAnalysis final : public AnalysisInfoMixin { static AnalysisKey Key; struct Result { @@ -232,108 +233,7 @@ struct DependenceInfoPrinterPass final raw_ostream &OS; }; -class DependenceInfo final : public ScopPass { -public: - static char ID; - - /// Construct a new DependenceInfo pass. - DependenceInfo() : ScopPass(ID) {} - - /// Return the dependence information for the current SCoP. - /// - /// @param Level The granularity of dependence analysis result. - /// - /// @return The dependence analysis result - /// - const Dependences &getDependences(Dependences::AnalysisLevel Level); - - /// Recompute dependences from schedule and memory accesses. - const Dependences &recomputeDependences(Dependences::AnalysisLevel Level); - - /// Invalidate the dependence information and recompute it when needed again. - /// May be required when the underlying Scop was changed in a way that would - /// add new dependencies (e.g. between new statement instances insierted into - /// the SCoP) or intentionally breaks existing ones. It is not required when - /// updating the schedule that conforms the existing dependencies. - void abandonDependences(); - - /// Compute the dependence information for the SCoP @p S. - bool runOnScop(Scop &S) override; - - /// Print the dependences for the given SCoP to @p OS. - void printScop(raw_ostream &OS, Scop &) const override; - - /// Release the internal memory. - void releaseMemory() override { - for (auto &d : D) - d.reset(); - } - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override; - -private: - Scop *S; - - /// Dependences struct for the current SCoP. - std::unique_ptr D[Dependences::NumAnalysisLevels]; -}; - -llvm::Pass *createDependenceInfoPass(); -llvm::Pass *createDependenceInfoPrinterLegacyPass(llvm::raw_ostream &OS); - -/// Construct a new DependenceInfoWrapper pass. -class DependenceInfoWrapperPass final : public FunctionPass { -public: - static char ID; - - /// Construct a new DependenceInfoWrapper pass. - DependenceInfoWrapperPass() : FunctionPass(ID) {} - - /// Return the dependence information for the given SCoP. - /// - /// @param S SCoP object. - /// @param Level The granularity of dependence analysis result. - /// - /// @return The dependence analysis result - /// - const Dependences &getDependences(Scop *S, Dependences::AnalysisLevel Level); - - /// Recompute dependences from schedule and memory accesses. - const Dependences &recomputeDependences(Scop *S, - Dependences::AnalysisLevel Level); - - /// Compute the dependence information on-the-fly for the function. - bool runOnFunction(Function &F) override; - - /// Print the dependences for the current function to @p OS. - void print(raw_ostream &OS, const Module *M = nullptr) const override; - - /// Release the internal memory. - void releaseMemory() override { ScopToDepsMap.clear(); } - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override; - -private: - using ScopToDepsMapTy = DenseMap>; - - /// Scop to Dependence map for the current function. - ScopToDepsMapTy ScopToDepsMap; -}; - -llvm::Pass *createDependenceInfoWrapperPassPass(); -llvm::Pass * -createDependenceInfoPrinterLegacyFunctionPass(llvm::raw_ostream &OS); - +DependenceAnalysis::Result runDependenceAnalysis(Scop &S); } // namespace polly -namespace llvm { -void initializeDependenceInfoPass(llvm::PassRegistry &); -void initializeDependenceInfoPrinterLegacyPassPass(llvm::PassRegistry &); -void initializeDependenceInfoWrapperPassPass(llvm::PassRegistry &); -void initializeDependenceInfoPrinterLegacyFunctionPassPass( - llvm::PassRegistry &); -} // namespace llvm - #endif diff --git a/polly/include/polly/FlattenSchedule.h b/polly/include/polly/FlattenSchedule.h index 3ef3c304243df..154344d2f5c3e 100644 --- a/polly/include/polly/FlattenSchedule.h +++ b/polly/include/polly/FlattenSchedule.h @@ -15,20 +15,10 @@ #ifndef POLLY_FLATTENSCHEDULE_H #define POLLY_FLATTENSCHEDULE_H -namespace llvm { -class PassRegistry; -class Pass; -class raw_ostream; -} // namespace llvm - namespace polly { -llvm::Pass *createFlattenSchedulePass(); -llvm::Pass *createFlattenSchedulePrinterLegacyPass(llvm::raw_ostream &OS); -} // namespace polly +class Scop; -namespace llvm { -void initializeFlattenSchedulePass(llvm::PassRegistry &); -void initializeFlattenSchedulePrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm +void runFlattenSchedulePass(Scop &S); +} // namespace polly #endif /* POLLY_FLATTENSCHEDULE_H */ diff --git a/polly/include/polly/ForwardOpTree.h b/polly/include/polly/ForwardOpTree.h index b5da0f513ab78..8b2ece1f08e15 100644 --- a/polly/include/polly/ForwardOpTree.h +++ b/polly/include/polly/ForwardOpTree.h @@ -15,13 +15,7 @@ #include "polly/ScopPass.h" -namespace llvm { -class PassRegistry; -} // namespace llvm - namespace polly { -llvm::Pass *createForwardOpTreeWrapperPass(); -llvm::Pass *createForwardOpTreePrinterLegacyPass(llvm::raw_ostream &OS); struct ForwardOpTreePass final : llvm::PassInfoMixin { ForwardOpTreePass() {} @@ -41,11 +35,15 @@ struct ForwardOpTreePrinterPass final llvm::raw_ostream &OS; }; +/// Pass that redirects scalar reads to array elements that are known to contain +/// the same value. +/// +/// This reduces the number of scalar accesses and therefore potentially +/// increases the freedom of the scheduler. In the ideal case, all reads of a +/// scalar definition are redirected (We currently do not care about removing +/// the write in this case). This is also useful for the main DeLICM pass as +/// there are less scalars to be mapped. +bool runForwardOpTree(Scop &S); } // namespace polly -namespace llvm { -void initializeForwardOpTreeWrapperPassPass(PassRegistry &); -void initializeForwardOpTreePrinterLegacyPassPass(PassRegistry &); -} // namespace llvm - #endif // POLLY_FORWARDOPTREE_H diff --git a/polly/include/polly/JSONExporter.h b/polly/include/polly/JSONExporter.h index 958f95ea11404..82a881c737064 100644 --- a/polly/include/polly/JSONExporter.h +++ b/polly/include/polly/JSONExporter.h @@ -9,13 +9,11 @@ #ifndef POLLY_JSONEXPORTER_H #define POLLY_JSONEXPORTER_H +#include "polly/DependenceInfo.h" #include "polly/ScopPass.h" #include "llvm/IR/PassManager.h" namespace polly { -llvm::Pass *createJSONExporterPass(); -llvm::Pass *createJSONImporterPass(); -llvm::Pass *createJSONImporterPrinterLegacyPass(llvm::raw_ostream &OS); /// This pass exports a scop to a jscop file. The filename is generated from the /// concatenation of the function and scop name. @@ -30,12 +28,9 @@ struct JSONImportPass final : llvm::PassInfoMixin { llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &, ScopStandardAnalysisResults &, SPMUpdater &); }; -} // namespace polly -namespace llvm { -void initializeJSONExporterPass(llvm::PassRegistry &); -void initializeJSONImporterPass(llvm::PassRegistry &); -void initializeJSONImporterPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm +void runImportJSON(Scop &S, DependenceAnalysis::Result &DA); +void runExportJSON(Scop &S); +} // namespace polly #endif /* POLLY_JSONEXPORTER_H */ diff --git a/polly/include/polly/LinkAllPasses.h b/polly/include/polly/LinkAllPasses.h deleted file mode 100644 index 9978344c73e9f..0000000000000 --- a/polly/include/polly/LinkAllPasses.h +++ /dev/null @@ -1,156 +0,0 @@ -//===- polly/LinkAllPasses.h ----------- Reference All Passes ---*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This header file pulls in all transformation and analysis passes for tools -// like opt and bugpoint that need this functionality. -// -//===----------------------------------------------------------------------===// - -#ifndef POLLY_LINKALLPASSES_H -#define POLLY_LINKALLPASSES_H - -#include "polly/Config/config.h" -#include "polly/Support/DumpFunctionPass.h" -#include "polly/Support/DumpModulePass.h" -#include "llvm/ADT/StringRef.h" -#include "llvm/Support/AlwaysTrue.h" - -namespace llvm { -class Pass; -class PassRegistry; -} // namespace llvm - -namespace polly { -llvm::Pass *createCodePreparationPass(); -llvm::Pass *createScopInlinerPass(); -llvm::Pass *createDeadCodeElimWrapperPass(); -llvm::Pass *createDependenceInfoPass(); -llvm::Pass *createDependenceInfoPrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createDependenceInfoWrapperPassPass(); -llvm::Pass * -createDependenceInfoPrinterLegacyFunctionPass(llvm::raw_ostream &OS); -llvm::Pass *createDOTOnlyPrinterWrapperPass(); -llvm::Pass *createDOTOnlyViewerWrapperPass(); -llvm::Pass *createDOTPrinterWrapperPass(); -llvm::Pass *createDOTViewerWrapperPass(); -llvm::Pass *createJSONExporterPass(); -llvm::Pass *createJSONImporterPass(); -llvm::Pass *createJSONImporterPrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createPollyCanonicalizePass(); -llvm::Pass *createScopDetectionWrapperPassPass(); -llvm::Pass *createScopDetectionPrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createScopInfoRegionPassPass(); -llvm::Pass *createScopInfoPrinterLegacyRegionPass(llvm::raw_ostream &OS); -llvm::Pass *createScopInfoWrapperPassPass(); -llvm::Pass *createScopInfoPrinterLegacyFunctionPass(llvm::raw_ostream &OS); -llvm::Pass *createIslAstInfoWrapperPassPass(); -llvm::Pass *createIslAstInfoPrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createCodeGenerationPass(); -llvm::Pass *createIslScheduleOptimizerWrapperPass(); -llvm::Pass *createIslScheduleOptimizerPrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createFlattenSchedulePass(); -llvm::Pass *createFlattenSchedulePrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createForwardOpTreeWrapperPass(); -llvm::Pass *createForwardOpTreePrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createDeLICMWrapperPass(); -llvm::Pass *createDeLICMPrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createMaximalStaticExpansionPass(); -llvm::Pass *createSimplifyWrapperPass(int); -llvm::Pass *createSimplifyPrinterLegacyPass(llvm::raw_ostream &OS); -llvm::Pass *createPruneUnprofitableWrapperPass(); - -extern char &CodePreparationID; -} // namespace polly - -namespace { -struct PollyForcePassLinking { - PollyForcePassLinking() { - // We must reference the passes in such a way that compilers will not delete - // it all as dead code, even with whole program optimization, yet is - // effectively a NO-OP. - if (llvm::getNonFoldableAlwaysTrue()) - return; - - polly::createCodePreparationPass(); - polly::createDeadCodeElimWrapperPass(); - polly::createDependenceInfoPass(); - polly::createDependenceInfoPrinterLegacyPass(llvm::outs()); - polly::createDependenceInfoWrapperPassPass(); - polly::createDependenceInfoPrinterLegacyFunctionPass(llvm::outs()); - polly::createDOTOnlyPrinterWrapperPass(); - polly::createDOTOnlyViewerWrapperPass(); - polly::createDOTPrinterWrapperPass(); - polly::createDOTViewerWrapperPass(); - polly::createJSONExporterPass(); - polly::createJSONImporterPass(); - polly::createJSONImporterPrinterLegacyPass(llvm::outs()); - polly::createScopDetectionWrapperPassPass(); - polly::createScopDetectionPrinterLegacyPass(llvm::outs()); - polly::createScopInfoRegionPassPass(); - polly::createScopInfoPrinterLegacyRegionPass(llvm::outs()); - polly::createScopInfoWrapperPassPass(); - polly::createScopInfoPrinterLegacyFunctionPass(llvm::outs()); - polly::createPollyCanonicalizePass(); - polly::createIslAstInfoWrapperPassPass(); - polly::createIslAstInfoPrinterLegacyPass(llvm::outs()); - polly::createCodeGenerationPass(); - polly::createIslScheduleOptimizerWrapperPass(); - polly::createIslScheduleOptimizerPrinterLegacyPass(llvm::outs()); - polly::createMaximalStaticExpansionPass(); - polly::createFlattenSchedulePass(); - polly::createFlattenSchedulePrinterLegacyPass(llvm::errs()); - polly::createForwardOpTreeWrapperPass(); - polly::createForwardOpTreePrinterLegacyPass(llvm::errs()); - polly::createDeLICMWrapperPass(); - polly::createDeLICMPrinterLegacyPass(llvm::outs()); - polly::createDumpModuleWrapperPass("", true); - polly::createDumpFunctionWrapperPass(""); - polly::createSimplifyWrapperPass(0); - polly::createSimplifyPrinterLegacyPass(llvm::outs()); - polly::createPruneUnprofitableWrapperPass(); - } -} PollyForcePassLinking; // Force link by creating a global definition. -} // namespace - -namespace llvm { -void initializeCodePreparationPass(llvm::PassRegistry &); -void initializeScopInlinerWrapperPassPass(llvm::PassRegistry &); -void initializeScopDetectionWrapperPassPass(llvm::PassRegistry &); -void initializeScopDetectionPrinterLegacyPassPass(llvm::PassRegistry &); -void initializeScopInfoRegionPassPass(PassRegistry &); -void initializeScopInfoPrinterLegacyRegionPassPass(llvm::PassRegistry &); -void initializeScopInfoWrapperPassPass(PassRegistry &); -void initializeScopInfoPrinterLegacyFunctionPassPass(PassRegistry &); -void initializeDeadCodeElimWrapperPassPass(llvm::PassRegistry &); -void initializeJSONExporterPass(llvm::PassRegistry &); -void initializeJSONImporterPass(llvm::PassRegistry &); -void initializeJSONImporterPrinterLegacyPassPass(llvm::PassRegistry &); -void initializeDependenceInfoPass(llvm::PassRegistry &); -void initializeDependenceInfoPrinterLegacyPassPass(llvm::PassRegistry &); -void initializeDependenceInfoWrapperPassPass(llvm::PassRegistry &); -void initializeDependenceInfoPrinterLegacyFunctionPassPass( - llvm::PassRegistry &); -void initializeIslAstInfoWrapperPassPass(llvm::PassRegistry &); -void initializeIslAstInfoPrinterLegacyPassPass(llvm::PassRegistry &); -void initializeCodeGenerationPass(llvm::PassRegistry &); -void initializeIslScheduleOptimizerWrapperPassPass(llvm::PassRegistry &); -void initializeIslScheduleOptimizerPrinterLegacyPassPass(llvm::PassRegistry &); -void initializeMaximalStaticExpanderWrapperPassPass(llvm::PassRegistry &); -void initializePollyCanonicalizePass(llvm::PassRegistry &); -void initializeFlattenSchedulePass(llvm::PassRegistry &); -void initializeFlattenSchedulePrinterLegacyPassPass(llvm::PassRegistry &); -void initializeForwardOpTreeWrapperPassPass(llvm::PassRegistry &); -void initializeForwardOpTreePrinterLegacyPassPass(PassRegistry &); -void initializeDeLICMWrapperPassPass(llvm::PassRegistry &); -void initializeDeLICMPrinterLegacyPassPass(llvm::PassRegistry &); -void initializeSimplifyWrapperPassPass(llvm::PassRegistry &); -void initializeSimplifyPrinterLegacyPassPass(llvm::PassRegistry &); -void initializePruneUnprofitableWrapperPassPass(llvm::PassRegistry &); -} // namespace llvm - -#endif diff --git a/polly/include/polly/MaximalStaticExpansion.h b/polly/include/polly/MaximalStaticExpansion.h index 88827b2700887..1f9fbcb1d6a70 100644 --- a/polly/include/polly/MaximalStaticExpansion.h +++ b/polly/include/polly/MaximalStaticExpansion.h @@ -14,6 +14,7 @@ #ifndef POLLY_MAXIMALSTATICEXPANSION_H #define POLLY_MAXIMALSTATICEXPANSION_H +#include "polly/DependenceInfo.h" #include "polly/ScopPass.h" #include "llvm/IR/PassManager.h" @@ -37,6 +38,7 @@ struct MaximalStaticExpansionPrinterPass llvm::raw_ostream &OS; }; +void runMaximalStaticExpansion(Scop &S, DependenceAnalysis::Result &DI); } // namespace polly #endif /* POLLY_MAXIMALSTATICEXPANSION_H */ diff --git a/polly/include/polly/Pass/PhaseManager.h b/polly/include/polly/Pass/PhaseManager.h new file mode 100644 index 0000000000000..9ff9bbf02d71f --- /dev/null +++ b/polly/include/polly/Pass/PhaseManager.h @@ -0,0 +1,127 @@ +//===------ PhaseManager.h --------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// Implements the sequence of operations on SCoPs, called phases. It is itelf +// not a pass in either pass manager, but used from PollyFunctionPass or +// PollyModulePass. +// +//===----------------------------------------------------------------------===// + +#ifndef POLLY_PASS_PHASEMANAGER_H_ +#define POLLY_PASS_PHASEMANAGER_H_ + +#include "polly/DependenceInfo.h" +#include "llvm/ADT/Bitset.h" +#include + +namespace llvm { +class Function; +class Error; +} // namespace llvm + +namespace polly { + +/// Phases (in execution order) within the Polly pass. +enum class PassPhase { + None, + + Prepare, + + Detection, + PrintDetect, + DotScops, + DotScopsOnly, + ViewScops, + ViewScopsOnly, + + ScopInfo, + PrintScopInfo, + + Flatten, + + Dependences, + PrintDependences, + + ImportJScop, + Simplify0, + Optree, + DeLICM, + Simplify1, + DeadCodeElimination, + MaximumStaticExtension, + PruneUnprofitable, + Optimization, + ExportJScop, + AstGen, + CodeGen, + + PassPhaseFirst = Prepare, + PassPhaseLast = CodeGen +}; + +StringRef getPhaseName(PassPhase Phase); +PassPhase parsePhase(StringRef Name); +bool dependsOnDependenceInfo(PassPhase Phase); + +/// Options for the Polly pass. +class PollyPassOptions { + /// For each Polly phase, whether it should be executed. + /// Since PassPhase::None is unused, bit positions are shifted by one. + llvm::Bitset(PassPhase::PassPhaseLast) - + static_cast(PassPhase::PassPhaseFirst) + 1> + PhaseEnabled; + +public: + bool ViewAll = false; + std::string ViewFilter; + Dependences::AnalysisLevel PrintDepsAnalysisLevel = Dependences::AL_Statement; + + bool isPhaseEnabled(PassPhase Phase) const { + assert(Phase != PassPhase::None); + unsigned BitPos = static_cast(Phase) - + static_cast(PassPhase::PassPhaseFirst); + return PhaseEnabled[BitPos]; + } + + void setPhaseEnabled(PassPhase Phase, bool Enabled = true) { + assert(Phase != PassPhase::None); + unsigned BitPos = static_cast(Phase) - + static_cast(PassPhase::PassPhaseFirst); + if (Enabled) + PhaseEnabled.set(BitPos); + else + PhaseEnabled.reset(BitPos); + } + + /// Enable all phases that are necessary for a roundtrip from LLVM-IR back to + /// LLVM-IR. + void enableEnd2End(); + + /// Enabled the default optimization phases. + void enableDefaultOpts(); + + /// Disable all phases following \p Phase. + /// Useful when regression testing that particular phase and everything after + /// it is not of interest. + void disableAfter(PassPhase Phase); + + /// Check whether the options are coherent relative to each other. + llvm::Error checkConsistency() const; +}; + +/// Run Polly and its phases on \p F. +bool runPollyPass(Function &F, llvm::FunctionAnalysisManager &FAM, + PollyPassOptions Opts); +} // namespace polly + +/// Make llvm::enum_seq work. +template <> struct llvm::enum_iteration_traits { + static constexpr bool is_iterable = true; +}; + +#endif /* POLLY_PASS_PHASEMANAGER_H_ */ diff --git a/polly/include/polly/Pass/PollyFunctionPass.h b/polly/include/polly/Pass/PollyFunctionPass.h new file mode 100644 index 0000000000000..dd0d4e77d7a80 --- /dev/null +++ b/polly/include/polly/Pass/PollyFunctionPass.h @@ -0,0 +1,32 @@ +//===------ PollyFunctionPass.h - Polly function pass ---------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef POLLY_PASS_POLLYFUNCTIONPASS_H_ +#define POLLY_PASS_POLLYFUNCTIONPASS_H_ + +#include "polly/Pass/PhaseManager.h" +#include "llvm/IR/Analysis.h" +#include "llvm/IR/PassManager.h" +#include + +namespace polly { + +class PollyFunctionPass : public llvm::PassInfoMixin { +public: + PollyFunctionPass() {} + PollyFunctionPass(PollyPassOptions Opts) : Opts(std::move(Opts)) {} + + llvm::PreservedAnalyses run(llvm::Function &F, + llvm::FunctionAnalysisManager &); + +private: + PollyPassOptions Opts; +}; +} // namespace polly + +#endif /* POLLY_PASS_POLLYFUNCTIONPASS_H_ */ diff --git a/polly/include/polly/Pass/PollyModulePass.h b/polly/include/polly/Pass/PollyModulePass.h new file mode 100644 index 0000000000000..2214bbf3d143e --- /dev/null +++ b/polly/include/polly/Pass/PollyModulePass.h @@ -0,0 +1,30 @@ +//===------ PollyModulePass.h - Polly module pass -------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef POLLY_PASS_POLLYMODULEPASS_H_ +#define POLLY_PASS_POLLYMODULEPASS_H_ + +#include "polly/Pass/PhaseManager.h" +#include "llvm/IR/PassManager.h" + +namespace polly { + +class PollyModulePass : public llvm::PassInfoMixin { +public: + PollyModulePass() {} + PollyModulePass(PollyPassOptions Opts) : Opts(std::move(Opts)) {} + + llvm::PreservedAnalyses run(llvm::Module &M, llvm::ModuleAnalysisManager &); + +private: + PollyPassOptions Opts; +}; + +} // namespace polly + +#endif /* POLLY_PASS_POLLYMODULEPASS_H_ */ diff --git a/polly/include/polly/PruneUnprofitable.h b/polly/include/polly/PruneUnprofitable.h index 2d285cce69ad4..16b76cc62f1d2 100644 --- a/polly/include/polly/PruneUnprofitable.h +++ b/polly/include/polly/PruneUnprofitable.h @@ -15,13 +15,7 @@ #include "polly/ScopPass.h" -namespace llvm { -class Pass; -class PassRegistry; -} // namespace llvm - namespace polly { -llvm::Pass *createPruneUnprofitableWrapperPass(); struct PruneUnprofitablePass final : llvm::PassInfoMixin { @@ -30,10 +24,8 @@ struct PruneUnprofitablePass final llvm::PreservedAnalyses run(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, SPMUpdater &U); }; -} // namespace polly -namespace llvm { -void initializePruneUnprofitableWrapperPassPass(PassRegistry &); -} +bool runPruneUnprofitable(Scop &S); +} // namespace polly #endif // POLLY_PRUNEUNPROFITABLE_H diff --git a/polly/include/polly/RegisterPasses.h b/polly/include/polly/RegisterPasses.h index 3a81e1ba7487d..7819462cb0c36 100644 --- a/polly/include/polly/RegisterPasses.h +++ b/polly/include/polly/RegisterPasses.h @@ -14,7 +14,6 @@ #define POLLY_REGISTER_PASSES_H namespace llvm { -class PassRegistry; class PassBuilder; struct PassPluginLibraryInfo; namespace legacy { @@ -23,7 +22,6 @@ class PassManagerBase; } // namespace llvm namespace polly { -void initializePollyPasses(llvm::PassRegistry &Registry); void registerPollyPasses(llvm::PassBuilder &PB); } // namespace polly diff --git a/polly/include/polly/ScheduleOptimizer.h b/polly/include/polly/ScheduleOptimizer.h index 3e17eeff49ae3..ac45572ba7ed5 100644 --- a/polly/include/polly/ScheduleOptimizer.h +++ b/polly/include/polly/ScheduleOptimizer.h @@ -9,16 +9,10 @@ #ifndef POLLY_SCHEDULEOPTIMIZER_H #define POLLY_SCHEDULEOPTIMIZER_H +#include "polly/DependenceInfo.h" #include "polly/ScopPass.h" -namespace llvm { -class Pass; -class PassRegistry; -} // namespace llvm - namespace polly { -llvm::Pass *createIslScheduleOptimizerWrapperPass(); -llvm::Pass *createIslScheduleOptimizerPrinterLegacyPass(llvm::raw_ostream &OS); struct IslScheduleOptimizerPass final : llvm::PassInfoMixin { @@ -38,11 +32,9 @@ struct IslScheduleOptimizerPrinterPass final private: llvm::raw_ostream &OS; }; -} // namespace polly -namespace llvm { -void initializeIslScheduleOptimizerWrapperPassPass(llvm::PassRegistry &); -void initializeIslScheduleOptimizerPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm +void runIslScheduleOptimizer(Scop &S, llvm::TargetTransformInfo *TTI, + DependenceAnalysis::Result &Deps); +} // namespace polly #endif // POLLY_SCHEDULEOPTIMIZER_H diff --git a/polly/include/polly/ScopDetection.h b/polly/include/polly/ScopDetection.h index 5759f75463284..ded1c88206430 100644 --- a/polly/include/polly/ScopDetection.h +++ b/polly/include/polly/ScopDetection.h @@ -52,7 +52,6 @@ #include "llvm/Analysis/AliasSetTracker.h" #include "llvm/Analysis/RegionInfo.h" #include "llvm/Analysis/ScalarEvolutionExpressions.h" -#include "llvm/Pass.h" #include namespace polly { @@ -68,7 +67,6 @@ using llvm::DenseMap; using llvm::DominatorTree; using llvm::Function; using llvm::FunctionAnalysisManager; -using llvm::FunctionPass; using llvm::IntrinsicInst; using llvm::LoopInfo; using llvm::Module; @@ -631,31 +629,6 @@ struct ScopAnalysisPrinterPass final : PassInfoMixin { raw_ostream &OS; }; - -class ScopDetectionWrapperPass final : public FunctionPass { - std::unique_ptr Result; - -public: - ScopDetectionWrapperPass(); - - /// @name FunctionPass interface - ///@{ - static char ID; - void getAnalysisUsage(AnalysisUsage &AU) const override; - void releaseMemory() override; - bool runOnFunction(Function &F) override; - void print(raw_ostream &OS, const Module *M = nullptr) const override; - ///@} - - ScopDetection &getSD() const { return *Result; } -}; - -llvm::Pass *createScopDetectionPrinterLegacyPass(llvm::raw_ostream &OS); } // namespace polly -namespace llvm { -void initializeScopDetectionWrapperPassPass(llvm::PassRegistry &); -void initializeScopDetectionPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif // POLLY_SCOPDETECTION_H diff --git a/polly/include/polly/ScopGraphPrinter.h b/polly/include/polly/ScopGraphPrinter.h index b57732ad3d70d..c4e669f0c3503 100644 --- a/polly/include/polly/ScopGraphPrinter.h +++ b/polly/include/polly/ScopGraphPrinter.h @@ -70,6 +70,9 @@ struct DOTGraphTraits : DOTGraphTraits { namespace polly { +extern std::string ViewFilter; +extern bool ViewAll; + struct ScopViewer final : llvm::DOTGraphTraitsViewer { ScopViewer() : llvm::DOTGraphTraitsViewer("scops") {} diff --git a/polly/include/polly/ScopInfo.h b/polly/include/polly/ScopInfo.h index f700144165d53..7541ddc21e39f 100644 --- a/polly/include/polly/ScopInfo.h +++ b/polly/include/polly/ScopInfo.h @@ -23,13 +23,11 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/MapVector.h" #include "llvm/ADT/SetVector.h" -#include "llvm/Analysis/RegionPass.h" #include "llvm/IR/DebugLoc.h" #include "llvm/IR/Instruction.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/PassManager.h" #include "llvm/IR/ValueHandle.h" -#include "llvm/Pass.h" #include "isl/isl-noexceptions.h" #include #include @@ -55,8 +53,6 @@ using llvm::MemIntrinsic; using llvm::PassInfoMixin; using llvm::PHINode; using llvm::RegionNode; -using llvm::RegionPass; -using llvm::RGPassManager; using llvm::SetVector; using llvm::SmallPtrSetImpl; using llvm::SmallVector; @@ -2674,39 +2670,6 @@ class Scop final { /// Print Scop scop to raw_ostream OS. raw_ostream &operator<<(raw_ostream &OS, const Scop &scop); -/// The legacy pass manager's analysis pass to compute scop information -/// for a region. -class ScopInfoRegionPass final : public RegionPass { - /// The Scop pointer which is used to construct a Scop. - std::unique_ptr S; - -public: - static char ID; // Pass identification, replacement for typeid - - ScopInfoRegionPass() : RegionPass(ID) {} - ~ScopInfoRegionPass() override = default; - - /// Build Scop object, the Polly IR of static control - /// part for the current SESE-Region. - /// - /// @return If the current region is a valid for a static control part, - /// return the Polly IR representing this static control part, - /// return null otherwise. - Scop *getScop() { return S.get(); } - const Scop *getScop() const { return S.get(); } - - /// Calculate the polyhedral scop information for a given Region. - bool runOnRegion(Region *R, RGPassManager &RGM) override; - - void releaseMemory() override { S.reset(); } - - void print(raw_ostream &O, const Module *M = nullptr) const override; - - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; - -llvm::Pass *createScopInfoPrinterLegacyRegionPass(raw_ostream &OS); - class ScopInfo { public: using RegionToScopMapTy = MapVector>; @@ -2781,45 +2744,6 @@ struct ScopInfoPrinterPass final : PassInfoMixin { raw_ostream &Stream; }; - -//===----------------------------------------------------------------------===// -/// The legacy pass manager's analysis pass to compute scop information -/// for the whole function. -/// -/// This pass will maintain a map of the maximal region within a scop to its -/// scop object for all the feasible scops present in a function. -/// This pass is an alternative to the ScopInfoRegionPass in order to avoid a -/// region pass manager. -class ScopInfoWrapperPass final : public FunctionPass { - std::unique_ptr Result; - -public: - ScopInfoWrapperPass() : FunctionPass(ID) {} - ~ScopInfoWrapperPass() override = default; - - static char ID; // Pass identification, replacement for typeid - - ScopInfo *getSI() { return Result.get(); } - const ScopInfo *getSI() const { return Result.get(); } - - /// Calculate all the polyhedral scops for a given function. - bool runOnFunction(Function &F) override; - - void releaseMemory() override { Result.reset(); } - - void print(raw_ostream &O, const Module *M = nullptr) const override; - - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; - -llvm::Pass *createScopInfoPrinterLegacyFunctionPass(llvm::raw_ostream &OS); } // end namespace polly -namespace llvm { -void initializeScopInfoRegionPassPass(PassRegistry &); -void initializeScopInfoPrinterLegacyRegionPassPass(PassRegistry &); -void initializeScopInfoWrapperPassPass(PassRegistry &); -void initializeScopInfoPrinterLegacyFunctionPassPass(PassRegistry &); -} // end namespace llvm - #endif // POLLY_SCOPINFO_H diff --git a/polly/include/polly/ScopInliner.h b/polly/include/polly/ScopInliner.h index 014667804330f..ae1938f03ac70 100644 --- a/polly/include/polly/ScopInliner.h +++ b/polly/include/polly/ScopInliner.h @@ -23,12 +23,6 @@ class ScopInlinerPass : public llvm::PassInfoMixin { llvm::LazyCallGraph &CG, llvm::CGSCCUpdateResult &UR); }; - -llvm::Pass *createScopInlinerWrapperPass(); } // namespace polly -namespace llvm { -void initializeScopInlinerWrapperPassPass(llvm::PassRegistry &); -} - #endif /* POLLY_POLLYINLINER_H */ diff --git a/polly/include/polly/ScopPass.h b/polly/include/polly/ScopPass.h index 144cfd1364393..80ccd5717f96c 100644 --- a/polly/include/polly/ScopPass.h +++ b/polly/include/polly/ScopPass.h @@ -19,7 +19,6 @@ #include "polly/ScopInfo.h" #include "llvm/ADT/PriorityWorklist.h" -#include "llvm/Analysis/RegionPass.h" #include "llvm/Analysis/TargetTransformInfo.h" #include "llvm/IR/PassManager.h" #include "llvm/IR/PassManagerImpl.h" @@ -155,33 +154,6 @@ using ScopPassManager = PassManager; -/// ScopPass - This class adapts the RegionPass interface to allow convenient -/// creation of passes that operate on the Polly IR. Instead of overriding -/// runOnRegion, subclasses override runOnScop. -class ScopPass : public RegionPass { - Scop *S; - -protected: - explicit ScopPass(char &ID) : RegionPass(ID), S(nullptr) {} - - /// runOnScop - This method must be overloaded to perform the - /// desired Polyhedral transformation or analysis. - /// - virtual bool runOnScop(Scop &S) = 0; - - /// Print method for SCoPs. - virtual void printScop(raw_ostream &OS, Scop &S) const {} - - /// getAnalysisUsage - Subclasses that override getAnalysisUsage - /// must call this. - /// - void getAnalysisUsage(AnalysisUsage &AU) const override; - -private: - bool runOnRegion(Region *R, RGPassManager &RGM) override; - void print(raw_ostream &OS, const Module *) const override; -}; - struct ScopStandardAnalysisResults { DominatorTree &DT; ScopInfo &SI; diff --git a/polly/include/polly/Simplify.h b/polly/include/polly/Simplify.h index b2aa58d850fae..4565eb26edaf0 100644 --- a/polly/include/polly/Simplify.h +++ b/polly/include/polly/Simplify.h @@ -16,11 +16,6 @@ #include "polly/ScopPass.h" #include "llvm/ADT/SmallVector.h" -namespace llvm { -class PassRegistry; -class Pass; -} // namespace llvm - namespace polly { class MemoryAccess; class ScopStmt; @@ -41,17 +36,6 @@ class ScopStmt; /// undefined. llvm::SmallVector getAccessesInOrder(ScopStmt &Stmt); -/// Create a Simplify pass -/// -/// @param CallNo Disambiguates this instance for when there are multiple -/// instances of this pass in the pass manager. It is used only to -/// keep the statistics apart and has no influence on the -/// simplification itself. -/// -/// @return The Simplify pass. -llvm::Pass *createSimplifyWrapperPass(int CallNo = 0); -llvm::Pass *createSimplifyPrinterLegacyPass(llvm::raw_ostream &OS); - struct SimplifyPass final : PassInfoMixin { SimplifyPass(int CallNo = 0) : CallNo(CallNo) {} @@ -73,11 +57,8 @@ struct SimplifyPrinterPass final : PassInfoMixin { raw_ostream &OS; int CallNo; }; -} // namespace polly -namespace llvm { -void initializeSimplifyWrapperPassPass(llvm::PassRegistry &); -void initializeSimplifyPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm +bool runSimplify(Scop &S, int CallNo); +} // namespace polly #endif /* POLLY_TRANSFORM_SIMPLIFY_H */ diff --git a/polly/include/polly/Support/DumpFunctionPass.h b/polly/include/polly/Support/DumpFunctionPass.h index e5c16203adb8f..af04912ed4fe2 100644 --- a/polly/include/polly/Support/DumpFunctionPass.h +++ b/polly/include/polly/Support/DumpFunctionPass.h @@ -16,13 +16,7 @@ #include "llvm/IR/PassManager.h" #include -namespace llvm { -class FunctionPass; -class ModulePass; -} // namespace llvm - namespace polly { -llvm::FunctionPass *createDumpFunctionWrapperPass(std::string Suffix); /// A pass that isolates a function into a new Module and writes it into a file. struct DumpFunctionPass final : llvm::PassInfoMixin { @@ -33,12 +27,6 @@ struct DumpFunctionPass final : llvm::PassInfoMixin { llvm::PreservedAnalyses run(llvm::Function &F, llvm::FunctionAnalysisManager &AM); }; - } // namespace polly -namespace llvm { -class PassRegistry; -void initializeDumpFunctionWrapperPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif /* POLLY_SUPPORT_DUMPFUNCTIONPASS_H */ diff --git a/polly/include/polly/Support/DumpModulePass.h b/polly/include/polly/Support/DumpModulePass.h index c90bbc2484310..6d393a174b19b 100644 --- a/polly/include/polly/Support/DumpModulePass.h +++ b/polly/include/polly/Support/DumpModulePass.h @@ -16,12 +16,8 @@ #include "llvm/IR/PassManager.h" #include -namespace llvm { -class ModulePass; -} // namespace llvm - namespace polly { -/// Create a pass that prints the module into a file. +/// A pass that prints the module into a file. /// /// The meaning of @p Filename depends on @p IsSuffix. If IsSuffix==false, then /// the module is written to the @p Filename. If it is true, the filename is @@ -30,10 +26,6 @@ namespace polly { /// The intent of IsSuffix is to avoid the file being overwritten when /// processing multiple modules and/or with multiple dump passes in the /// pipeline. -llvm::ModulePass *createDumpModuleWrapperPass(std::string Filename, - bool IsSuffix); - -/// A pass that prints the module into a file. struct DumpModulePass final : llvm::PassInfoMixin { std::string Filename; bool IsSuffix; @@ -46,9 +38,4 @@ struct DumpModulePass final : llvm::PassInfoMixin { } // namespace polly -namespace llvm { -class PassRegistry; -void initializeDumpModuleWrapperPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif /* POLLY_SUPPORT_DUMPMODULEPASS_H */ diff --git a/polly/include/polly/Support/ScopHelper.h b/polly/include/polly/Support/ScopHelper.h index 75891525ff7b3..38b731a9f7d8d 100644 --- a/polly/include/polly/Support/ScopHelper.h +++ b/polly/include/polly/Support/ScopHelper.h @@ -358,14 +358,6 @@ namespace polly { void simplifyRegion(llvm::Region *R, llvm::DominatorTree *DT, llvm::LoopInfo *LI, llvm::RegionInfo *RI); -/// Split the entry block of a function to store the newly inserted -/// allocations outside of all Scops. -/// -/// @param EntryBlock The entry block of the current function. -/// @param P The pass that currently running. -/// -void splitEntryBlockForAlloca(llvm::BasicBlock *EntryBlock, llvm::Pass *P); - /// Split the entry block of a function to store the newly inserted /// allocations outside of all Scops. /// diff --git a/polly/lib/Analysis/DependenceInfo.cpp b/polly/lib/Analysis/DependenceInfo.cpp index c620f40ad0724..5183fc5725ece 100644 --- a/polly/lib/Analysis/DependenceInfo.cpp +++ b/polly/lib/Analysis/DependenceInfo.cpp @@ -20,7 +20,6 @@ //===----------------------------------------------------------------------===// // #include "polly/DependenceInfo.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopInfo.h" #include "polly/Support/GICHelper.h" @@ -42,6 +41,10 @@ using namespace llvm; #include "polly/Support/PollyDebug.h" #define DEBUG_TYPE "polly-dependence" +namespace polly { +Dependences::AnalysisLevel OptAnalysisLevel; +} + static cl::opt OptComputeOut( "polly-dependences-computeout", cl::desc("Bound the dependence analysis by a maximal amount of " @@ -69,9 +72,10 @@ static cl::opt OptAnalysisType( "Overapproximation of dependences")), cl::Hidden, cl::init(VALUE_BASED_ANALYSIS), cl::cat(PollyCategory)); -static cl::opt OptAnalysisLevel( +static cl::opt XOptAnalysisLevel( "polly-dependences-analysis-level", cl::desc("The level of dependence analysis"), + cl::location(OptAnalysisLevel), cl::values(clEnumValN(Dependences::AL_Statement, "statement-wise", "Statement-level analysis"), clEnumValN(Dependences::AL_Reference, "reference-wise", @@ -881,213 +885,7 @@ DependenceInfoPrinterPass::run(Scop &S, ScopAnalysisManager &SAM, return PreservedAnalyses::all(); } -const Dependences & -DependenceInfo::getDependences(Dependences::AnalysisLevel Level) { - if (Dependences *d = D[Level].get()) - return *d; - - return recomputeDependences(Level); -} - -const Dependences & -DependenceInfo::recomputeDependences(Dependences::AnalysisLevel Level) { - D[Level].reset(new Dependences(S->getSharedIslCtx(), Level)); - D[Level]->calculateDependences(*S); - return *D[Level]; -} - -void DependenceInfo::abandonDependences() { - for (std::unique_ptr &Deps : D) - Deps.release(); -} - -bool DependenceInfo::runOnScop(Scop &ScopVar) { - S = &ScopVar; - return false; -} - -/// Print the dependences for the given SCoP to @p OS. - -void polly::DependenceInfo::printScop(raw_ostream &OS, Scop &S) const { - if (auto d = D[OptAnalysisLevel].get()) { - d->print(OS); - return; - } - - // Otherwise create the dependences on-the-fly and print it - Dependences D(S.getSharedIslCtx(), OptAnalysisLevel); - D.calculateDependences(S); - D.print(OS); -} - -void DependenceInfo::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequiredTransitive(); - AU.setPreservesAll(); -} - -char DependenceInfo::ID = 0; - -Pass *polly::createDependenceInfoPass() { return new DependenceInfo(); } - -INITIALIZE_PASS_BEGIN(DependenceInfo, "polly-dependences", - "Polly - Calculate dependences", false, false); -INITIALIZE_PASS_DEPENDENCY(ScopInfoRegionPass); -INITIALIZE_PASS_END(DependenceInfo, "polly-dependences", - "Polly - Calculate dependences", false, false) - -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from DependenceAnalysis. -class DependenceInfoPrinterLegacyPass final : public ScopPass { -public: - static char ID; - - DependenceInfoPrinterLegacyPass() : DependenceInfoPrinterLegacyPass(outs()) {} - - explicit DependenceInfoPrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - DependenceInfo &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for " - << "region: '" << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char DependenceInfoPrinterLegacyPass::ID = 0; -} // namespace - -Pass *polly::createDependenceInfoPrinterLegacyPass(raw_ostream &OS) { - return new DependenceInfoPrinterLegacyPass(OS); -} - -INITIALIZE_PASS_BEGIN(DependenceInfoPrinterLegacyPass, - "polly-print-dependences", "Polly - Print dependences", - false, false); -INITIALIZE_PASS_DEPENDENCY(DependenceInfo); -INITIALIZE_PASS_END(DependenceInfoPrinterLegacyPass, "polly-print-dependences", - "Polly - Print dependences", false, false) - -//===----------------------------------------------------------------------===// - -const Dependences & -DependenceInfoWrapperPass::getDependences(Scop *S, - Dependences::AnalysisLevel Level) { - auto It = ScopToDepsMap.find(S); - if (It != ScopToDepsMap.end()) - if (It->second) { - if (It->second->getDependenceLevel() == Level) - return *It->second; - } - return recomputeDependences(S, Level); -} - -const Dependences &DependenceInfoWrapperPass::recomputeDependences( - Scop *S, Dependences::AnalysisLevel Level) { - std::unique_ptr D(new Dependences(S->getSharedIslCtx(), Level)); - D->calculateDependences(*S); - auto Inserted = ScopToDepsMap.insert(std::make_pair(S, std::move(D))); - return *Inserted.first->second; +DependenceAnalysis::Result polly::runDependenceAnalysis(Scop &S) { + DependenceAnalysis::Result Result{S, {}}; + return Result; } - -bool DependenceInfoWrapperPass::runOnFunction(Function &F) { - auto &SI = *getAnalysis().getSI(); - for (auto &It : SI) { - assert(It.second && "Invalid SCoP object!"); - recomputeDependences(It.second.get(), Dependences::AL_Access); - } - return false; -} - -void DependenceInfoWrapperPass::print(raw_ostream &OS, const Module *M) const { - for (auto &It : ScopToDepsMap) { - assert((It.first && It.second) && "Invalid Scop or Dependence object!\n"); - It.second->print(OS); - } -} - -void DependenceInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequiredTransitive(); - AU.setPreservesAll(); -} - -char DependenceInfoWrapperPass::ID = 0; - -Pass *polly::createDependenceInfoWrapperPassPass() { - return new DependenceInfoWrapperPass(); -} - -INITIALIZE_PASS_BEGIN( - DependenceInfoWrapperPass, "polly-function-dependences", - "Polly - Calculate dependences for all the SCoPs of a function", false, - false) -INITIALIZE_PASS_DEPENDENCY(ScopInfoWrapperPass); -INITIALIZE_PASS_END( - DependenceInfoWrapperPass, "polly-function-dependences", - "Polly - Calculate dependences for all the SCoPs of a function", false, - false) - -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from DependenceInfoWrapperPass. -class DependenceInfoPrinterLegacyFunctionPass final : public FunctionPass { -public: - static char ID; - - DependenceInfoPrinterLegacyFunctionPass() - : DependenceInfoPrinterLegacyFunctionPass(outs()) {} - - explicit DependenceInfoPrinterLegacyFunctionPass(llvm::raw_ostream &OS) - : FunctionPass(ID), OS(OS) {} - - bool runOnFunction(Function &F) override { - DependenceInfoWrapperPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for function '" - << F.getName() << "':\n"; - P.print(OS); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - FunctionPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char DependenceInfoPrinterLegacyFunctionPass::ID = 0; -} // namespace - -Pass *polly::createDependenceInfoPrinterLegacyFunctionPass(raw_ostream &OS) { - return new DependenceInfoPrinterLegacyFunctionPass(OS); -} - -INITIALIZE_PASS_BEGIN( - DependenceInfoPrinterLegacyFunctionPass, "polly-print-function-dependences", - "Polly - Print dependences for all the SCoPs of a function", false, false); -INITIALIZE_PASS_DEPENDENCY(DependenceInfoWrapperPass); -INITIALIZE_PASS_END(DependenceInfoPrinterLegacyFunctionPass, - "polly-print-function-dependences", - "Polly - Print dependences for all the SCoPs of a function", - false, false) diff --git a/polly/lib/Analysis/PruneUnprofitable.cpp b/polly/lib/Analysis/PruneUnprofitable.cpp index f8469c03fe55b..40cc9178da0f3 100644 --- a/polly/lib/Analysis/PruneUnprofitable.cpp +++ b/polly/lib/Analysis/PruneUnprofitable.cpp @@ -55,8 +55,9 @@ static void updateStatistics(Scop &S, bool Pruned) { NumAffineLoops += ScopStats.NumAffineLoops; } } +} // namespace -static bool runPruneUnprofitable(Scop &S) { +bool polly::runPruneUnprofitable(Scop &S) { if (PollyProcessUnprofitable) { POLLY_DEBUG( dbgs() << "NOTE: -polly-process-unprofitable active, won't prune " @@ -79,35 +80,6 @@ static bool runPruneUnprofitable(Scop &S) { return false; } -class PruneUnprofitableWrapperPass final : public ScopPass { -public: - static char ID; - - explicit PruneUnprofitableWrapperPass() : ScopPass(ID) {} - PruneUnprofitableWrapperPass(const PruneUnprofitableWrapperPass &) = delete; - PruneUnprofitableWrapperPass & - operator=(const PruneUnprofitableWrapperPass &) = delete; - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequired(); - AU.setPreservesAll(); - } - - bool runOnScop(Scop &S) override { return runPruneUnprofitable(S); } -}; -} // namespace - -char PruneUnprofitableWrapperPass::ID; - -Pass *polly::createPruneUnprofitableWrapperPass() { - return new PruneUnprofitableWrapperPass(); -} - -INITIALIZE_PASS_BEGIN(PruneUnprofitableWrapperPass, "polly-prune-unprofitable", - "Polly - Prune unprofitable SCoPs", false, false) -INITIALIZE_PASS_END(PruneUnprofitableWrapperPass, "polly-prune-unprofitable", - "Polly - Prune unprofitable SCoPs", false, false) - llvm::PreservedAnalyses PruneUnprofitablePass::run(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, SPMUpdater &U) { diff --git a/polly/lib/Analysis/ScopBuilder.cpp b/polly/lib/Analysis/ScopBuilder.cpp index 67a4c43455809..60a1e00916750 100644 --- a/polly/lib/Analysis/ScopBuilder.cpp +++ b/polly/lib/Analysis/ScopBuilder.cpp @@ -56,6 +56,7 @@ #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/raw_ostream.h" #include +#include using namespace llvm; using namespace polly; diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp index 43ed8636b054b..29e89348125f2 100644 --- a/polly/lib/Analysis/ScopDetection.cpp +++ b/polly/lib/Analysis/ScopDetection.cpp @@ -44,7 +44,6 @@ //===----------------------------------------------------------------------===// #include "polly/ScopDetection.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopDetectionDiagnostic.h" #include "polly/Support/SCEVValidator.h" @@ -75,8 +74,6 @@ #include "llvm/IR/Module.h" #include "llvm/IR/PassManager.h" #include "llvm/IR/Value.h" -#include "llvm/InitializePasses.h" -#include "llvm/Pass.h" #include "llvm/Support/Debug.h" #include "llvm/Support/Regex.h" #include "llvm/Support/raw_ostream.h" @@ -1983,53 +1980,12 @@ void ScopDetection::verifyAnalysis() { verifyRegion(*R); } -bool ScopDetectionWrapperPass::runOnFunction(Function &F) { - auto &LI = getAnalysis().getLoopInfo(); - auto &RI = getAnalysis().getRegionInfo(); - auto &AA = getAnalysis().getAAResults(); - auto &SE = getAnalysis().getSE(); - auto &DT = getAnalysis().getDomTree(); - auto &ORE = getAnalysis().getORE(); - - Result = std::make_unique(DT, SE, LI, RI, AA, ORE); - Result->detect(F); - return false; -} - -void ScopDetectionWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired(); - AU.addRequiredTransitive(); - AU.addRequired(); - AU.addRequired(); - // We also need AA and RegionInfo when we are verifying analysis. - AU.addRequiredTransitive(); - AU.addRequiredTransitive(); - AU.setPreservesAll(); -} - -void ScopDetectionWrapperPass::print(raw_ostream &OS, const Module *) const { - for (const Region *R : Result->ValidRegions) - OS << "Valid Region for Scop: " << R->getNameStr() << '\n'; - - OS << "\n"; -} - -ScopDetectionWrapperPass::ScopDetectionWrapperPass() : FunctionPass(ID) { - // Disable runtime alias checks if we ignore aliasing all together. - if (IgnoreAliasing) - PollyUseRuntimeAliasChecks = false; -} - ScopAnalysis::ScopAnalysis() { // Disable runtime alias checks if we ignore aliasing all together. if (IgnoreAliasing) PollyUseRuntimeAliasChecks = false; } -void ScopDetectionWrapperPass::releaseMemory() { Result.reset(); } - -char ScopDetectionWrapperPass::ID; - AnalysisKey ScopAnalysis::Key; ScopDetection ScopAnalysis::run(Function &F, FunctionAnalysisManager &FAM) { @@ -2055,66 +2011,3 @@ PreservedAnalyses ScopAnalysisPrinterPass::run(Function &F, OS << "\n"; return PreservedAnalyses::all(); } - -Pass *polly::createScopDetectionWrapperPassPass() { - return new ScopDetectionWrapperPass(); -} - -INITIALIZE_PASS_BEGIN(ScopDetectionWrapperPass, "polly-detect", - "Polly - Detect static control parts (SCoPs)", false, - false); -INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass); -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); -INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); -INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass); -INITIALIZE_PASS_DEPENDENCY(ScalarEvolutionWrapperPass); -INITIALIZE_PASS_DEPENDENCY(OptimizationRemarkEmitterWrapperPass); -INITIALIZE_PASS_END(ScopDetectionWrapperPass, "polly-detect", - "Polly - Detect static control parts (SCoPs)", false, false) - -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from ScopDetectionWrapperPass. -class ScopDetectionPrinterLegacyPass final : public FunctionPass { -public: - static char ID; - - ScopDetectionPrinterLegacyPass() : ScopDetectionPrinterLegacyPass(outs()) {} - - explicit ScopDetectionPrinterLegacyPass(llvm::raw_ostream &OS) - : FunctionPass(ID), OS(OS) {} - - bool runOnFunction(Function &F) override { - ScopDetectionWrapperPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for function '" - << F.getName() << "':\n"; - P.print(OS); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - FunctionPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char ScopDetectionPrinterLegacyPass::ID = 0; -} // namespace - -Pass *polly::createScopDetectionPrinterLegacyPass(raw_ostream &OS) { - return new ScopDetectionPrinterLegacyPass(OS); -} - -INITIALIZE_PASS_BEGIN(ScopDetectionPrinterLegacyPass, "polly-print-detect", - "Polly - Print static control parts (SCoPs)", false, - false); -INITIALIZE_PASS_DEPENDENCY(ScopDetectionWrapperPass); -INITIALIZE_PASS_END(ScopDetectionPrinterLegacyPass, "polly-print-detect", - "Polly - Print static control parts (SCoPs)", false, false) diff --git a/polly/lib/Analysis/ScopGraphPrinter.cpp b/polly/lib/Analysis/ScopGraphPrinter.cpp index eb6c995f0bb91..29e212882cefe 100644 --- a/polly/lib/Analysis/ScopGraphPrinter.cpp +++ b/polly/lib/Analysis/ScopGraphPrinter.cpp @@ -14,20 +14,26 @@ //===----------------------------------------------------------------------===// #include "polly/ScopGraphPrinter.h" -#include "polly/LinkAllPasses.h" #include "polly/ScopDetection.h" #include "llvm/Support/CommandLine.h" using namespace polly; using namespace llvm; -static cl::opt - ViewFilter("polly-view-only", - cl::desc("Only view functions that match this pattern"), - cl::Hidden, cl::init("")); -static cl::opt ViewAll("polly-view-all", - cl::desc("Also show functions without any scops"), - cl::Hidden, cl::init(false)); +namespace polly { +std::string ViewFilter; +bool ViewAll; +} // namespace polly + +static cl::opt + XViewFilter("polly-view-only", + cl::desc("Only view functions that match this pattern"), + cl::location(ViewFilter), cl::Hidden, cl::init("")); + +static cl::opt + XViewAll("polly-view-all", + cl::desc("Also show functions without any scops"), + cl::location(ViewAll), cl::Hidden, cl::init(false)); namespace llvm { @@ -134,104 +140,6 @@ void DOTGraphTraits::addCustomGraphFeatures( } // namespace llvm -struct ScopDetectionAnalysisGraphTraits { - static ScopDetection *getGraph(ScopDetectionWrapperPass *Analysis) { - return &Analysis->getSD(); - } -}; - -struct ScopViewerWrapperPass - : DOTGraphTraitsViewerWrapperPass { - static char ID; - ScopViewerWrapperPass() - : DOTGraphTraitsViewerWrapperPass( - "scops", ID) {} - bool processFunction(Function &F, ScopDetectionWrapperPass &SD) override { - if (ViewFilter != "" && !F.getName().count(ViewFilter)) - return false; - - if (ViewAll) - return true; - - // Check that at least one scop was detected. - return std::distance(SD.getSD().begin(), SD.getSD().end()) > 0; - } -}; -char ScopViewerWrapperPass::ID = 0; - -struct ScopOnlyViewerWrapperPass - : DOTGraphTraitsViewerWrapperPass { - static char ID; - ScopOnlyViewerWrapperPass() - : DOTGraphTraitsViewerWrapperPass( - "scopsonly", ID) {} -}; -char ScopOnlyViewerWrapperPass::ID = 0; - -struct ScopPrinterWrapperPass - : DOTGraphTraitsPrinterWrapperPass { - static char ID; - ScopPrinterWrapperPass() - : DOTGraphTraitsPrinterWrapperPass( - "scops", ID) {} -}; -char ScopPrinterWrapperPass::ID = 0; - -struct ScopOnlyPrinterWrapperPass - : DOTGraphTraitsPrinterWrapperPass { - static char ID; - ScopOnlyPrinterWrapperPass() - : DOTGraphTraitsPrinterWrapperPass( - "scopsonly", ID) {} -}; -char ScopOnlyPrinterWrapperPass::ID = 0; - -static RegisterPass X("view-scops", - "Polly - View Scops of function"); - -static RegisterPass - Y("view-scops-only", - "Polly - View Scops of function (with no function bodies)"); - -static RegisterPass - M("dot-scops", "Polly - Print Scops of function"); - -static RegisterPass - N("dot-scops-only", - "Polly - Print Scops of function (with no function bodies)"); - -Pass *polly::createDOTViewerWrapperPass() { - return new ScopViewerWrapperPass(); -} - -Pass *polly::createDOTOnlyViewerWrapperPass() { - return new ScopOnlyViewerWrapperPass(); -} - -Pass *polly::createDOTPrinterWrapperPass() { - return new ScopPrinterWrapperPass(); -} - -Pass *polly::createDOTOnlyPrinterWrapperPass() { - return new ScopOnlyPrinterWrapperPass(); -} - bool ScopViewer::processFunction(Function &F, const ScopDetection &SD) { if (ViewFilter != "" && !F.getName().count(ViewFilter)) return false; diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp index 8c6a2360a249b..70e184d3f897f 100644 --- a/polly/lib/Analysis/ScopInfo.cpp +++ b/polly/lib/Analysis/ScopInfo.cpp @@ -17,7 +17,6 @@ //===----------------------------------------------------------------------===// #include "polly/ScopInfo.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopBuilder.h" #include "polly/ScopDetection.h" @@ -57,7 +56,6 @@ #include "llvm/IR/PassManager.h" #include "llvm/IR/Type.h" #include "llvm/IR/Value.h" -#include "llvm/InitializePasses.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" @@ -2544,19 +2542,6 @@ raw_ostream &polly::operator<<(raw_ostream &OS, const Scop &scop) { return OS; } -//===----------------------------------------------------------------------===// -void ScopInfoRegionPass::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.addRequiredTransitive(); - AU.addRequiredTransitive(); - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.setPreservesAll(); -} - void updateLoopCountStatistic(ScopDetection::LoopStats Stats, Scop::ScopStatistics ScopStats) { assert(Stats.NumLoops == ScopStats.NumAffineLoops + ScopStats.NumBoxedLoops); @@ -2592,112 +2577,6 @@ void updateLoopCountStatistic(ScopDetection::LoopStats Stats, NumSingletonWritesInLoops += ScopStats.NumSingletonWritesInLoops; } -bool ScopInfoRegionPass::runOnRegion(Region *R, RGPassManager &RGM) { - auto &SD = getAnalysis().getSD(); - - if (!SD.isMaxRegionInScop(*R)) - return false; - - Function *F = R->getEntry()->getParent(); - auto &SE = getAnalysis().getSE(); - auto &LI = getAnalysis().getLoopInfo(); - auto &AA = getAnalysis().getAAResults(); - auto const &DL = F->getParent()->getDataLayout(); - auto &DT = getAnalysis().getDomTree(); - auto &AC = getAnalysis().getAssumptionCache(*F); - auto &ORE = getAnalysis().getORE(); - - ScopBuilder SB(R, AC, AA, DL, DT, LI, SD, SE, ORE); - S = SB.getScop(); // take ownership of scop object - -#if !defined(NDEBUG) || defined(LLVM_ENABLE_STATS) - if (S) { - ScopDetection::LoopStats Stats = - ScopDetection::countBeneficialLoops(&S->getRegion(), SE, LI, 0); - updateLoopCountStatistic(Stats, S->getStatistics()); - } -#endif - - return false; -} - -void ScopInfoRegionPass::print(raw_ostream &OS, const Module *) const { - if (S) - S->print(OS, PollyPrintInstructions); - else - OS << "Invalid Scop!\n"; -} - -char ScopInfoRegionPass::ID = 0; - -Pass *polly::createScopInfoRegionPassPass() { return new ScopInfoRegionPass(); } - -INITIALIZE_PASS_BEGIN(ScopInfoRegionPass, "polly-scops", - "Polly - Create polyhedral description of Scops", false, - false); -INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass); -INITIALIZE_PASS_DEPENDENCY(AssumptionCacheTracker); -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); -INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); -INITIALIZE_PASS_DEPENDENCY(ScalarEvolutionWrapperPass); -INITIALIZE_PASS_DEPENDENCY(ScopDetectionWrapperPass); -INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass); -INITIALIZE_PASS_END(ScopInfoRegionPass, "polly-scops", - "Polly - Create polyhedral description of Scops", false, - false) - -//===----------------------------------------------------------------------===// - -namespace { - -/// Print result from ScopInfoRegionPass. -class ScopInfoPrinterLegacyRegionPass final : public RegionPass { -public: - static char ID; - - ScopInfoPrinterLegacyRegionPass() : ScopInfoPrinterLegacyRegionPass(outs()) {} - - explicit ScopInfoPrinterLegacyRegionPass(llvm::raw_ostream &OS) - : RegionPass(ID), OS(OS) {} - - bool runOnRegion(Region *R, RGPassManager &RGM) override { - ScopInfoRegionPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << R->getNameStr() << "' in function '" - << R->getEntry()->getParent()->getName() << "':\n"; - P.print(OS); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - RegionPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char ScopInfoPrinterLegacyRegionPass::ID = 0; -} // namespace - -Pass *polly::createScopInfoPrinterLegacyRegionPass(raw_ostream &OS) { - return new ScopInfoPrinterLegacyRegionPass(OS); -} - -INITIALIZE_PASS_BEGIN(ScopInfoPrinterLegacyRegionPass, "polly-print-scops", - "Polly - Print polyhedral description of Scops", false, - false); -INITIALIZE_PASS_DEPENDENCY(ScopInfoRegionPass); -INITIALIZE_PASS_END(ScopInfoPrinterLegacyRegionPass, "polly-print-scops", - "Polly - Print polyhedral description of Scops", false, - false) - -//===----------------------------------------------------------------------===// - ScopInfo::ScopInfo(const DataLayout &DL, ScopDetection &SD, ScalarEvolution &SE, LoopInfo &LI, AliasAnalysis &AA, DominatorTree &DT, AssumptionCache &AC, OptimizationRemarkEmitter &ORE) @@ -2771,110 +2650,3 @@ PreservedAnalyses ScopInfoPrinterPass::run(Function &F, } return PreservedAnalyses::all(); } - -void ScopInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.addRequiredTransitive(); - AU.addRequiredTransitive(); - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.setPreservesAll(); -} - -bool ScopInfoWrapperPass::runOnFunction(Function &F) { - auto &SD = getAnalysis().getSD(); - auto &SE = getAnalysis().getSE(); - auto &LI = getAnalysis().getLoopInfo(); - auto &AA = getAnalysis().getAAResults(); - auto const &DL = F.getParent()->getDataLayout(); - auto &DT = getAnalysis().getDomTree(); - auto &AC = getAnalysis().getAssumptionCache(F); - auto &ORE = getAnalysis().getORE(); - - Result.reset(new ScopInfo{DL, SD, SE, LI, AA, DT, AC, ORE}); - return false; -} - -void ScopInfoWrapperPass::print(raw_ostream &OS, const Module *) const { - for (auto &It : *Result) { - if (It.second) - It.second->print(OS, PollyPrintInstructions); - else - OS << "Invalid Scop!\n"; - } -} - -char ScopInfoWrapperPass::ID = 0; - -Pass *polly::createScopInfoWrapperPassPass() { - return new ScopInfoWrapperPass(); -} - -INITIALIZE_PASS_BEGIN( - ScopInfoWrapperPass, "polly-function-scops", - "Polly - Create polyhedral description of all Scops of a function", false, - false); -INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass); -INITIALIZE_PASS_DEPENDENCY(AssumptionCacheTracker); -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); -INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); -INITIALIZE_PASS_DEPENDENCY(ScalarEvolutionWrapperPass); -INITIALIZE_PASS_DEPENDENCY(ScopDetectionWrapperPass); -INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass); -INITIALIZE_PASS_END( - ScopInfoWrapperPass, "polly-function-scops", - "Polly - Create polyhedral description of all Scops of a function", false, - false) - -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from ScopInfoWrapperPass. -class ScopInfoPrinterLegacyFunctionPass final : public FunctionPass { -public: - static char ID; - - ScopInfoPrinterLegacyFunctionPass() - : ScopInfoPrinterLegacyFunctionPass(outs()) {} - explicit ScopInfoPrinterLegacyFunctionPass(llvm::raw_ostream &OS) - : FunctionPass(ID), OS(OS) {} - - bool runOnFunction(Function &F) override { - ScopInfoWrapperPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for function '" - << F.getName() << "':\n"; - P.print(OS); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - FunctionPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char ScopInfoPrinterLegacyFunctionPass::ID = 0; -} // namespace - -Pass *polly::createScopInfoPrinterLegacyFunctionPass(raw_ostream &OS) { - return new ScopInfoPrinterLegacyFunctionPass(OS); -} - -INITIALIZE_PASS_BEGIN( - ScopInfoPrinterLegacyFunctionPass, "polly-print-function-scops", - "Polly - Print polyhedral description of all Scops of a function", false, - false); -INITIALIZE_PASS_DEPENDENCY(ScopInfoWrapperPass); -INITIALIZE_PASS_END( - ScopInfoPrinterLegacyFunctionPass, "polly-print-function-scops", - "Polly - Print polyhedral description of all Scops of a function", false, - false) diff --git a/polly/lib/Analysis/ScopPass.cpp b/polly/lib/Analysis/ScopPass.cpp index 719cd0f6984e0..61417e799cfa5 100644 --- a/polly/lib/Analysis/ScopPass.cpp +++ b/polly/lib/Analysis/ScopPass.cpp @@ -24,42 +24,6 @@ using namespace llvm; using namespace polly; -bool ScopPass::runOnRegion(Region *R, RGPassManager &RGM) { - S = nullptr; - - if (skipRegion(*R)) - return false; - - if ((S = getAnalysis().getScop())) - return runOnScop(*S); - - return false; -} - -void ScopPass::print(raw_ostream &OS, const Module *M) const { - if (S) - printScop(OS, *S); -} - -void ScopPass::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired(); - - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); -} - namespace polly { template class OwningInnerAnalysisManagerProxy; } diff --git a/polly/lib/CMakeLists.txt b/polly/lib/CMakeLists.txt index 0ed673815ff34..e4f196f151c9e 100644 --- a/polly/lib/CMakeLists.txt +++ b/polly/lib/CMakeLists.txt @@ -60,6 +60,9 @@ add_llvm_pass_plugin(Polly CodeGen/RuntimeDebugBuilder.cpp CodeGen/PerfMonitor.cpp Exchange/JSONExporter.cpp + Pass/PhaseManager.cpp + Pass/PollyFunctionPass.cpp + Pass/PollyModulePass.cpp Support/GICHelper.cpp Support/PollyDebug.cpp Support/SCEVAffinator.cpp diff --git a/polly/lib/CodeGen/CodeGeneration.cpp b/polly/lib/CodeGen/CodeGeneration.cpp index 2d8b393cc039c..f2d5a3422849e 100644 --- a/polly/lib/CodeGen/CodeGeneration.cpp +++ b/polly/lib/CodeGen/CodeGeneration.cpp @@ -25,7 +25,6 @@ #include "polly/CodeGen/PerfMonitor.h" #include "polly/CodeGen/Utils.h" #include "polly/DependenceInfo.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopInfo.h" #include "polly/Support/ScopHelper.h" @@ -37,7 +36,6 @@ #include "llvm/IR/Function.h" #include "llvm/IR/PassManager.h" #include "llvm/IR/Verifier.h" -#include "llvm/InitializePasses.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/raw_ostream.h" @@ -314,59 +312,6 @@ static bool generateCode(Scop &S, IslAstInfo &AI, LoopInfo &LI, return true; } -namespace { - -class CodeGeneration final : public ScopPass { -public: - static char ID; - - /// The data layout used. - const DataLayout *DL; - - /// @name The analysis passes we need to generate code. - /// - ///{ - LoopInfo *LI; - IslAstInfo *AI; - DominatorTree *DT; - ScalarEvolution *SE; - RegionInfo *RI; - ///} - - CodeGeneration() : ScopPass(ID) {} - - /// Generate LLVM-IR for the SCoP @p S. - bool runOnScop(Scop &S) override { - AI = &getAnalysis().getAI(); - LI = &getAnalysis().getLoopInfo(); - DT = &getAnalysis().getDomTree(); - SE = &getAnalysis().getSE(); - DL = &S.getFunction().getDataLayout(); - RI = &getAnalysis().getRegionInfo(); - return generateCode(S, *AI, *LI, *DT, *SE, *RI); - } - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - - AU.addPreserved(); - AU.addPreserved(); - - // FIXME: We do not yet add regions for the newly generated code to the - // region tree. - } -}; -} // namespace - PreservedAnalyses CodeGenerationPass::run(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &AR, SPMUpdater &U) { @@ -379,17 +324,6 @@ PreservedAnalyses CodeGenerationPass::run(Scop &S, ScopAnalysisManager &SAM, return PreservedAnalyses::all(); } -char CodeGeneration::ID = 1; - -Pass *polly::createCodeGenerationPass() { return new CodeGeneration(); } - -INITIALIZE_PASS_BEGIN(CodeGeneration, "polly-codegen", - "Polly - Create LLVM-IR from SCoPs", false, false); -INITIALIZE_PASS_DEPENDENCY(DependenceInfo); -INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass); -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); -INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); -INITIALIZE_PASS_DEPENDENCY(ScalarEvolutionWrapperPass); -INITIALIZE_PASS_DEPENDENCY(ScopDetectionWrapperPass); -INITIALIZE_PASS_END(CodeGeneration, "polly-codegen", - "Polly - Create LLVM-IR from SCoPs", false, false) +bool polly::runCodeGeneration(Scop &S, RegionInfo &RI, IslAstInfo &AI) { + return generateCode(S, AI, *S.getLI(), *S.getDT(), *S.getSE(), RI); +} diff --git a/polly/lib/CodeGen/IslAst.cpp b/polly/lib/CodeGen/IslAst.cpp index 09bacda196742..3177cda225f1d 100644 --- a/polly/lib/CodeGen/IslAst.cpp +++ b/polly/lib/CodeGen/IslAst.cpp @@ -29,7 +29,6 @@ #include "polly/CodeGen/IslAst.h" #include "polly/CodeGen/CodeGeneration.h" #include "polly/DependenceInfo.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopDetection.h" #include "polly/ScopInfo.h" @@ -83,6 +82,11 @@ static cl::opt DetectParallel("polly-ast-detect-parallel", cl::desc("Detect parallelism"), cl::Hidden, cl::cat(PollyCategory)); +static cl::opt + PollyPrintAst("polly-print-ast", + cl::desc("Print the ISL abstract syntax tree"), + cl::cat(PollyCategory)); + STATISTIC(ScopsProcessed, "Number of SCoPs processed"); STATISTIC(ScopsBeneficial, "Number of beneficial SCoPs"); STATISTIC(BeneficialAffineLoops, "Number of beneficial affine loops"); @@ -776,90 +780,19 @@ PreservedAnalyses IslAstPrinterPass::run(Scop &S, ScopAnalysisManager &SAM, return PreservedAnalyses::all(); } -void IslAstInfoWrapperPass::releaseMemory() { Ast.reset(); } - -bool IslAstInfoWrapperPass::runOnScop(Scop &Scop) { - auto GetDeps = [this](Dependences::AnalysisLevel Lvl) -> const Dependences & { - return getAnalysis().getDependences(Lvl); +std::unique_ptr +polly::runIslAstGen(Scop &S, DependenceAnalysis::Result &DA) { + auto GetDeps = [&](Dependences::AnalysisLevel Lvl) -> const Dependences & { + return DA.getDependences(Lvl); }; - Ast = runIslAst(Scop, GetDeps); - - return false; -} - -void IslAstInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { - // Get the Common analysis usage of ScopPasses. - ScopPass::getAnalysisUsage(AU); - AU.addRequiredTransitive(); - AU.addRequired(); - - AU.addPreserved(); -} - -void IslAstInfoWrapperPass::printScop(raw_ostream &OS, Scop &S) const { - OS << "Printing analysis 'Polly - Generate an AST of the SCoP (isl)'" - << S.getName() << "' in function '" << S.getFunction().getName() << "':\n"; - if (Ast) - Ast->print(OS); -} - -char IslAstInfoWrapperPass::ID = 0; - -Pass *polly::createIslAstInfoWrapperPassPass() { - return new IslAstInfoWrapperPass(); -} - -INITIALIZE_PASS_BEGIN(IslAstInfoWrapperPass, "polly-ast", - "Polly - Generate an AST of the SCoP (isl)", false, - false); -INITIALIZE_PASS_DEPENDENCY(ScopInfoRegionPass); -INITIALIZE_PASS_DEPENDENCY(DependenceInfo); -INITIALIZE_PASS_END(IslAstInfoWrapperPass, "polly-ast", - "Polly - Generate an AST from the SCoP (isl)", false, false) - -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from IslAstInfoWrapperPass. -class IslAstInfoPrinterLegacyPass final : public ScopPass { -public: - static char ID; - - IslAstInfoPrinterLegacyPass() : IslAstInfoPrinterLegacyPass(outs()) {} - explicit IslAstInfoPrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - IslAstInfoWrapperPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; + std::unique_ptr Result = runIslAst(S, GetDeps); + if (PollyPrintAst) { + outs() << "Printing analysis 'Polly - Generate an AST of the SCoP (isl)'" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; + if (Result) + Result->print(llvm::outs()); } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char IslAstInfoPrinterLegacyPass::ID = 0; -} // namespace - -Pass *polly::createIslAstInfoPrinterLegacyPass(raw_ostream &OS) { - return new IslAstInfoPrinterLegacyPass(OS); + return Result; } - -INITIALIZE_PASS_BEGIN(IslAstInfoPrinterLegacyPass, "polly-print-ast", - "Polly - Print the AST from a SCoP (isl)", false, false); -INITIALIZE_PASS_DEPENDENCY(IslAstInfoWrapperPass); -INITIALIZE_PASS_END(IslAstInfoPrinterLegacyPass, "polly-print-ast", - "Polly - Print the AST from a SCoP (isl)", false, false) diff --git a/polly/lib/Exchange/JSONExporter.cpp b/polly/lib/Exchange/JSONExporter.cpp index dfd63146edb5e..7d30c030aa6e1 100644 --- a/polly/lib/Exchange/JSONExporter.cpp +++ b/polly/lib/Exchange/JSONExporter.cpp @@ -12,7 +12,6 @@ #include "polly/JSONExporter.h" #include "polly/DependenceInfo.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopInfo.h" #include "polly/ScopPass.h" @@ -36,6 +35,11 @@ using namespace polly; #define DEBUG_TYPE "polly-import-jscop" +static cl::opt + PollyPrintImportJscop("polly-print-import-jscop", + cl::desc("Polly - Print Scop import result"), + cl::cat(PollyCategory)); + STATISTIC(NewAccessMapFound, "Number of updated access functions"); namespace { @@ -50,36 +54,6 @@ static cl::opt cl::desc("Postfix to append to the import .jsop files."), cl::Hidden, cl::value_desc("File postfix"), cl::ValueRequired, cl::init(""), cl::cat(PollyCategory)); - -class JSONExporter : public ScopPass { -public: - static char ID; - explicit JSONExporter() : ScopPass(ID) {} - - /// Export the SCoP @p S to a JSON file. - bool runOnScop(Scop &S) override; - - /// Print the SCoP @p S as it is exported. - void printScop(raw_ostream &OS, Scop &S) const override; - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; - -class JSONImporter : public ScopPass { -public: - static char ID; - std::vector NewAccessStrings; - explicit JSONImporter() : ScopPass(ID) {} - /// Import new access functions for SCoP @p S from a JSON file. - bool runOnScop(Scop &S) override; - - /// Print the SCoP @p S and the imported access functions. - void printScop(raw_ostream &OS, Scop &S) const override; - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; } // namespace static std::string getFileName(Scop &S, StringRef Suffix = "") { @@ -742,21 +716,6 @@ static bool importScop(Scop &S, const Dependences &D, const DataLayout &DL, return true; } -char JSONExporter::ID = 0; -void JSONExporter::printScop(raw_ostream &OS, Scop &S) const { OS << S; } - -bool JSONExporter::runOnScop(Scop &S) { - exportScop(S); - return false; -} - -void JSONExporter::getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesAll(); - AU.addRequired(); -} - -Pass *polly::createJSONExporterPass() { return new JSONExporter(); } - PreservedAnalyses JSONExportPass::run(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, SPMUpdater &) { @@ -764,37 +723,6 @@ PreservedAnalyses JSONExportPass::run(Scop &S, ScopAnalysisManager &SAM, return PreservedAnalyses::all(); } -char JSONImporter::ID = 0; - -void JSONImporter::printScop(raw_ostream &OS, Scop &S) const { - OS << S; - for (std::vector::const_iterator I = NewAccessStrings.begin(), - E = NewAccessStrings.end(); - I != E; I++) - OS << "New access function '" << *I << "' detected in JSCOP file\n"; -} - -bool JSONImporter::runOnScop(Scop &S) { - const Dependences &D = - getAnalysis().getDependences(Dependences::AL_Statement); - const DataLayout &DL = S.getFunction().getParent()->getDataLayout(); - - if (!importScop(S, D, DL, &NewAccessStrings)) - report_fatal_error("Tried to import a malformed jscop file."); - - return false; -} - -void JSONImporter::getAnalysisUsage(AnalysisUsage &AU) const { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - - // TODO: JSONImporter should throw away DependenceInfo. - AU.addPreserved(); -} - -Pass *polly::createJSONImporterPass() { return new JSONImporter(); } - PreservedAnalyses JSONImportPass::run(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, SPMUpdater &) { @@ -814,68 +742,24 @@ PreservedAnalyses JSONImportPass::run(Scop &S, ScopAnalysisManager &SAM, return PA; } -INITIALIZE_PASS_BEGIN(JSONExporter, "polly-export-jscop", - "Polly - Export Scops as JSON" - " (Writes a .jscop file for each Scop)", - false, false); -INITIALIZE_PASS_DEPENDENCY(DependenceInfo) -INITIALIZE_PASS_END(JSONExporter, "polly-export-jscop", - "Polly - Export Scops as JSON" - " (Writes a .jscop file for each Scop)", - false, false) - -INITIALIZE_PASS_BEGIN(JSONImporter, "polly-import-jscop", - "Polly - Import Scops from JSON" - " (Reads a .jscop file for each Scop)", - false, false); -INITIALIZE_PASS_DEPENDENCY(DependenceInfo) -INITIALIZE_PASS_END(JSONImporter, "polly-import-jscop", - "Polly - Import Scops from JSON" - " (Reads a .jscop file for each Scop)", - false, false) - -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from JSONImporter. -class JSONImporterPrinterLegacyPass final : public ScopPass { -public: - static char ID; - - JSONImporterPrinterLegacyPass() : JSONImporterPrinterLegacyPass(outs()) {} - explicit JSONImporterPrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - JSONImporter &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; - } +void polly::runImportJSON(Scop &S, DependenceAnalysis::Result &DA) { + const Dependences &D = DA.getDependences(Dependences::AL_Statement); + const DataLayout &DL = S.getFunction().getParent()->getDataLayout(); + std::vector NewAccessStrings; + if (!importScop(S, D, DL, &NewAccessStrings)) + report_fatal_error("Tried to import a malformed jscop file."); - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); + if (PollyPrintImportJscop) { + outs() + << "Printing analysis 'Polly - Print Scop import result' for region: '" + << S.getRegion().getNameStr() << "' in function '" + << S.getFunction().getName() << "':\n"; + outs() << S; + for (std::vector::const_iterator I = NewAccessStrings.begin(), + E = NewAccessStrings.end(); + I != E; I++) + outs() << "New access function '" << *I << "' detected in JSCOP file\n"; } - -private: - llvm::raw_ostream &OS; -}; - -char JSONImporterPrinterLegacyPass::ID = 0; -} // namespace - -Pass *polly::createJSONImporterPrinterLegacyPass(llvm::raw_ostream &OS) { - return new JSONImporterPrinterLegacyPass(OS); } -INITIALIZE_PASS_BEGIN(JSONImporterPrinterLegacyPass, "polly-print-import-jscop", - "Polly - Print Scop import result", false, false) -INITIALIZE_PASS_DEPENDENCY(JSONImporter) -INITIALIZE_PASS_END(JSONImporterPrinterLegacyPass, "polly-print-import-jscop", - "Polly - Print Scop import result", false, false) +void polly::runExportJSON(Scop &S) { exportScop(S); } diff --git a/polly/lib/Pass/PhaseManager.cpp b/polly/lib/Pass/PhaseManager.cpp new file mode 100644 index 0000000000000..fb76c811859b8 --- /dev/null +++ b/polly/lib/Pass/PhaseManager.cpp @@ -0,0 +1,424 @@ +//===------ PhaseManager.cpp ------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "polly/Pass/PhaseManager.h" +#include "polly/CodeGen/CodeGeneration.h" +#include "polly/CodeGen/IslAst.h" +#include "polly/CodePreparation.h" +#include "polly/DeLICM.h" +#include "polly/DeadCodeElimination.h" +#include "polly/DependenceInfo.h" +#include "polly/FlattenSchedule.h" +#include "polly/ForwardOpTree.h" +#include "polly/JSONExporter.h" +#include "polly/MaximalStaticExpansion.h" +#include "polly/PruneUnprofitable.h" +#include "polly/ScheduleOptimizer.h" +#include "polly/ScopDetection.h" +#include "polly/ScopDetectionDiagnostic.h" +#include "polly/ScopGraphPrinter.h" +#include "polly/ScopInfo.h" +#include "polly/Simplify.h" +#include "llvm/Analysis/AssumptionCache.h" +#include "llvm/Analysis/OptimizationRemarkEmitter.h" +#include "llvm/IR/Module.h" + +#define DEBUG_TYPE "polly-pass" + +using namespace polly; +using namespace llvm; + +namespace { + +/// Recurse through all subregions and all regions and add them to RQ. +static void addRegionIntoQueue(Region &R, SmallVector &RQ) { + RQ.push_back(&R); + for (const auto &E : R) + addRegionIntoQueue(*E, RQ); +} + +/// The phase pipeline of Polly to be embedded into another pass manager than +/// runs passes on functions. +/// +/// Polly holds state besides LLVM-IR (RegionInfo and ScopInfo) between phases +/// that LLVM pass managers do not consider when scheduling analyses and passes. +/// That is, the ScopInfo must persist between phases that a pass manager must +/// not invalidate to recompute later. +class PhaseManager { +private: + Function &F; + FunctionAnalysisManager &FAM; + PollyPassOptions Opts; + +public: + PhaseManager(Function &F, FunctionAnalysisManager &FAM, PollyPassOptions Opts) + : F(F), FAM(FAM), Opts(std::move(Opts)) {} + + /// Execute Polly's phases as indicated by the options. + bool run() { + // Get analyses from the function pass manager. + // These must be preserved during all phases so that if processing one SCoP + // has finished, the next SCoP can still use them. Recomputing is not an + // option because ScopDetection stores references to the old results. + // TODO: CodePreparation doesn't actually need these analysis, it just keeps + // them up-to-date. If they are not computed yet, can also compute after the + // prepare phase. + LoopInfo &LI = FAM.getResult(F); + DominatorTree &DT = FAM.getResult(F); + bool ModifiedIR = false; + + // Phase: prepare + // TODO: Setting ModifiedIR will invalidate any analysis, even if DT, LI are + // preserved. + if (Opts.isPhaseEnabled(PassPhase::Prepare)) { + PreservedAnalyses PA = CodePreparationPass().run(F, FAM); + FAM.invalidate(F, PA); + if (!PA.areAllPreserved()) + ModifiedIR = true; + } + + // Can't do anything without detection + if (!Opts.isPhaseEnabled(PassPhase::Detection)) + return false; + + AAResults &AA = FAM.getResult(F); + ScalarEvolution &SE = FAM.getResult(F); + OptimizationRemarkEmitter &ORE = + FAM.getResult(F); + + // ScopDetection is modifying RegionInfo, do not cache it, nor use a cached + // version. + RegionInfo RI = RegionInfoAnalysis().run(F, FAM); + + // Phase: detection + ScopDetection SD(DT, SE, LI, RI, AA, ORE); + SD.detect(F); + if (Opts.isPhaseEnabled(PassPhase::PrintDetect)) { + outs() << "Detected Scops in Function " << F.getName() << "\n"; + for (const Region *R : SD.ValidRegions) + outs() << "Valid Region for Scop: " << R->getNameStr() << '\n'; + outs() << "\n"; + } + + if (Opts.isPhaseEnabled(PassPhase::DotScops)) + printGraphForFunction(F, &SD, "scops", false); + if (Opts.isPhaseEnabled(PassPhase::DotScopsOnly)) + printGraphForFunction(F, &SD, "scopsonly", true); + + auto ViewScops = [&](const char *Name, bool IsSimply) { + if (Opts.ViewFilter.empty() && !F.getName().count(Opts.ViewFilter)) + return; + + if (Opts.ViewAll || std::distance(SD.begin(), SD.end()) > 0) + viewGraphForFunction(F, &SD, Name, IsSimply); + }; + if (Opts.isPhaseEnabled(PassPhase::ViewScops)) + ViewScops("scops", false); + if (Opts.isPhaseEnabled(PassPhase::ViewScopsOnly)) + ViewScops("scopsonly", true); + + // Phase: scops + AssumptionCache &AC = FAM.getResult(F); + const DataLayout &DL = F.getParent()->getDataLayout(); + ScopInfo Info(DL, SD, SE, LI, AA, DT, AC, ORE); + if (Opts.isPhaseEnabled(PassPhase::PrintScopInfo)) { + if (Region *TLR = RI.getTopLevelRegion()) { + SmallVector Regions; + addRegionIntoQueue(*TLR, Regions); + + // reverse iteration because the regression tests expect it. + for (Region *R : reverse(Regions)) { + Scop *S = Info.getScop(R); + outs() << "Printing analysis 'Polly - Create polyhedral " + "description of Scops' for region: '" + << R->getNameStr() << "' in function '" << F.getName() + << "':\n"; + if (S) + outs() << *S; + else + outs() << "Invalid Scop!\n"; + } + } + } + + SmallPriorityWorklist Worklist; + for (auto &[R, S] : Info) + if (S) + Worklist.insert(R); + + TargetTransformInfo &TTI = FAM.getResult(F); + while (!Worklist.empty()) { + Region *R = Worklist.pop_back_val(); + if (!SD.isMaxRegionInScop(*R, /*Verify=*/false)) + continue; + Scop *S = Info.getScop(R); + + // Phase: flatten + if (Opts.isPhaseEnabled(PassPhase::Flatten)) + runFlattenSchedulePass(*S); + + // Phase: deps + // Actual analysis runs on-demand, so it does not matter whether the phase + // is actually enabled, but use this location to print dependencies. + DependenceAnalysis::Result DA = runDependenceAnalysis(*S); + if (Opts.isPhaseEnabled(PassPhase::PrintDependences)) { + assert(Opts.isPhaseEnabled(PassPhase::Dependences)); + const Dependences &D = DA.getDependences(Opts.PrintDepsAnalysisLevel); + D.print(outs()); + } + + // Phase: import-jscop + if (Opts.isPhaseEnabled(PassPhase::ImportJScop)) + runImportJSON(*S, DA); + + // Phase: simplify-0 + bool ModifiedSinceSimplify = true; + if (Opts.isPhaseEnabled(PassPhase::Simplify0)) { + runSimplify(*S, 0); + ModifiedSinceSimplify = false; + } + + // Phase: optree + if (Opts.isPhaseEnabled(PassPhase::Optree)) { + bool ModifiedByOptree = runForwardOpTree(*S); + ModifiedSinceSimplify |= ModifiedByOptree; + } + + // Phase: delicm + if (Opts.isPhaseEnabled(PassPhase::DeLICM)) { + bool ModifiedByDelicm = runDeLICM(*S); + ModifiedSinceSimplify |= ModifiedByDelicm; + } + + // Phase: simplify-1 + // If we have already run simplify-0, do not re-run it if the SCoP has not + // changed since then. + if (ModifiedSinceSimplify && Opts.isPhaseEnabled(PassPhase::Simplify1)) { + runSimplify(*S, 1); + ModifiedSinceSimplify = false; + } + + // Phase: dce + if (Opts.isPhaseEnabled(PassPhase::DeadCodeElimination)) + runDeadCodeElim(*S, DA); + + // Phase: mse + if (Opts.isPhaseEnabled(PassPhase::MaximumStaticExtension)) + runMaximalStaticExpansion(*S, DA); + + // Phase: prune + if (Opts.isPhaseEnabled(PassPhase::PruneUnprofitable)) + runPruneUnprofitable(*S); + + // Phase: opt-isl + if (Opts.isPhaseEnabled(PassPhase::Optimization)) + runIslScheduleOptimizer(*S, &TTI, DA); + + // Phase: import-jscop + if (Opts.isPhaseEnabled(PassPhase::ExportJScop)) + runExportJSON(*S); + + // Phase: ast + // Cannot run codegen unless ast is enabled + if (!Opts.isPhaseEnabled(PassPhase::AstGen)) + continue; + std::unique_ptr IslAst = runIslAstGen(*S, DA); + + // Phase: codegen + if (!Opts.isPhaseEnabled(PassPhase::CodeGen)) + continue; + bool ModifiedByCodeGen = runCodeGeneration(*S, RI, *IslAst); + if (ModifiedByCodeGen) { + ModifiedIR = true; + + // For all regions, create new polly::Scop objects because the old ones + // refere to invalidated LLVM-IR. + // FIXME: Adds all SCoPs again to statistics + Info.recompute(); + } + } + + return ModifiedIR; + } +}; +} // namespace + +StringRef polly::getPhaseName(PassPhase Phase) { + switch (Phase) { + case PassPhase::Prepare: + return "prepare"; + case PassPhase::Detection: + return "detect"; + case PassPhase::PrintDetect: + return "print-detect"; + case PassPhase::DotScops: + return "dot-scops"; + case PassPhase::DotScopsOnly: + return "dot-scops-only"; + case PassPhase::ViewScops: + return "view-scops"; + case PassPhase::ViewScopsOnly: + return "view-scops-only"; + case PassPhase::ScopInfo: + return "scops"; + case PassPhase::PrintScopInfo: + return "print-scops"; + case PassPhase::Flatten: + return "flatten"; + case PassPhase::Dependences: + return "deps"; + case PassPhase::PrintDependences: + return "print-deps"; + case PassPhase::ImportJScop: + return "import-jscop"; + case PassPhase::Simplify0: + return "simplify-0"; + case PassPhase::Optree: + return "optree"; + case PassPhase::DeLICM: + return "delicm"; + case PassPhase::Simplify1: + return "simplify-1"; + case PassPhase::DeadCodeElimination: + return "dce"; + case PassPhase::MaximumStaticExtension: + return "mse"; + case PassPhase::PruneUnprofitable: + return "prune"; + case PassPhase::Optimization: + return "opt-isl"; // "opt" would conflict with the llvm executable + case PassPhase::ExportJScop: + return "export-jscop"; + case PassPhase::AstGen: + return "ast"; + case PassPhase::CodeGen: + return "codegen"; + default: + llvm_unreachable("Unexpected phase"); + } +} + +PassPhase polly::parsePhase(StringRef Name) { + return StringSwitch(Name) + .Case("prepare", PassPhase::Prepare) + .Case("detect", PassPhase::Detection) + .Case("print-detect", PassPhase::PrintDetect) + .Case("dot-scops", PassPhase::DotScops) + .Case("dot-scops-only", PassPhase::DotScopsOnly) + .Case("view-scops", PassPhase::ViewScops) + .Case("view-scops-only", PassPhase::ViewScopsOnly) + .Case("scops", PassPhase::ScopInfo) + .Case("print-scops", PassPhase::PrintScopInfo) + .Case("flatten", PassPhase::Flatten) + .Case("deps", PassPhase::Dependences) + .Case("print-deps", PassPhase::PrintDependences) + .Case("import-jscop", PassPhase::ImportJScop) + .Case("simplify-0", PassPhase::Simplify0) + .Case("optree", PassPhase::Optree) + .Case("delicm", PassPhase::DeLICM) + .Case("simplify-1", PassPhase::Simplify1) + .Case("dce", PassPhase::DeadCodeElimination) + .Case("mse", PassPhase::MaximumStaticExtension) + .Case("prune", PassPhase::PruneUnprofitable) + .Case("opt-isl", PassPhase::Optimization) + .Case("export-jscop", PassPhase::ExportJScop) + .Case("ast", PassPhase::AstGen) + .Case("codegen", PassPhase::CodeGen) + .Default(PassPhase::None); +} + +bool polly::dependsOnDependenceInfo(PassPhase Phase) { + // Nothing before dep phase can depend on it + if (static_cast(Phase) <= static_cast(PassPhase::Dependences)) + return false; + + switch (Phase) { + case PassPhase::Simplify0: + case PassPhase::Optree: + case PassPhase::DeLICM: + case PassPhase::Simplify1: + case PassPhase::PruneUnprofitable: + case PassPhase::ImportJScop: + case PassPhase::ExportJScop: + case PassPhase::AstGen: // transitively through codegen + case PassPhase::CodeGen: + return false; + default: + return true; + } +} + +void PollyPassOptions::enableEnd2End() { + setPhaseEnabled(PassPhase::Detection); + setPhaseEnabled(PassPhase::ScopInfo); + setPhaseEnabled(PassPhase::Dependences); + setPhaseEnabled(PassPhase::AstGen); + setPhaseEnabled(PassPhase::CodeGen); +} + +void PollyPassOptions::enableDefaultOpts() { + setPhaseEnabled(PassPhase::Prepare); + setPhaseEnabled(PassPhase::Simplify0); + setPhaseEnabled(PassPhase::Optree); + setPhaseEnabled(PassPhase::DeLICM); + setPhaseEnabled(PassPhase::Simplify1); + setPhaseEnabled(PassPhase::PruneUnprofitable); + setPhaseEnabled(PassPhase::Optimization); +} + +void PollyPassOptions::disableAfter(PassPhase Phase) { + assert(Phase != PassPhase::None); + for (PassPhase P : enum_seq_inclusive(Phase, PassPhase::PassPhaseLast)) { + if (P == Phase) + continue; + setPhaseEnabled(P, false); + } +} + +Error PollyPassOptions::checkConsistency() const { + for (PassPhase P : enum_seq_inclusive(PassPhase::PassPhaseFirst, + PassPhase::PassPhaseLast)) { + if (!isPhaseEnabled(P)) + continue; + + // Prepare and Detection have no requirements + if (P == PassPhase::Prepare || P == PassPhase::Detection) + continue; + + if (!isPhaseEnabled(PassPhase::Detection)) + return make_error( + formatv("'{0}' requires 'detect' to be enabled", getPhaseName(P)) + .str(), + inconvertibleErrorCode()); + + if (static_cast(P) < static_cast(PassPhase::ScopInfo)) + continue; + + if (!isPhaseEnabled(PassPhase::ScopInfo)) + return make_error( + formatv("'{0}' requires 'scops' to be enabled", getPhaseName(P)) + .str(), + inconvertibleErrorCode()); + + if (dependsOnDependenceInfo(P) && !isPhaseEnabled(PassPhase::Dependences)) + return make_error( + formatv("'{0}' requires 'deps' to be enabled", getPhaseName(P)).str(), + inconvertibleErrorCode()); + } + + if (isPhaseEnabled(PassPhase::CodeGen) && !isPhaseEnabled(PassPhase::AstGen)) + return make_error("'codegen' requires 'ast' to be enabled", + inconvertibleErrorCode()); + + return Error::success(); +} + +bool polly::runPollyPass(Function &F, FunctionAnalysisManager &FAM, + PollyPassOptions Opts) { + return PhaseManager(F, FAM, std::move(Opts)).run(); +} diff --git a/polly/lib/Pass/PollyFunctionPass.cpp b/polly/lib/Pass/PollyFunctionPass.cpp new file mode 100644 index 0000000000000..a478e4df2ca20 --- /dev/null +++ b/polly/lib/Pass/PollyFunctionPass.cpp @@ -0,0 +1,22 @@ +//===------ PollyFunctionPass.cpp - Polly function pass ------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "polly/Pass/PollyFunctionPass.h" + +using namespace llvm; +using namespace polly; + +PreservedAnalyses PollyFunctionPass::run(llvm::Function &F, + llvm::FunctionAnalysisManager &FAM) { + bool ModifiedIR = runPollyPass(F, FAM, Opts); + + // Be conservative about preserved analyses. + // FIXME: May also need to invalidate/update Module/CGSCC passes, but cannot + // reach them within a FunctionPassManager. + return ModifiedIR ? PreservedAnalyses::none() : PreservedAnalyses::all(); +} diff --git a/polly/lib/Pass/PollyModulePass.cpp b/polly/lib/Pass/PollyModulePass.cpp new file mode 100644 index 0000000000000..f56ee672b76af --- /dev/null +++ b/polly/lib/Pass/PollyModulePass.cpp @@ -0,0 +1,29 @@ +//===------ PollyModulePass.cpp - Polly module pass ----------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "polly/Pass/PollyModulePass.h" +#include "llvm/IR/Module.h" + +using namespace llvm; +using namespace polly; + +PreservedAnalyses PollyModulePass::run(llvm::Module &M, + llvm::ModuleAnalysisManager &MAM) { + FunctionAnalysisManager &FAM = + MAM.getResult(M).getManager(); + + bool ModifiedAnyIR = false; + for (Function &F : M) { + bool LocalModifiedIR = runPollyPass(F, FAM, Opts); + ModifiedAnyIR |= LocalModifiedIR; + } + + // Be conservative about preserved analyses, especially if parallel functions + // have been outlined. + return ModifiedAnyIR ? PreservedAnalyses::none() : PreservedAnalyses::all(); +} diff --git a/polly/lib/Support/DumpFunctionPass.cpp b/polly/lib/Support/DumpFunctionPass.cpp index e47b7fe0db966..9565e2156aee6 100644 --- a/polly/lib/Support/DumpFunctionPass.cpp +++ b/polly/lib/Support/DumpFunctionPass.cpp @@ -13,7 +13,6 @@ #include "polly/Support/DumpFunctionPass.h" #include "llvm/IR/Module.h" #include "llvm/IR/PassInstrumentation.h" -#include "llvm/Pass.h" #include "llvm/Support/Debug.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" @@ -82,50 +81,10 @@ static void runDumpFunction(llvm::Function &F, StringRef Suffix) { Out->keep(); LLVM_DEBUG(dbgs() << "Dump file " << Dumpfile << " written successfully\n"); } - -class DumpFunctionWrapperPass final : public FunctionPass { -private: - DumpFunctionWrapperPass(const DumpFunctionWrapperPass &) = delete; - const DumpFunctionWrapperPass & - operator=(const DumpFunctionWrapperPass &) = delete; - - std::string Suffix; - -public: - static char ID; - - explicit DumpFunctionWrapperPass() : FunctionPass(ID), Suffix("-dump") {} - - explicit DumpFunctionWrapperPass(std::string Suffix) - : FunctionPass(ID), Suffix(std::move(Suffix)) {} - - /// @name FunctionPass interface - //@{ - void getAnalysisUsage(llvm::AnalysisUsage &AU) const override { - AU.setPreservesAll(); - } - - bool runOnFunction(llvm::Function &F) override { - runDumpFunction(F, Suffix); - return false; - } - //@} -}; - -char DumpFunctionWrapperPass::ID; } // namespace -FunctionPass *polly::createDumpFunctionWrapperPass(std::string Suffix) { - return new DumpFunctionWrapperPass(std::move(Suffix)); -} - llvm::PreservedAnalyses DumpFunctionPass::run(Function &F, FunctionAnalysisManager &AM) { runDumpFunction(F, Suffix); return PreservedAnalyses::all(); } - -INITIALIZE_PASS_BEGIN(DumpFunctionWrapperPass, "polly-dump-function", - "Polly - Dump Function", false, false) -INITIALIZE_PASS_END(DumpFunctionWrapperPass, "polly-dump-function", - "Polly - Dump Function", false, false) diff --git a/polly/lib/Support/DumpModulePass.cpp b/polly/lib/Support/DumpModulePass.cpp index c1c27ef6ac757..2eaa0707fe571 100644 --- a/polly/lib/Support/DumpModulePass.cpp +++ b/polly/lib/Support/DumpModulePass.cpp @@ -12,7 +12,6 @@ #include "polly/Support/DumpModulePass.h" #include "llvm/IR/Module.h" -#include "llvm/Pass.h" #include "llvm/Support/Debug.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" @@ -47,56 +46,10 @@ static void runDumpModule(llvm::Module &M, StringRef Filename, bool IsSuffix) { M.print(Out->os(), nullptr); Out->keep(); } - -class DumpModuleWrapperPass final : public ModulePass { -private: - DumpModuleWrapperPass(const DumpModuleWrapperPass &) = delete; - const DumpModuleWrapperPass & - operator=(const DumpModuleWrapperPass &) = delete; - - std::string Filename; - bool IsSuffix; - -public: - static char ID; - - /// This constructor is used e.g. if using opt -polly-dump-module. - /// - /// Provide a default suffix to not overwrite the original file. - explicit DumpModuleWrapperPass() - : ModulePass(ID), Filename("-dump"), IsSuffix(true) {} - - explicit DumpModuleWrapperPass(std::string Filename, bool IsSuffix) - : ModulePass(ID), Filename(std::move(Filename)), IsSuffix(IsSuffix) {} - - /// @name ModulePass interface - //@{ - void getAnalysisUsage(llvm::AnalysisUsage &AU) const override { - AU.setPreservesAll(); - } - - bool runOnModule(llvm::Module &M) override { - runDumpModule(M, Filename, IsSuffix); - return false; - } - //@} -}; - -char DumpModuleWrapperPass::ID; } // namespace -ModulePass *polly::createDumpModuleWrapperPass(std::string Filename, - bool IsSuffix) { - return new DumpModuleWrapperPass(std::move(Filename), IsSuffix); -} - llvm::PreservedAnalyses DumpModulePass::run(llvm::Module &M, llvm::ModuleAnalysisManager &AM) { runDumpModule(M, Filename, IsSuffix); return PreservedAnalyses::all(); } - -INITIALIZE_PASS_BEGIN(DumpModuleWrapperPass, "polly-dump-module", - "Polly - Dump Module", false, false) -INITIALIZE_PASS_END(DumpModuleWrapperPass, "polly-dump-module", - "Polly - Dump Module", false, false) diff --git a/polly/lib/Support/PollyPasses.def b/polly/lib/Support/PollyPasses.def index 2c792a5867100..496839760a844 100644 --- a/polly/lib/Support/PollyPasses.def +++ b/polly/lib/Support/PollyPasses.def @@ -1,3 +1,10 @@ +#ifndef MODULE_PASS +#define MODULE_PASS(NAME, CREATE_PASS, PARSER) +#endif +MODULE_PASS("polly", createModuleToFunctionPassAdaptor(PollyFunctionPass(Opts)), parsePollyDefaultOptions) +MODULE_PASS("polly-custom", createModuleToFunctionPassAdaptor(PollyFunctionPass(Opts)), parsePollyCustomOptions) +#undef MODULE_PASS + #ifndef CGSCC_PASS #define CGSCC_PASS(NAME, CREATE_PASS, PARSER) #endif @@ -12,15 +19,17 @@ FUNCTION_ANALYSIS("polly-function-scops", ScopInfoAnalysis()) #undef FUNCTION_ANALYSIS #ifndef FUNCTION_PASS -#define FUNCTION_PASS(NAME, CREATE_PASS) +#define FUNCTION_PASS(NAME, CREATE_PASS, PARSER) #endif -FUNCTION_PASS("polly-prepare", CodePreparationPass()) -FUNCTION_PASS("print", ScopAnalysisPrinterPass(llvm::errs())) -FUNCTION_PASS("print", ScopInfoPrinterPass(llvm::errs())) -FUNCTION_PASS("polly-scop-viewer", ScopViewer()) -FUNCTION_PASS("polly-scop-only-viewer", ScopOnlyViewer()) -FUNCTION_PASS("polly-scop-printer", ScopPrinter()) -FUNCTION_PASS("polly-scop-only-printer", ScopOnlyPrinter()) +FUNCTION_PASS("polly-prepare", CodePreparationPass(), parseNoOptions) +FUNCTION_PASS("print", ScopAnalysisPrinterPass(llvm::errs()), parseNoOptions) +FUNCTION_PASS("print", ScopInfoPrinterPass(llvm::errs()), parseNoOptions) +FUNCTION_PASS("polly-scop-viewer", ScopViewer(), parseNoOptions) +FUNCTION_PASS("polly-scop-only-viewer", ScopOnlyViewer(), parseNoOptions) +FUNCTION_PASS("polly-scop-printer", ScopPrinter(), parseNoOptions) +FUNCTION_PASS("polly-scop-only-printer", ScopOnlyPrinter(), parseNoOptions) +FUNCTION_PASS("polly", PollyFunctionPass(Opts), parsePollyDefaultOptions) +FUNCTION_PASS("polly-custom", PollyFunctionPass(Opts), parsePollyCustomOptions) #undef FUNCTION_PASS #ifndef SCOP_ANALYSIS diff --git a/polly/lib/Support/RegisterPasses.cpp b/polly/lib/Support/RegisterPasses.cpp index 04f8715502c38..2f1d7a8362349 100644 --- a/polly/lib/Support/RegisterPasses.cpp +++ b/polly/lib/Support/RegisterPasses.cpp @@ -28,8 +28,9 @@ #include "polly/DependenceInfo.h" #include "polly/ForwardOpTree.h" #include "polly/JSONExporter.h" -#include "polly/LinkAllPasses.h" #include "polly/MaximalStaticExpansion.h" +#include "polly/Options.h" +#include "polly/Pass/PollyFunctionPass.h" #include "polly/PruneUnprofitable.h" #include "polly/ScheduleOptimizer.h" #include "polly/ScopDetection.h" @@ -52,6 +53,8 @@ #include "llvm/Transforms/IPO.h" using namespace llvm; +using namespace polly; + namespace cl = llvm::cl; using namespace polly; @@ -201,58 +204,19 @@ static cl::opt EnablePruneUnprofitable( cl::desc("Bail out on unprofitable SCoPs before rescheduling"), cl::Hidden, cl::init(true), cl::cat(PollyCategory)); -namespace { +static cl::opt + PollyPrintDetect("polly-print-detect", + cl::desc("Polly - Print static control parts (SCoPs)"), + cl::cat(PollyCategory)); -/// Initialize Polly passes when library is loaded. -/// -/// We use the constructor of a statically declared object to initialize the -/// different Polly passes right after the Polly library is loaded. This ensures -/// that the Polly passes are available e.g. in the 'opt' tool. -struct StaticInitializer { - StaticInitializer() { - llvm::PassRegistry &Registry = *llvm::PassRegistry::getPassRegistry(); - polly::initializePollyPasses(Registry); - } -}; -static StaticInitializer InitializeEverything; -} // end of anonymous namespace. - -void initializePollyPasses(llvm::PassRegistry &Registry) { - initializeCodeGenerationPass(Registry); - - initializeCodePreparationPass(Registry); - initializeDeadCodeElimWrapperPassPass(Registry); - initializeDependenceInfoPass(Registry); - initializeDependenceInfoPrinterLegacyPassPass(Registry); - initializeDependenceInfoWrapperPassPass(Registry); - initializeDependenceInfoPrinterLegacyFunctionPassPass(Registry); - initializeJSONExporterPass(Registry); - initializeJSONImporterPass(Registry); - initializeJSONImporterPrinterLegacyPassPass(Registry); - initializeMaximalStaticExpanderWrapperPassPass(Registry); - initializeIslAstInfoWrapperPassPass(Registry); - initializeIslAstInfoPrinterLegacyPassPass(Registry); - initializeIslScheduleOptimizerWrapperPassPass(Registry); - initializeIslScheduleOptimizerPrinterLegacyPassPass(Registry); - initializePollyCanonicalizePass(Registry); - initializeScopDetectionWrapperPassPass(Registry); - initializeScopDetectionPrinterLegacyPassPass(Registry); - initializeScopInlinerWrapperPassPass(Registry); - initializeScopInfoRegionPassPass(Registry); - initializeScopInfoPrinterLegacyRegionPassPass(Registry); - initializeScopInfoWrapperPassPass(Registry); - initializeScopInfoPrinterLegacyFunctionPassPass(Registry); - initializeFlattenSchedulePass(Registry); - initializeFlattenSchedulePrinterLegacyPassPass(Registry); - initializeForwardOpTreeWrapperPassPass(Registry); - initializeForwardOpTreePrinterLegacyPassPass(Registry); - initializeDeLICMWrapperPassPass(Registry); - initializeDeLICMPrinterLegacyPassPass(Registry); - initializeSimplifyWrapperPassPass(Registry); - initializeSimplifyPrinterLegacyPassPass(Registry); - initializeDumpModuleWrapperPassPass(Registry); - initializePruneUnprofitableWrapperPassPass(Registry); -} +static cl::opt + PollyPrintScops("polly-print-scops", + cl::desc("Print polyhedral description of all regions"), + cl::cat(PollyCategory)); + +static cl::opt PollyPrintDeps("polly-print-deps", + cl::desc("Polly - Print dependences"), + cl::cat(PollyCategory)); static bool shouldEnablePollyForOptimization() { return PollyEnabled; } @@ -266,6 +230,198 @@ static bool shouldEnablePollyForDiagnostic() { ExportJScop; } +/// Parser of parameters for LoopVectorize pass. +static llvm::Expected parsePollyOptions(StringRef Params, + bool IsCustom) { + PassPhase PrevPhase = PassPhase::None; + + bool EnableDefaultOpts = !IsCustom; + bool EnableEnd2End = !IsCustom; + std::optional + PassEnabled[static_cast(PassPhase::PassPhaseLast) + 1]; + PassPhase StopAfter = PassPhase::None; + + // Passes enabled using command-line flags (can be overridden using + // 'polly') + if (PollyPrintDetect) + PassEnabled[static_cast(PassPhase::PrintDetect)] = true; + if (PollyPrintScops) + PassEnabled[static_cast(PassPhase::PrintScopInfo)] = true; + if (PollyPrintDeps) + PassEnabled[static_cast(PassPhase::PrintDependences)] = true; + + if (PollyViewer) + PassEnabled[static_cast(PassPhase::ViewScops)] = true; + if (PollyOnlyViewer) + PassEnabled[static_cast(PassPhase::ViewScopsOnly)] = true; + if (PollyPrinter) + PassEnabled[static_cast(PassPhase::DotScops)] = true; + if (PollyOnlyPrinter) + PassEnabled[static_cast(PassPhase::DotScopsOnly)] = true; + if (!EnableSimplify) + PassEnabled[static_cast(PassPhase::Simplify0)] = false; + if (!EnableForwardOpTree) + PassEnabled[static_cast(PassPhase::Optree)] = false; + if (!EnableDeLICM) + PassEnabled[static_cast(PassPhase::DeLICM)] = false; + if (!EnableSimplify) + PassEnabled[static_cast(PassPhase::Simplify1)] = false; + if (ImportJScop) + PassEnabled[static_cast(PassPhase::ImportJScop)] = true; + if (DeadCodeElim) + PassEnabled[static_cast(PassPhase::DeadCodeElimination)] = true; + if (FullyIndexedStaticExpansion) + PassEnabled[static_cast(PassPhase::MaximumStaticExtension)] = true; + if (!EnablePruneUnprofitable) + PassEnabled[static_cast(PassPhase::PruneUnprofitable)] = false; + switch (Optimizer) { + case OPTIMIZER_NONE: + // explicitly switched off + PassEnabled[static_cast(PassPhase::Optimization)] = false; + break; + case OPTIMIZER_ISL: + // default: enabled + break; + } + if (ExportJScop) + PassEnabled[static_cast(PassPhase::ExportJScop)] = true; + switch (CodeGeneration) { + case CODEGEN_AST: + PassEnabled[static_cast(PassPhase::AstGen)] = true; + PassEnabled[static_cast(PassPhase::CodeGen)] = false; + break; + case CODEGEN_FULL: + // default: ast and codegen enabled + break; + case CODEGEN_NONE: + PassEnabled[static_cast(PassPhase::AstGen)] = false; + PassEnabled[static_cast(PassPhase::CodeGen)] = false; + break; + } + + while (!Params.empty()) { + StringRef Param; + std::tie(Param, Params) = Params.split(';'); + auto [ParamName, ParamVal] = Param.split('='); + + if (ParamName == "stopafter") { + StopAfter = parsePhase(ParamVal); + if (StopAfter == PassPhase::None) + return make_error( + formatv("invalid stopafter parameter value '{0}'", ParamVal).str(), + inconvertibleErrorCode()); + continue; + } + + if (!ParamVal.empty()) + return make_error( + formatv("parameter '{0}' does not take value", ParamName).str(), + inconvertibleErrorCode()); + + bool Enabled = true; + if (ParamName.starts_with("no-")) { + Enabled = false; + ParamName = ParamName.drop_front(3); + } + + if (ParamName == "default-opts") { + EnableDefaultOpts = Enabled; + continue; + } + + if (ParamName == "end2end") { + EnableEnd2End = Enabled; + continue; + } + + PassPhase Phase; + + // Shortcut for both simplifys at the same time + if (ParamName == "simplify") { + PassEnabled[static_cast(PassPhase::Simplify0)] = Enabled; + PassEnabled[static_cast(PassPhase::Simplify1)] = Enabled; + Phase = PassPhase::Simplify0; + } else { + Phase = parsePhase(ParamName); + if (Phase == PassPhase::None) + return make_error( + formatv("invalid Polly parameter/phase name '{0}'", ParamName) + .str(), + inconvertibleErrorCode()); + + if (PrevPhase >= Phase) + return make_error( + formatv("phases must not be repeated and enumerated in-order: " + "'{0}' listed before '{1}'", + getPhaseName(PrevPhase), getPhaseName(Phase)) + .str(), + inconvertibleErrorCode()); + + PassEnabled[static_cast(Phase)] = Enabled; + } + PrevPhase = Phase; + } + + PollyPassOptions Opts; + Opts.ViewAll = ViewAll; + Opts.ViewFilter = ViewFilter; + Opts.PrintDepsAnalysisLevel = OptAnalysisLevel; + + // Implicitly enable dependent phases first. May be overriden explicitly + // on/off later. + for (PassPhase P : llvm::enum_seq_inclusive(PassPhase::PassPhaseFirst, + PassPhase::PassPhaseLast)) { + bool Enabled = PassEnabled[static_cast(P)].value_or(false); + if (!Enabled) + continue; + + if (static_cast(PassPhase::Detection) < static_cast(P)) + Opts.setPhaseEnabled(PassPhase::Detection); + + if (static_cast(PassPhase::ScopInfo) < static_cast(P)) + Opts.setPhaseEnabled(PassPhase::ScopInfo); + + if (dependsOnDependenceInfo(P)) + Opts.setPhaseEnabled(PassPhase::Dependences); + + if (static_cast(PassPhase::AstGen) < static_cast(P)) + Opts.setPhaseEnabled(PassPhase::AstGen); + } + + if (EnableEnd2End) + Opts.enableEnd2End(); + + if (EnableDefaultOpts) + Opts.enableDefaultOpts(); + + for (PassPhase P : llvm::enum_seq_inclusive(PassPhase::PassPhaseFirst, + PassPhase::PassPhaseLast)) { + std::optional Enabled = PassEnabled[static_cast(P)]; + + // Apply only if set explicitly. + if (Enabled.has_value()) + Opts.setPhaseEnabled(P, *Enabled); + } + + if (StopAfter != PassPhase::None) + Opts.disableAfter(StopAfter); + + if (Error CheckResult = Opts.checkConsistency()) + return CheckResult; + + return Opts; +} + +static llvm::Expected +parsePollyDefaultOptions(StringRef Params) { + return parsePollyOptions(Params, false); +} + +static llvm::Expected +parsePollyCustomOptions(StringRef Params) { + return parsePollyOptions(Params, true); +} + /// Register Polly passes such that they form a polyhedral optimizer. /// /// The individual Polly passes are registered in the pass manager such that @@ -305,77 +461,12 @@ static void buildCommonPollyPipeline(FunctionPassManager &PM, OptimizationLevel Level, bool EnableForOpt) { PassBuilder PB; - ScopPassManager SPM; - - PM.addPass(CodePreparationPass()); - - // TODO add utility passes for the various command line options, once they're - // ported - - if (PollyDetectOnly) { - // Don't add more passes other than the ScopPassManager's detection passes. - PM.addPass(createFunctionToScopPassAdaptor(std::move(SPM))); - return; - } - if (PollyViewer) - PM.addPass(ScopViewer()); - if (PollyOnlyViewer) - PM.addPass(ScopOnlyViewer()); - if (PollyPrinter) - PM.addPass(ScopPrinter()); - if (PollyOnlyPrinter) - PM.addPass(ScopOnlyPrinter()); - if (EnableSimplify) - SPM.addPass(SimplifyPass(0)); - if (EnableForwardOpTree) - SPM.addPass(ForwardOpTreePass()); - if (EnableDeLICM) - SPM.addPass(DeLICMPass()); - if (EnableSimplify) - SPM.addPass(SimplifyPass(1)); - - if (ImportJScop) - SPM.addPass(JSONImportPass()); - - if (DeadCodeElim) - SPM.addPass(DeadCodeElimPass()); - - if (FullyIndexedStaticExpansion) - SPM.addPass(MaximalStaticExpansionPass()); - - if (EnablePruneUnprofitable) - SPM.addPass(PruneUnprofitablePass()); - - switch (Optimizer) { - case OPTIMIZER_NONE: - break; /* Do nothing */ - case OPTIMIZER_ISL: - SPM.addPass(IslScheduleOptimizerPass()); - break; - } - - if (ExportJScop) - SPM.addPass(JSONExportPass()); - - if (!EnableForOpt) - return; - - switch (CodeGeneration) { - case CODEGEN_AST: - SPM.addPass( - llvm::RequireAnalysisPass()); - break; - case CODEGEN_FULL: - SPM.addPass(CodeGenerationPass()); - break; - case CODEGEN_NONE: - break; - } + ExitOnError Err("Inconsistent Polly configuration: "); + PollyPassOptions &&Opts = + Err(parsePollyOptions(StringRef(), /*IsCustom=*/false)); + PM.addPass(PollyFunctionPass(Opts)); - PM.addPass(createFunctionToScopPassAdaptor(std::move(SPM))); PM.addPass(PB.buildFunctionSimplificationPipeline( Level, llvm::ThinOrFullLTOPhase::None)); // Cleanup @@ -492,8 +583,9 @@ parseCGPipeline(StringRef Name, llvm::CGSCCPassManager &CGPM, return false; } -static bool +static llvm::Expected parseFunctionPipeline(StringRef Name, FunctionPassManager &FPM, + PassInstrumentationCallbacks *PIC, ArrayRef Pipeline) { if (llvm::parseAnalysisUtilityPasses( "polly-scop-analyses", Name, FPM)) @@ -505,8 +597,13 @@ parseFunctionPipeline(StringRef Name, FunctionPassManager &FPM, FPM)) \ return true; -#define FUNCTION_PASS(NAME, CREATE_PASS) \ - if (Name == NAME) { \ +#define FUNCTION_PASS(NAME, CREATE_PASS, PARSER) \ + if (PassBuilder::checkParametrizedPassName(Name, NAME)) { \ + auto ExpectedOpts = PassBuilder::parsePassParameters(PARSER, Name, NAME); \ + if (!ExpectedOpts) \ + return ExpectedOpts.takeError(); \ + auto &&Opts = *ExpectedOpts; \ + (void)Opts; \ FPM.addPass(CREATE_PASS); \ return true; \ } @@ -592,6 +689,28 @@ parseTopLevelPipeline(llvm::ModulePassManager &MPM, return true; } +static llvm::Expected +parseModulePipeline(StringRef Name, llvm::ModulePassManager &MPM, + PassInstrumentationCallbacks *PIC, + ArrayRef Pipeline) { + assert(Pipeline.empty()); + +#define MODULE_PASS(NAME, CREATE_PASS, PARSER) \ + if (PassBuilder::checkParametrizedPassName(Name, NAME)) { \ + auto ExpectedOpts = PassBuilder::parsePassParameters(PARSER, Name, NAME); \ + if (!ExpectedOpts) \ + return ExpectedOpts.takeError(); \ + auto &&Opts = *ExpectedOpts; \ + (void)Opts; \ + MPM.addPass(CREATE_PASS); \ + return true; \ + } + +#include "PollyPasses.def" + + return false; +} + /// Register Polly to be available as an optimizer /// /// @@ -620,10 +739,36 @@ parseTopLevelPipeline(llvm::ModulePassManager &MPM, /// handle LICMed code to make it useful. void registerPollyPasses(PassBuilder &PB) { PassInstrumentationCallbacks *PIC = PB.getPassInstrumentationCallbacks(); + +#define MODULE_PASS(NAME, CREATE_PASS, PARSER) \ + { \ + std::remove_reference_t Opts; \ + (void)Opts; \ + PIC->addClassToPassName(decltype(CREATE_PASS)::name(), NAME); \ + } +#define CGSCC_PASS(NAME, CREATE_PASS, PARSER) \ + { \ + std::remove_reference_t Opts; \ + (void)Opts; \ + PIC->addClassToPassName(decltype(CREATE_PASS)::name(), NAME); \ + } +#define FUNCTION_PASS(NAME, CREATE_PASS, PARSER) \ + { \ + std::remove_reference_t Opts; \ + (void)Opts; \ + PIC->addClassToPassName(decltype(CREATE_PASS)::name(), NAME); \ + } +#include "PollyPasses.def" + PB.registerAnalysisRegistrationCallback([PIC](FunctionAnalysisManager &FAM) { registerFunctionAnalyses(FAM, PIC); }); - PB.registerPipelineParsingCallback(parseFunctionPipeline); + PB.registerPipelineParsingCallback( + [PIC](StringRef Name, FunctionPassManager &FPM, + ArrayRef Pipeline) -> bool { + ExitOnError Err("Unable to parse Polly module pass: "); + return Err(parseFunctionPipeline(Name, FPM, PIC, Pipeline)); + }); PB.registerPipelineParsingCallback( [PIC](StringRef Name, FunctionPassManager &FPM, ArrayRef Pipeline) -> bool { @@ -635,6 +780,12 @@ void registerPollyPasses(PassBuilder &PB) { ExitOnError Err("Unable to parse Polly call graph pass: "); return Err(parseCGPipeline(Name, CGPM, PIC, Pipeline)); }); + PB.registerPipelineParsingCallback( + [PIC](StringRef Name, ModulePassManager &MPM, + ArrayRef Pipeline) -> bool { + ExitOnError Err("Unable to parse Polly module pass: "); + return Err(parseModulePipeline(Name, MPM, PIC, Pipeline)); + }); PB.registerParseTopLevelPipelineCallback( [PIC](llvm::ModulePassManager &MPM, ArrayRef Pipeline) -> bool { diff --git a/polly/lib/Support/ScopHelper.cpp b/polly/lib/Support/ScopHelper.cpp index a2328d1bbb3cf..cf0ec4432f747 100644 --- a/polly/lib/Support/ScopHelper.cpp +++ b/polly/lib/Support/ScopHelper.cpp @@ -206,18 +206,6 @@ void polly::splitEntryBlockForAlloca(BasicBlock *EntryBlock, DominatorTree *DT, splitBlock(EntryBlock, I, DT, LI, RI); } -void polly::splitEntryBlockForAlloca(BasicBlock *EntryBlock, Pass *P) { - auto *DTWP = P->getAnalysisIfAvailable(); - auto *DT = DTWP ? &DTWP->getDomTree() : nullptr; - auto *LIWP = P->getAnalysisIfAvailable(); - auto *LI = LIWP ? &LIWP->getLoopInfo() : nullptr; - RegionInfoPass *RIP = P->getAnalysisIfAvailable(); - RegionInfo *RI = RIP ? &RIP->getRegionInfo() : nullptr; - - // splitBlock updates DT, LI and RI. - polly::splitEntryBlockForAlloca(EntryBlock, DT, LI, RI); -} - void polly::recordAssumption(polly::RecordedAssumptionsTy *RecordedAssumptions, polly::AssumptionKind Kind, isl::set Set, DebugLoc Loc, polly::AssumptionSign Sign, diff --git a/polly/lib/Transform/Canonicalization.cpp b/polly/lib/Transform/Canonicalization.cpp index 1be560e64af40..cd7195f5374df 100644 --- a/polly/lib/Transform/Canonicalization.cpp +++ b/polly/lib/Transform/Canonicalization.cpp @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// #include "polly/Canonicalization.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "llvm/Analysis/GlobalsModRef.h" #include "llvm/Analysis/ProfileSummaryInfo.h" @@ -39,24 +38,6 @@ static cl::opt cl::desc("Run an early inliner pass before Polly"), cl::Hidden, cl::cat(PollyCategory)); -void polly::registerCanonicalicationPasses(llvm::legacy::PassManagerBase &PM) { - bool UseMemSSA = true; - PM.add(llvm::createPromoteMemoryToRegisterPass()); - PM.add(llvm::createEarlyCSEPass(UseMemSSA)); - PM.add(llvm::createInstructionCombiningPass()); - PM.add(llvm::createCFGSimplificationPass()); - PM.add(llvm::createTailCallEliminationPass()); - PM.add(llvm::createCFGSimplificationPass()); - PM.add(llvm::createReassociatePass()); - if (PollyInliner) { - PM.add(llvm::createPromoteMemoryToRegisterPass()); - PM.add(llvm::createCFGSimplificationPass()); - PM.add(llvm::createInstructionCombiningPass()); - PM.add(createBarrierNoopPass()); - } - PM.add(llvm::createInstructionCombiningPass()); -} - /// Adapted from llvm::PassBuilder::buildInlinerPipeline static ModuleInlinerWrapperPass buildInlinePasses(llvm::OptimizationLevel Level) { @@ -125,49 +106,3 @@ polly::buildCanonicalicationPassesForNPM(llvm::ModulePassManager &MPM, return FPM; } - -namespace { -class PollyCanonicalize final : public ModulePass { - PollyCanonicalize(const PollyCanonicalize &) = delete; - const PollyCanonicalize &operator=(const PollyCanonicalize &) = delete; - -public: - static char ID; - - explicit PollyCanonicalize() : ModulePass(ID) {} - ~PollyCanonicalize(); - - /// @name FunctionPass interface. - //@{ - void getAnalysisUsage(AnalysisUsage &AU) const override; - void releaseMemory() override; - bool runOnModule(Module &M) override; - void print(raw_ostream &OS, const Module *) const override; - //@} -}; -} // namespace - -PollyCanonicalize::~PollyCanonicalize() {} - -void PollyCanonicalize::getAnalysisUsage(AnalysisUsage &AU) const {} - -void PollyCanonicalize::releaseMemory() {} - -bool PollyCanonicalize::runOnModule(Module &M) { - legacy::PassManager PM; - registerCanonicalicationPasses(PM); - PM.run(M); - - return true; -} - -void PollyCanonicalize::print(raw_ostream &OS, const Module *) const {} - -char PollyCanonicalize::ID = 0; - -Pass *polly::createPollyCanonicalizePass() { return new PollyCanonicalize(); } - -INITIALIZE_PASS_BEGIN(PollyCanonicalize, "polly-canonicalize", - "Polly - Run canonicalization passes", false, false) -INITIALIZE_PASS_END(PollyCanonicalize, "polly-canonicalize", - "Polly - Run canonicalization passes", false, false) diff --git a/polly/lib/Transform/CodePreparation.cpp b/polly/lib/Transform/CodePreparation.cpp index d045fb6b62c90..5b96c865ad80f 100644 --- a/polly/lib/Transform/CodePreparation.cpp +++ b/polly/lib/Transform/CodePreparation.cpp @@ -16,13 +16,11 @@ //===----------------------------------------------------------------------===// #include "polly/CodePreparation.h" -#include "polly/LinkAllPasses.h" #include "polly/Support/ScopHelper.h" #include "llvm/Analysis/DominanceFrontier.h" #include "llvm/Analysis/LoopInfo.h" #include "llvm/Analysis/RegionInfo.h" #include "llvm/Analysis/ScalarEvolution.h" -#include "llvm/InitializePasses.h" using namespace llvm; using namespace polly; @@ -47,32 +45,6 @@ static bool runCodePreprationImpl(Function &F, DominatorTree *DT, LoopInfo *LI, return true; } -namespace { - -/// Prepare the IR for the scop detection. -/// -class CodePreparation final : public FunctionPass { - CodePreparation(const CodePreparation &) = delete; - const CodePreparation &operator=(const CodePreparation &) = delete; - - void clear(); - -public: - static char ID; - - explicit CodePreparation() : FunctionPass(ID) {} - ~CodePreparation(); - - /// @name FunctionPass interface. - //@{ - void getAnalysisUsage(AnalysisUsage &AU) const override; - void releaseMemory() override; - bool runOnFunction(Function &F) override; - void print(raw_ostream &OS, const Module *) const override; - //@} -}; -} // namespace - PreservedAnalyses CodePreparationPass::run(Function &F, FunctionAnalysisManager &FAM) { auto &DT = FAM.getResult(F); @@ -86,44 +58,3 @@ PreservedAnalyses CodePreparationPass::run(Function &F, PA.preserve(); return PA; } - -void CodePreparation::clear() {} - -CodePreparation::~CodePreparation() { clear(); } - -void CodePreparation::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired(); - - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); - AU.addPreserved(); -} - -bool CodePreparation::runOnFunction(Function &F) { - if (skipFunction(F)) - return false; - - DominatorTree *DT = &getAnalysis().getDomTree(); - LoopInfo *LI = &getAnalysis().getLoopInfo(); - RegionInfo *RI = &getAnalysis().getRegionInfo(); - - runCodePreprationImpl(F, DT, LI, RI); - - return true; -} - -void CodePreparation::releaseMemory() { clear(); } - -void CodePreparation::print(raw_ostream &OS, const Module *) const {} - -char CodePreparation::ID = 0; -char &polly::CodePreparationID = CodePreparation::ID; - -Pass *polly::createCodePreparationPass() { return new CodePreparation(); } - -INITIALIZE_PASS_BEGIN(CodePreparation, "polly-prepare", - "Polly - Prepare code for polly", false, false) -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass) -INITIALIZE_PASS_END(CodePreparation, "polly-prepare", - "Polly - Prepare code for polly", false, false) diff --git a/polly/lib/Transform/DeLICM.cpp b/polly/lib/Transform/DeLICM.cpp index 9a9768afe113e..e8f2d951404f3 100644 --- a/polly/lib/Transform/DeLICM.cpp +++ b/polly/lib/Transform/DeLICM.cpp @@ -15,7 +15,6 @@ //===----------------------------------------------------------------------===// #include "polly/DeLICM.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopInfo.h" #include "polly/ScopPass.h" @@ -25,7 +24,6 @@ #include "polly/ZoneAlgo.h" #include "llvm/ADT/Statistic.h" #include "llvm/IR/Module.h" -#include "llvm/InitializePasses.h" #include "polly/Support/PollyDebug.h" #define DEBUG_TYPE "polly-delicm" @@ -35,6 +33,10 @@ using namespace llvm; namespace { +static cl::opt PollyPrintDeLICM("polly-print-delicm", + cl::desc("Polly - Print DeLICM/DePRE"), + cl::cat(PollyCategory)); + cl::opt DelicmMaxOps("polly-delicm-max-ops", cl::desc("Maximum number of isl operations to invest for " @@ -1356,7 +1358,10 @@ class DeLICMImpl final : public ZoneAlgorithm { } /// Return whether at least one transformation been applied. - bool isModified() const { return NumberOfTargetsMapped > 0; } + bool isModified() const { + return NumberOfTargetsMapped > 0 || NumberOfMappedValueScalars > 0 || + NumberOfMappedPHIScalars > 0; + } }; static std::unique_ptr collapseToUnused(Scop &S, LoopInfo &LI) { @@ -1376,7 +1381,7 @@ static std::unique_ptr collapseToUnused(Scop &S, LoopInfo &LI) { return Impl; } -static std::unique_ptr runDeLICM(Scop &S, LoopInfo &LI) { +static std::unique_ptr runDeLICMImpl(Scop &S, LoopInfo &LI) { std::unique_ptr Impl = collapseToUnused(S, LI); Scop::ScopStatistics ScopStats = S.getStatistics(); @@ -1394,7 +1399,7 @@ static PreservedAnalyses runDeLICMUsingNPM(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, SPMUpdater &U, raw_ostream *OS) { LoopInfo &LI = SAR.LI; - std::unique_ptr Impl = runDeLICM(S, LI); + std::unique_ptr Impl = runDeLICMImpl(S, LI); if (OS) { *OS << "Printing analysis 'Polly - DeLICM/DePRE' for region: '" @@ -1417,88 +1422,8 @@ static PreservedAnalyses runDeLICMUsingNPM(Scop &S, ScopAnalysisManager &SAM, PA.preserveSet>(); return PA; } - -class DeLICMWrapperPass final : public ScopPass { -private: - DeLICMWrapperPass(const DeLICMWrapperPass &) = delete; - const DeLICMWrapperPass &operator=(const DeLICMWrapperPass &) = delete; - - /// The pass implementation, also holding per-scop data. - std::unique_ptr Impl; - -public: - static char ID; - explicit DeLICMWrapperPass() : ScopPass(ID) {} - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequiredTransitive(); - AU.addRequired(); - AU.setPreservesAll(); - } - - bool runOnScop(Scop &S) override { - // Free resources for previous scop's computation, if not yet done. - releaseMemory(); - - auto &LI = getAnalysis().getLoopInfo(); - Impl = runDeLICM(S, LI); - - return Impl->isModified(); - } - - void printScop(raw_ostream &OS, Scop &S) const override { - if (!Impl) - return; - assert(Impl->getScop() == &S); - - OS << "DeLICM result:\n"; - Impl->print(OS); - } - - void releaseMemory() override { Impl.reset(); } -}; - -char DeLICMWrapperPass::ID; - -/// Print result from DeLICMWrapperPass. -class DeLICMPrinterLegacyPass final : public ScopPass { -public: - static char ID; - - DeLICMPrinterLegacyPass() : DeLICMPrinterLegacyPass(outs()) {} - explicit DeLICMPrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - DeLICMWrapperPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char DeLICMPrinterLegacyPass::ID = 0; } // anonymous namespace -Pass *polly::createDeLICMWrapperPass() { return new DeLICMWrapperPass(); } - -llvm::Pass *polly::createDeLICMPrinterLegacyPass(llvm::raw_ostream &OS) { - return new DeLICMPrinterLegacyPass(OS); -} - llvm::PreservedAnalyses polly::DeLICMPass::run(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, @@ -1527,15 +1452,21 @@ bool polly::isConflicting( return Knowledge::isConflicting(Existing, Proposed, OS, Indent); } -INITIALIZE_PASS_BEGIN(DeLICMWrapperPass, "polly-delicm", "Polly - DeLICM/DePRE", - false, false) -INITIALIZE_PASS_DEPENDENCY(ScopInfoWrapperPass) -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass) -INITIALIZE_PASS_END(DeLICMWrapperPass, "polly-delicm", "Polly - DeLICM/DePRE", - false, false) - -INITIALIZE_PASS_BEGIN(DeLICMPrinterLegacyPass, "polly-print-delicm", - "Polly - Print DeLICM/DePRE", false, false) -INITIALIZE_PASS_DEPENDENCY(ScopInfoWrapperPass) -INITIALIZE_PASS_END(DeLICMPrinterLegacyPass, "polly-print-delicm", - "Polly - Print DeLICM/DePRE", false, false) +bool polly::runDeLICM(Scop &S) { + LoopInfo &LI = *S.getLI(); + std::unique_ptr Impl = runDeLICMImpl(S, LI); + + if (PollyPrintDeLICM) { + outs() << "Printing analysis 'Polly - DeLICM/DePRE' for region: '" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; + if (Impl) { + assert(Impl->getScop() == &S); + + outs() << "DeLICM result:\n"; + Impl->print(outs()); + } + } + + return Impl->isModified(); +} diff --git a/polly/lib/Transform/DeadCodeElimination.cpp b/polly/lib/Transform/DeadCodeElimination.cpp index 5cb89fec09fe8..df95e5190431c 100644 --- a/polly/lib/Transform/DeadCodeElimination.cpp +++ b/polly/lib/Transform/DeadCodeElimination.cpp @@ -33,7 +33,6 @@ #include "polly/DeadCodeElimination.h" #include "polly/DependenceInfo.h" -#include "polly/LinkAllPasses.h" #include "polly/Options.h" #include "polly/ScopInfo.h" #include "llvm/Support/CommandLine.h" @@ -51,20 +50,6 @@ cl::opt DCEPreciseSteps( "before the actual dead code elimination."), cl::init(-1), cl::cat(PollyCategory)); -class DeadCodeElimWrapperPass final : public ScopPass { -public: - static char ID; - explicit DeadCodeElimWrapperPass() : ScopPass(ID) {} - - /// Remove dead iterations from the schedule of @p S. - bool runOnScop(Scop &S) override; - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; - -char DeadCodeElimWrapperPass::ID = 0; - /// Return the set of live iterations. /// /// The set of live iterations are all iterations that write to memory and for @@ -144,29 +129,19 @@ static bool runDeadCodeElimination(Scop &S, int PreciseSteps, return S.restrictDomains(Live); } -bool DeadCodeElimWrapperPass::runOnScop(Scop &S) { - auto &DI = getAnalysis(); - const Dependences &Deps = DI.getDependences(Dependences::AL_Statement); +} // namespace + +bool polly::runDeadCodeElim(Scop &S, DependenceAnalysis::Result &DA) { + const Dependences &Deps = DA.getDependences(Dependences::AL_Statement); bool Changed = runDeadCodeElimination(S, DCEPreciseSteps, Deps); // FIXME: We can probably avoid the recomputation of all dependences by // updating them explicitly. if (Changed) - DI.recomputeDependences(Dependences::AL_Statement); - - return false; -} - -void DeadCodeElimWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); -} - -} // namespace + DA.recomputeDependences(Dependences::AL_Statement); -Pass *polly::createDeadCodeElimWrapperPass() { - return new DeadCodeElimWrapperPass(); + return Changed; } llvm::PreservedAnalyses DeadCodeElimPass::run(Scop &S, ScopAnalysisManager &SAM, @@ -191,10 +166,3 @@ llvm::PreservedAnalyses DeadCodeElimPass::run(Scop &S, ScopAnalysisManager &SAM, PA.preserveSet>(); return PA; } - -INITIALIZE_PASS_BEGIN(DeadCodeElimWrapperPass, "polly-dce", - "Polly - Remove dead iterations", false, false) -INITIALIZE_PASS_DEPENDENCY(DependenceInfo) -INITIALIZE_PASS_DEPENDENCY(ScopInfoRegionPass) -INITIALIZE_PASS_END(DeadCodeElimWrapperPass, "polly-dce", - "Polly - Remove dead iterations", false, false) diff --git a/polly/lib/Transform/FlattenSchedule.cpp b/polly/lib/Transform/FlattenSchedule.cpp index f514ef359ba07..35a8ce6877036 100644 --- a/polly/lib/Transform/FlattenSchedule.cpp +++ b/polly/lib/Transform/FlattenSchedule.cpp @@ -14,6 +14,7 @@ #include "polly/FlattenSchedule.h" #include "polly/FlattenAlgo.h" +#include "polly/Options.h" #include "polly/ScopInfo.h" #include "polly/ScopPass.h" #include "polly/Support/ISLOStream.h" @@ -26,6 +27,10 @@ using namespace llvm; namespace { +static cl::opt PollyPrintFlattenSchedule("polly-print-flatten-schedule", + cl::desc("A polly pass"), + cl::cat(PollyCategory)); + /// Print a schedule to @p OS. /// /// Prints the schedule for each statements on a new line. @@ -34,119 +39,45 @@ void printSchedule(raw_ostream &OS, const isl::union_map &Schedule, for (isl::map Map : Schedule.get_map_list()) OS.indent(indent) << Map << "\n"; } +} // namespace -/// Flatten the schedule stored in an polly::Scop. -class FlattenSchedule final : public ScopPass { -private: - FlattenSchedule(const FlattenSchedule &) = delete; - const FlattenSchedule &operator=(const FlattenSchedule &) = delete; - - std::shared_ptr IslCtx; - isl::union_map OldSchedule; - -public: - static char ID; - explicit FlattenSchedule() : ScopPass(ID) {} - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequiredTransitive(); - AU.setPreservesAll(); - } - - bool runOnScop(Scop &S) override { - // Keep a reference to isl_ctx to ensure that it is not freed before we free - // OldSchedule. - IslCtx = S.getSharedIslCtx(); +void polly::runFlattenSchedulePass(Scop &S) { + // Keep a reference to isl_ctx to ensure that it is not freed before we free + // OldSchedule. + auto IslCtx = S.getSharedIslCtx(); - POLLY_DEBUG(dbgs() << "Going to flatten old schedule:\n"); - OldSchedule = S.getSchedule(); - POLLY_DEBUG(printSchedule(dbgs(), OldSchedule, 2)); + POLLY_DEBUG(dbgs() << "Going to flatten old schedule:\n"); + auto OldSchedule = S.getSchedule(); + POLLY_DEBUG(printSchedule(dbgs(), OldSchedule, 2)); - auto Domains = S.getDomains(); - auto RestrictedOldSchedule = OldSchedule.intersect_domain(Domains); - POLLY_DEBUG(dbgs() << "Old schedule with domains:\n"); - POLLY_DEBUG(printSchedule(dbgs(), RestrictedOldSchedule, 2)); + auto Domains = S.getDomains(); + auto RestrictedOldSchedule = OldSchedule.intersect_domain(Domains); + POLLY_DEBUG(dbgs() << "Old schedule with domains:\n"); + POLLY_DEBUG(printSchedule(dbgs(), RestrictedOldSchedule, 2)); - auto NewSchedule = flattenSchedule(RestrictedOldSchedule); + auto NewSchedule = flattenSchedule(RestrictedOldSchedule); - POLLY_DEBUG(dbgs() << "Flattened new schedule:\n"); - POLLY_DEBUG(printSchedule(dbgs(), NewSchedule, 2)); + POLLY_DEBUG(dbgs() << "Flattened new schedule:\n"); + POLLY_DEBUG(printSchedule(dbgs(), NewSchedule, 2)); - NewSchedule = NewSchedule.gist_domain(Domains); - POLLY_DEBUG(dbgs() << "Gisted, flattened new schedule:\n"); - POLLY_DEBUG(printSchedule(dbgs(), NewSchedule, 2)); + NewSchedule = NewSchedule.gist_domain(Domains); + POLLY_DEBUG(dbgs() << "Gisted, flattened new schedule:\n"); + POLLY_DEBUG(printSchedule(dbgs(), NewSchedule, 2)); - S.setSchedule(NewSchedule); - return false; - } + S.setSchedule(NewSchedule); - void printScop(raw_ostream &OS, Scop &S) const override { - OS << "Schedule before flattening {\n"; - printSchedule(OS, OldSchedule, 4); - OS << "}\n\n"; + if (PollyPrintFlattenSchedule) { + outs() + << "Printing analysis 'Polly - Print flattened schedule' for region: '" + << S.getRegion().getNameStr() << "' in function '" + << S.getFunction().getName() << "':\n"; - OS << "Schedule after flattening {\n"; - printSchedule(OS, S.getSchedule(), 4); - OS << "}\n"; - } + outs() << "Schedule before flattening {\n"; + printSchedule(outs(), OldSchedule, 4); + outs() << "}\n\n"; - void releaseMemory() override { - OldSchedule = {}; - IslCtx.reset(); + outs() << "Schedule after flattening {\n"; + printSchedule(outs(), S.getSchedule(), 4); + outs() << "}\n"; } -}; - -char FlattenSchedule::ID; - -/// Print result from FlattenSchedule. -class FlattenSchedulePrinterLegacyPass final : public ScopPass { -public: - static char ID; - - FlattenSchedulePrinterLegacyPass() - : FlattenSchedulePrinterLegacyPass(outs()) {} - explicit FlattenSchedulePrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - FlattenSchedule &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char FlattenSchedulePrinterLegacyPass::ID = 0; -} // anonymous namespace - -Pass *polly::createFlattenSchedulePass() { return new FlattenSchedule(); } - -Pass *polly::createFlattenSchedulePrinterLegacyPass(llvm::raw_ostream &OS) { - return new FlattenSchedulePrinterLegacyPass(OS); } - -INITIALIZE_PASS_BEGIN(FlattenSchedule, "polly-flatten-schedule", - "Polly - Flatten schedule", false, false) -INITIALIZE_PASS_END(FlattenSchedule, "polly-flatten-schedule", - "Polly - Flatten schedule", false, false) - -INITIALIZE_PASS_BEGIN(FlattenSchedulePrinterLegacyPass, - "polly-print-flatten-schedule", - "Polly - Print flattened schedule", false, false) -INITIALIZE_PASS_DEPENDENCY(FlattenSchedule) -INITIALIZE_PASS_END(FlattenSchedulePrinterLegacyPass, - "polly-print-flatten-schedule", - "Polly - Print flattened schedule", false, false) diff --git a/polly/lib/Transform/ForwardOpTree.cpp b/polly/lib/Transform/ForwardOpTree.cpp index e9be6c9cdcc27..24d4a4af6e681 100644 --- a/polly/lib/Transform/ForwardOpTree.cpp +++ b/polly/lib/Transform/ForwardOpTree.cpp @@ -28,7 +28,6 @@ #include "llvm/IR/Instruction.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/Value.h" -#include "llvm/InitializePasses.h" #include "llvm/Support/Casting.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Compiler.h" @@ -62,6 +61,11 @@ static cl::opt "analysis; 0=no limit"), cl::init(1000000), cl::cat(PollyCategory), cl::Hidden); +static cl::opt + PollyPrintOptree("polly-print-optree", + cl::desc("Polly - Print forward operand tree result"), + cl::cat(PollyCategory)); + STATISTIC(KnownAnalyzed, "Number of successfully analyzed SCoPs"); STATISTIC(KnownOutOfQuota, "Analyses aborted because max_operations was reached"); @@ -1030,8 +1034,8 @@ class ForwardOpTreeImpl final : ZoneAlgorithm { bool isModified() const { return Modified; } }; -static std::unique_ptr runForwardOpTree(Scop &S, - LoopInfo &LI) { +static std::unique_ptr runForwardOpTreeImpl(Scop &S, + LoopInfo &LI) { std::unique_ptr Impl; { IslMaxOperationsGuard MaxOpGuard(S.getIslCtx().get(), MaxOps, false); @@ -1073,7 +1077,7 @@ runForwardOpTreeUsingNPM(Scop &S, ScopAnalysisManager &SAM, raw_ostream *OS) { LoopInfo &LI = SAR.LI; - std::unique_ptr Impl = runForwardOpTree(S, LI); + std::unique_ptr Impl = runForwardOpTreeImpl(S, LI); if (OS) { *OS << "Printing analysis 'Polly - Forward operand tree' for region: '" << S.getName() << "' in function '" << S.getFunction().getName() @@ -1094,99 +1098,8 @@ runForwardOpTreeUsingNPM(Scop &S, ScopAnalysisManager &SAM, PA.preserveSet>(); return PA; } - -/// Pass that redirects scalar reads to array elements that are known to contain -/// the same value. -/// -/// This reduces the number of scalar accesses and therefore potentially -/// increases the freedom of the scheduler. In the ideal case, all reads of a -/// scalar definition are redirected (We currently do not care about removing -/// the write in this case). This is also useful for the main DeLICM pass as -/// there are less scalars to be mapped. -class ForwardOpTreeWrapperPass final : public ScopPass { -private: - /// The pass implementation, also holding per-scop data. - std::unique_ptr Impl; - -public: - static char ID; - - explicit ForwardOpTreeWrapperPass() : ScopPass(ID) {} - ForwardOpTreeWrapperPass(const ForwardOpTreeWrapperPass &) = delete; - ForwardOpTreeWrapperPass & - operator=(const ForwardOpTreeWrapperPass &) = delete; - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequiredTransitive(); - AU.addRequired(); - AU.setPreservesAll(); - } - - bool runOnScop(Scop &S) override { - // Free resources for previous SCoP's computation, if not yet done. - releaseMemory(); - - LoopInfo &LI = getAnalysis().getLoopInfo(); - - Impl = runForwardOpTree(S, LI); - - return false; - } - - void printScop(raw_ostream &OS, Scop &S) const override { - if (!Impl) - return; - - assert(Impl->getScop() == &S); - Impl->print(OS); - } - - void releaseMemory() override { Impl.reset(); } -}; // class ForwardOpTree - -char ForwardOpTreeWrapperPass::ID; - -/// Print result from ForwardOpTreeWrapperPass. -class ForwardOpTreePrinterLegacyPass final : public ScopPass { -public: - static char ID; - - ForwardOpTreePrinterLegacyPass() : ForwardOpTreePrinterLegacyPass(outs()) {} - explicit ForwardOpTreePrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - ForwardOpTreeWrapperPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -private: - llvm::raw_ostream &OS; -}; - -char ForwardOpTreePrinterLegacyPass::ID = 0; } // namespace -Pass *polly::createForwardOpTreeWrapperPass() { - return new ForwardOpTreeWrapperPass(); -} - -Pass *polly::createForwardOpTreePrinterLegacyPass(llvm::raw_ostream &OS) { - return new ForwardOpTreePrinterLegacyPass(OS); -} - llvm::PreservedAnalyses ForwardOpTreePass::run(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, @@ -1200,14 +1113,20 @@ ForwardOpTreePrinterPass::run(Scop &S, ScopAnalysisManager &SAM, return runForwardOpTreeUsingNPM(S, SAM, SAR, U, &OS); } -INITIALIZE_PASS_BEGIN(ForwardOpTreeWrapperPass, "polly-optree", - "Polly - Forward operand tree", false, false) -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass) -INITIALIZE_PASS_END(ForwardOpTreeWrapperPass, "polly-optree", - "Polly - Forward operand tree", false, false) - -INITIALIZE_PASS_BEGIN(ForwardOpTreePrinterLegacyPass, "polly-print-optree", - "Polly - Print forward operand tree result", false, false) -INITIALIZE_PASS_DEPENDENCY(ForwardOpTreeWrapperPass) -INITIALIZE_PASS_END(ForwardOpTreePrinterLegacyPass, "polly-print-optree", - "Polly - Print forward operand tree result", false, false) +bool polly::runForwardOpTree(Scop &S) { + LoopInfo &LI = *S.getLI(); + + std::unique_ptr Impl = runForwardOpTreeImpl(S, LI); + if (PollyPrintOptree) { + outs() << "Printing analysis 'Polly - Forward operand tree' for region: '" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; + if (Impl) { + assert(Impl->getScop() == &S); + + Impl->print(outs()); + } + } + + return Impl->isModified(); +} diff --git a/polly/lib/Transform/MaximalStaticExpansion.cpp b/polly/lib/Transform/MaximalStaticExpansion.cpp index 0719840f74a79..62a4d251875c5 100644 --- a/polly/lib/Transform/MaximalStaticExpansion.cpp +++ b/polly/lib/Transform/MaximalStaticExpansion.cpp @@ -13,14 +13,13 @@ #include "polly/MaximalStaticExpansion.h" #include "polly/DependenceInfo.h" -#include "polly/LinkAllPasses.h" +#include "polly/Options.h" #include "polly/ScopInfo.h" #include "polly/ScopPass.h" #include "polly/Support/ISLTools.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/StringRef.h" #include "llvm/Analysis/OptimizationRemarkEmitter.h" -#include "llvm/InitializePasses.h" #include "isl/isl-noexceptions.h" #include "isl/union_map.h" #include @@ -35,28 +34,10 @@ using namespace polly; namespace { -class MaximalStaticExpanderWrapperPass final : public ScopPass { -public: - static char ID; - - explicit MaximalStaticExpanderWrapperPass() : ScopPass(ID) {} - - ~MaximalStaticExpanderWrapperPass() override = default; - - /// Expand the accesses of the SCoP. - /// - /// @param S The SCoP that must be expanded. - bool runOnScop(Scop &S) override; - - /// Print the SCoP. - /// - /// @param OS The stream where to print. - /// @param S The SCop that must be printed. - void printScop(raw_ostream &OS, Scop &S) const override; - - /// Register all analyses and transformations required. - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; +static cl::opt + PollyPrintMSE("polly-print-mse", + cl::desc("Polly - Print Maximal static expansion of SCoP"), + cl::cat(PollyCategory)); #ifndef NDEBUG /// Whether a dimension of a set is bounded (lower and upper) by a constant, @@ -458,8 +439,8 @@ class MaximalStaticExpansionImpl { }; static std::unique_ptr -runMaximalStaticExpansion(Scop &S, OptimizationRemarkEmitter &ORE, - const Dependences &D) { +runMaximalStaticExpansionImpl(Scop &S, OptimizationRemarkEmitter &ORE, + const Dependences &D) { auto Dependences = D.getDependences(Dependences::TYPE_RAW); std::unique_ptr Impl = @@ -478,7 +459,7 @@ static PreservedAnalyses runMSEUsingNPM(Scop &S, ScopAnalysisManager &SAM, auto &D = DI.getDependences(Dependences::AL_Reference); std::unique_ptr Impl = - runMaximalStaticExpansion(S, ORE, D); + runMaximalStaticExpansionImpl(S, ORE, D); if (OS) { *OS << "Printing analysis 'Polly - Maximal static expansion of SCoP' for " @@ -511,42 +492,24 @@ MaximalStaticExpansionPrinterPass::run(Scop &S, ScopAnalysisManager &SAM, return runMSEUsingNPM(S, SAM, SAR, &OS); } -char MaximalStaticExpanderWrapperPass::ID = 0; - -bool MaximalStaticExpanderWrapperPass::runOnScop(Scop &S) { - // Get the ORE from OptimizationRemarkEmitterWrapperPass. - OptimizationRemarkEmitter *ORE = - &getAnalysis().getORE(); +void polly::runMaximalStaticExpansion(Scop &S, DependenceAnalysis::Result &DI) { + OptimizationRemarkEmitter ORE(&S.getFunction()); - // Get the RAW Dependences. - auto &DI = getAnalysis(); auto &D = DI.getDependences(Dependences::AL_Reference); std::unique_ptr Impl = - runMaximalStaticExpansion(S, *ORE, D); + runMaximalStaticExpansionImpl(S, ORE, D); - return false; -} - -void MaximalStaticExpanderWrapperPass::printScop(raw_ostream &OS, - Scop &S) const { - S.print(OS, false); -} - -void MaximalStaticExpanderWrapperPass::getAnalysisUsage( - AnalysisUsage &AU) const { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.addRequired(); -} + if (PollyPrintMSE) { + outs() + << "Printing analysis 'Polly - Maximal static expansion of SCoP' for " + "region: '" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; -Pass *polly::createMaximalStaticExpansionPass() { - return new MaximalStaticExpanderWrapperPass(); + if (Impl) { + outs() << "MSE result:\n"; + Impl->print(llvm::outs()); + } + } } - -INITIALIZE_PASS_BEGIN(MaximalStaticExpanderWrapperPass, "polly-mse", - "Polly - Maximal static expansion of SCoP", false, false); -INITIALIZE_PASS_DEPENDENCY(DependenceInfo); -INITIALIZE_PASS_DEPENDENCY(OptimizationRemarkEmitterWrapperPass); -INITIALIZE_PASS_END(MaximalStaticExpanderWrapperPass, "polly-mse", - "Polly - Maximal static expansion of SCoP", false, false) diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp index 0888ebd7a9362..6acdd6862c4cc 100644 --- a/polly/lib/Transform/ScheduleOptimizer.cpp +++ b/polly/lib/Transform/ScheduleOptimizer.cpp @@ -57,7 +57,6 @@ #include "llvm/ADT/Sequence.h" #include "llvm/ADT/Statistic.h" #include "llvm/Analysis/OptimizationRemarkEmitter.h" -#include "llvm/InitializePasses.h" #include "llvm/Support/CommandLine.h" #include "isl/options.h" @@ -198,6 +197,10 @@ static cl::opt OptimizedScops( "transformations is applied on the schedule tree"), cl::cat(PollyCategory)); +static cl::opt PollyPrintOptIsl("polly-print-opt-isl", + cl::desc("A polly pass"), + cl::cat(PollyCategory)); + STATISTIC(ScopsProcessed, "Number of scops processed"); STATISTIC(ScopsRescheduled, "Number of scops rescheduled"); STATISTIC(ScopsOptimized, "Number of scops optimized"); @@ -638,34 +641,6 @@ bool ScheduleTreeOptimizer::isProfitableSchedule(Scop &S, return changed; } -class IslScheduleOptimizerWrapperPass final : public ScopPass { -public: - static char ID; - - explicit IslScheduleOptimizerWrapperPass() : ScopPass(ID) {} - - /// Optimize the schedule of the SCoP @p S. - bool runOnScop(Scop &S) override; - - /// Print the new schedule for the SCoP @p S. - void printScop(raw_ostream &OS, Scop &S) const override; - - /// Register all analyses and transformation required. - void getAnalysisUsage(AnalysisUsage &AU) const override; - - /// Release the internal memory. - void releaseMemory() override { - LastSchedule = {}; - IslCtx.reset(); - } - -private: - std::shared_ptr IslCtx; - isl::schedule LastSchedule; -}; - -char IslScheduleOptimizerWrapperPass::ID = 0; - #ifndef NDEBUG static void printSchedule(llvm::raw_ostream &OS, const isl::schedule &Schedule, StringRef Desc) { @@ -733,7 +708,7 @@ static void walkScheduleTreeForStatistics(isl::schedule Schedule, int Version) { &Version); } -static void runIslScheduleOptimizer( +static void runIslScheduleOptimizerImpl( Scop &S, function_ref GetDeps, TargetTransformInfo *TTI, OptimizationRemarkEmitter *ORE, @@ -950,30 +925,6 @@ static void runIslScheduleOptimizer( errs() << S; } -bool IslScheduleOptimizerWrapperPass::runOnScop(Scop &S) { - releaseMemory(); - - Function &F = S.getFunction(); - IslCtx = S.getSharedIslCtx(); - - auto getDependences = - [this](Dependences::AnalysisLevel) -> const Dependences & { - return getAnalysis().getDependences( - Dependences::AL_Statement); - }; - OptimizationRemarkEmitter &ORE = - getAnalysis().getORE(); - TargetTransformInfo *TTI = - &getAnalysis().getTTI(F); - - bool DepsChanged = false; - runIslScheduleOptimizer(S, getDependences, TTI, &ORE, LastSchedule, - DepsChanged); - if (DepsChanged) - getAnalysis().abandonDependences(); - return false; -} - static void runScheduleOptimizerPrinter(raw_ostream &OS, isl::schedule LastSchedule) { isl_printer *p; @@ -997,36 +948,8 @@ static void runScheduleOptimizerPrinter(raw_ostream &OS, free(ScheduleStr); } -void IslScheduleOptimizerWrapperPass::printScop(raw_ostream &OS, Scop &) const { - runScheduleOptimizerPrinter(OS, LastSchedule); -} - -void IslScheduleOptimizerWrapperPass::getAnalysisUsage( - AnalysisUsage &AU) const { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.addRequired(); - AU.addRequired(); - - AU.addPreserved(); - AU.addPreserved(); -} - } // namespace -Pass *polly::createIslScheduleOptimizerWrapperPass() { - return new IslScheduleOptimizerWrapperPass(); -} - -INITIALIZE_PASS_BEGIN(IslScheduleOptimizerWrapperPass, "polly-opt-isl", - "Polly - Optimize schedule of SCoP", false, false); -INITIALIZE_PASS_DEPENDENCY(DependenceInfo); -INITIALIZE_PASS_DEPENDENCY(ScopInfoRegionPass); -INITIALIZE_PASS_DEPENDENCY(TargetTransformInfoWrapperPass); -INITIALIZE_PASS_DEPENDENCY(OptimizationRemarkEmitterWrapperPass); -INITIALIZE_PASS_END(IslScheduleOptimizerWrapperPass, "polly-opt-isl", - "Polly - Optimize schedule of SCoP", false, false) - static llvm::PreservedAnalyses runIslScheduleOptimizerUsingNPM(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, SPMUpdater &U, @@ -1039,7 +962,7 @@ runIslScheduleOptimizerUsingNPM(Scop &S, ScopAnalysisManager &SAM, TargetTransformInfo *TTI = &SAR.TTI; isl::schedule LastSchedule; bool DepsChanged = false; - runIslScheduleOptimizer(S, GetDeps, TTI, &ORE, LastSchedule, DepsChanged); + runIslScheduleOptimizerImpl(S, GetDeps, TTI, &ORE, LastSchedule, DepsChanged); if (DepsChanged) Deps.abandonDependences(); @@ -1065,52 +988,23 @@ IslScheduleOptimizerPrinterPass::run(Scop &S, ScopAnalysisManager &SAM, return runIslScheduleOptimizerUsingNPM(S, SAM, SAR, U, &OS); } -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from IslScheduleOptimizerWrapperPass. -class IslScheduleOptimizerPrinterLegacyPass final : public ScopPass { -public: - static char ID; - - IslScheduleOptimizerPrinterLegacyPass() - : IslScheduleOptimizerPrinterLegacyPass(outs()) {} - explicit IslScheduleOptimizerPrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - IslScheduleOptimizerWrapperPass &P = - getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; - } +void polly::runIslScheduleOptimizer(Scop &S, TargetTransformInfo *TTI, + DependenceAnalysis::Result &Deps) { + auto GetDeps = [&Deps](Dependences::AnalysisLevel) -> const Dependences & { + return Deps.getDependences(Dependences::AL_Statement); + }; + OptimizationRemarkEmitter ORE(&S.getFunction()); + isl::schedule LastSchedule; + bool DepsChanged = false; + runIslScheduleOptimizerImpl(S, GetDeps, TTI, &ORE, LastSchedule, DepsChanged); + if (DepsChanged) + Deps.abandonDependences(); - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); + if (PollyPrintOptIsl) { + outs() + << "Printing analysis 'Polly - Optimize schedule of SCoP' for region: '" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; + runScheduleOptimizerPrinter(outs(), LastSchedule); } - -private: - llvm::raw_ostream &OS; -}; - -char IslScheduleOptimizerPrinterLegacyPass::ID = 0; -} // namespace - -Pass *polly::createIslScheduleOptimizerPrinterLegacyPass(raw_ostream &OS) { - return new IslScheduleOptimizerPrinterLegacyPass(OS); } - -INITIALIZE_PASS_BEGIN(IslScheduleOptimizerPrinterLegacyPass, - "polly-print-opt-isl", - "Polly - Print optimizer schedule of SCoP", false, false); -INITIALIZE_PASS_DEPENDENCY(IslScheduleOptimizerWrapperPass) -INITIALIZE_PASS_END(IslScheduleOptimizerPrinterLegacyPass, - "polly-print-opt-isl", - "Polly - Print optimizer schedule of SCoP", false, false) diff --git a/polly/lib/Transform/ScopInliner.cpp b/polly/lib/Transform/ScopInliner.cpp index c04ba3498339e..8e7a0dedaf533 100644 --- a/polly/lib/Transform/ScopInliner.cpp +++ b/polly/lib/Transform/ScopInliner.cpp @@ -95,53 +95,7 @@ template bool runScopInlinerImpl(Function *F, SCC_t &SCC) { return Changed; } - -class ScopInlinerWrapperPass final : public CallGraphSCCPass { - using llvm::Pass::doInitialization; - -public: - static char ID; - - ScopInlinerWrapperPass() : CallGraphSCCPass(ID) {} - - bool doInitialization(CallGraph &CG) override { - if (!polly::PollyAllowFullFunction) { - report_fatal_error( - "Aborting from ScopInliner because it only makes sense to run with " - "-polly-allow-full-function. " - "The heurtistic for ScopInliner checks that the full function is a " - "Scop, which happens if and only if polly-allow-full-function is " - " enabled. " - " If not, the entry block is not included in the Scop"); - } - return true; - } - - bool runOnSCC(CallGraphSCC &SCC) override { - Function *F = (*SCC.begin())->getFunction(); - return runScopInlinerImpl(F, SCC); - }; - - void getAnalysisUsage(AnalysisUsage &AU) const override { - CallGraphSCCPass::getAnalysisUsage(AU); - } -}; } // namespace -char ScopInlinerWrapperPass::ID; - -Pass *polly::createScopInlinerWrapperPass() { - ScopInlinerWrapperPass *pass = new ScopInlinerWrapperPass(); - return pass; -} - -INITIALIZE_PASS_BEGIN( - ScopInlinerWrapperPass, "polly-scop-inliner", - "inline functions based on how much of the function is a scop.", false, - false) -INITIALIZE_PASS_END( - ScopInlinerWrapperPass, "polly-scop-inliner", - "inline functions based on how much of the function is a scop.", false, - false) polly::ScopInlinerPass::ScopInlinerPass() { if (!polly::PollyAllowFullFunction) { diff --git a/polly/lib/Transform/Simplify.cpp b/polly/lib/Transform/Simplify.cpp index 75e91cd1c031a..cf0f8c5ca5ef2 100644 --- a/polly/lib/Transform/Simplify.cpp +++ b/polly/lib/Transform/Simplify.cpp @@ -11,6 +11,7 @@ //===----------------------------------------------------------------------===// #include "polly/Simplify.h" +#include "polly/Options.h" #include "polly/ScopInfo.h" #include "polly/ScopPass.h" #include "polly/Support/GICHelper.h" @@ -18,7 +19,6 @@ #include "polly/Support/ISLTools.h" #include "polly/Support/VirtualInstruction.h" #include "llvm/ADT/Statistic.h" -#include "llvm/InitializePasses.h" #include "llvm/Support/Debug.h" #include @@ -30,6 +30,11 @@ using namespace polly; namespace { +static cl::opt + PollyPrintSimplify("polly-print-simplify", + cl::desc("Polly - Print Simplify actions"), + cl::cat(PollyCategory)); + #define TWO_STATISTICS(VARNAME, DESC) \ static llvm::Statistic VARNAME[2] = { \ {DEBUG_TYPE, #VARNAME "0", DESC " (first)"}, \ @@ -756,39 +761,6 @@ void SimplifyImpl::printScop(raw_ostream &OS, Scop &S) const { printAccesses(OS); } -class SimplifyWrapperPass final : public ScopPass { -public: - static char ID; - int CallNo; - std::optional Impl; - - explicit SimplifyWrapperPass(int CallNo = 0) : ScopPass(ID), CallNo(CallNo) {} - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequiredTransitive(); - AU.addRequired(); - AU.setPreservesAll(); - } - - bool runOnScop(Scop &S) override { - LoopInfo *LI = &getAnalysis().getLoopInfo(); - - Impl.emplace(CallNo); - Impl->run(S, LI); - - return false; - } - - void printScop(raw_ostream &OS, Scop &S) const override { - if (Impl) - Impl->printScop(OS, S); - } - - void releaseMemory() override { Impl.reset(); } -}; - -char SimplifyWrapperPass::ID; - static llvm::PreservedAnalyses runSimplifyUsingNPM(Scop &S, ScopAnalysisManager &SAM, ScopStandardAnalysisResults &SAR, SPMUpdater &U, int CallNo, @@ -843,58 +815,15 @@ SmallVector polly::getAccessesInOrder(ScopStmt &Stmt) { return Accesses; } -Pass *polly::createSimplifyWrapperPass(int CallNo) { - return new SimplifyWrapperPass(CallNo); -} - -INITIALIZE_PASS_BEGIN(SimplifyWrapperPass, "polly-simplify", "Polly - Simplify", - false, false) -INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass) -INITIALIZE_PASS_END(SimplifyWrapperPass, "polly-simplify", "Polly - Simplify", - false, false) - -//===----------------------------------------------------------------------===// - -namespace { -/// Print result from SimplifyWrapperPass. -class SimplifyPrinterLegacyPass final : public ScopPass { -public: - static char ID; - - SimplifyPrinterLegacyPass() : SimplifyPrinterLegacyPass(outs()) {} - explicit SimplifyPrinterLegacyPass(llvm::raw_ostream &OS) - : ScopPass(ID), OS(OS) {} - - bool runOnScop(Scop &S) override { - SimplifyWrapperPass &P = getAnalysis(); - - OS << "Printing analysis '" << P.getPassName() << "' for region: '" - << S.getRegion().getNameStr() << "' in function '" - << S.getFunction().getName() << "':\n"; - P.printScop(OS, S); - - return false; - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); +bool polly::runSimplify(Scop &S, int CallNo) { + SimplifyImpl Impl(CallNo); + Impl.run(S, S.getLI()); + if (PollyPrintSimplify) { + outs() << "Printing analysis 'Polly - Simplify' for region: '" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; + Impl.printScop(outs(), S); } -private: - llvm::raw_ostream &OS; -}; - -char SimplifyPrinterLegacyPass::ID = 0; -} // namespace - -Pass *polly::createSimplifyPrinterLegacyPass(raw_ostream &OS) { - return new SimplifyPrinterLegacyPass(OS); + return Impl.isModified(); } - -INITIALIZE_PASS_BEGIN(SimplifyPrinterLegacyPass, "polly-print-simplify", - "Polly - Print Simplify actions", false, false) -INITIALIZE_PASS_DEPENDENCY(SimplifyWrapperPass) -INITIALIZE_PASS_END(SimplifyPrinterLegacyPass, "polly-print-simplify", - "Polly - Print Simplify actions", false, false) diff --git a/polly/test/CodeGen/20100617.ll b/polly/test/CodeGen/20100617.ll index 7229a6e3d5240..7de1b843a5b0a 100644 --- a/polly/test/CodeGen/20100617.ll +++ b/polly/test/CodeGen/20100617.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @init_array() nounwind { diff --git a/polly/test/CodeGen/20100622.ll b/polly/test/CodeGen/20100622.ll index bed737741abba..13a6159d3e7a7 100644 --- a/polly/test/CodeGen/20100622.ll +++ b/polly/test/CodeGen/20100622.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | not FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s | not FileCheck %s target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" diff --git a/polly/test/CodeGen/20100707.ll b/polly/test/CodeGen/20100707.ll index ee0422e07c4ea..6a4763dcb3b76 100644 --- a/polly/test/CodeGen/20100707.ll +++ b/polly/test/CodeGen/20100707.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @clause_SetSplitField(i32 %Length) nounwind inlinehint { diff --git a/polly/test/CodeGen/20100707_2.ll b/polly/test/CodeGen/20100707_2.ll index a4cd76af9dd3c..648a06479ae27 100644 --- a/polly/test/CodeGen/20100707_2.ll +++ b/polly/test/CodeGen/20100707_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" @win193 = external global [4 x [36 x double]], align 32 ; [#uses=3] diff --git a/polly/test/CodeGen/20100708.ll b/polly/test/CodeGen/20100708.ll index 9080451aeae50..52153d7cfa730 100644 --- a/polly/test/CodeGen/20100708.ll +++ b/polly/test/CodeGen/20100708.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define fastcc void @execute() nounwind { diff --git a/polly/test/CodeGen/20100708_2.ll b/polly/test/CodeGen/20100708_2.ll index 51dc9d311f070..075a4947c8e72 100644 --- a/polly/test/CodeGen/20100708_2.ll +++ b/polly/test/CodeGen/20100708_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @init_array() nounwind { diff --git a/polly/test/CodeGen/20100713.ll b/polly/test/CodeGen/20100713.ll index a836795c9907f..0b0ed7327c8b1 100644 --- a/polly/test/CodeGen/20100713.ll +++ b/polly/test/CodeGen/20100713.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @fft_float(i32 %NumSamples) nounwind { diff --git a/polly/test/CodeGen/20100713_2.ll b/polly/test/CodeGen/20100713_2.ll index 28b984bd5900f..5681f34152342 100644 --- a/polly/test/CodeGen/20100713_2.ll +++ b/polly/test/CodeGen/20100713_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define hidden void @luaD_callhook() nounwind { diff --git a/polly/test/CodeGen/20100717.ll b/polly/test/CodeGen/20100717.ll index 51c453cfe438e..97ed151410dfb 100644 --- a/polly/test/CodeGen/20100717.ll +++ b/polly/test/CodeGen/20100717.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @matrixTranspose(ptr %A) nounwind { diff --git a/polly/test/CodeGen/20100718-DomInfo-2.ll b/polly/test/CodeGen/20100718-DomInfo-2.ll index fdac75f1b999f..cbee80e44949c 100644 --- a/polly/test/CodeGen/20100718-DomInfo-2.ll +++ b/polly/test/CodeGen/20100718-DomInfo-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -verify-dom-info -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -verify-dom-info -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @getNonAffNeighbour() nounwind { diff --git a/polly/test/CodeGen/20100718-DomInfo.ll b/polly/test/CodeGen/20100718-DomInfo.ll index da68eb0dd8fa7..e6fcaf6a9272f 100644 --- a/polly/test/CodeGen/20100718-DomInfo.ll +++ b/polly/test/CodeGen/20100718-DomInfo.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -verify-dom-info -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -verify-dom-info -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @intrapred_luma_16x16(i32 %predmode) nounwind { diff --git a/polly/test/CodeGen/20100720-MultipleConditions.ll b/polly/test/CodeGen/20100720-MultipleConditions.ll index 3dece4efdcd06..66c9e2bb0eb5b 100644 --- a/polly/test/CodeGen/20100720-MultipleConditions.ll +++ b/polly/test/CodeGen/20100720-MultipleConditions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s ;int bar1(); ;int bar2(); diff --git a/polly/test/CodeGen/20100809-IndependentBlock.ll b/polly/test/CodeGen/20100809-IndependentBlock.ll index f45b6544464de..cc3a5087090b4 100644 --- a/polly/test/CodeGen/20100809-IndependentBlock.ll +++ b/polly/test/CodeGen/20100809-IndependentBlock.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @cfft2(ptr %x) nounwind { entry: diff --git a/polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll b/polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll index 82da9d2486423..240c2a49bc46d 100644 --- a/polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll +++ b/polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/CodeGen/20101030-Overflow.ll b/polly/test/CodeGen/20101030-Overflow.ll index fecdb9d4fed1e..c199f757ebac5 100644 --- a/polly/test/CodeGen/20101030-Overflow.ll +++ b/polly/test/CodeGen/20101030-Overflow.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @compdecomp() nounwind { diff --git a/polly/test/CodeGen/20101103-Overflow3.ll b/polly/test/CodeGen/20101103-Overflow3.ll index f1503e25fcc4c..e8b425f009723 100644 --- a/polly/test/CodeGen/20101103-Overflow3.ll +++ b/polly/test/CodeGen/20101103-Overflow3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @Reflection_coefficients(ptr %r) nounwind { bb20: diff --git a/polly/test/CodeGen/20101103-signmissmatch.ll b/polly/test/CodeGen/20101103-signmissmatch.ll index 3d0c929446f45..0295ee0567208 100644 --- a/polly/test/CodeGen/20101103-signmissmatch.ll +++ b/polly/test/CodeGen/20101103-signmissmatch.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @CleanNet() nounwind { diff --git a/polly/test/CodeGen/20110226-Ignore-Dead-Code.ll b/polly/test/CodeGen/20110226-Ignore-Dead-Code.ll index 0e62e678f0ae2..6913deed23054 100644 --- a/polly/test/CodeGen/20110226-Ignore-Dead-Code.ll +++ b/polly/test/CodeGen/20110226-Ignore-Dead-Code.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @main() nounwind { diff --git a/polly/test/CodeGen/20110226-PHI-Node-removed.ll b/polly/test/CodeGen/20110226-PHI-Node-removed.ll index 32b018f24e547..a39fced9dbaba 100644 --- a/polly/test/CodeGen/20110226-PHI-Node-removed.ll +++ b/polly/test/CodeGen/20110226-PHI-Node-removed.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/CodeGen/20120316-InvalidCast.ll b/polly/test/CodeGen/20120316-InvalidCast.ll index b87a3dc60deaa..a7f709b4a7615 100644 --- a/polly/test/CodeGen/20120316-InvalidCast.ll +++ b/polly/test/CodeGen/20120316-InvalidCast.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; CHECK: polly.start diff --git a/polly/test/CodeGen/20120403-RHS-type-mismatch.ll b/polly/test/CodeGen/20120403-RHS-type-mismatch.ll index dac78bf04a250..554384c0e777e 100644 --- a/polly/test/CodeGen/20120403-RHS-type-mismatch.ll +++ b/polly/test/CodeGen/20120403-RHS-type-mismatch.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s ; We just check that this compilation does not crash. diff --git a/polly/test/CodeGen/20130221.ll b/polly/test/CodeGen/20130221.ll index 5728a768a3b3b..101930e175634 100644 --- a/polly/test/CodeGen/20130221.ll +++ b/polly/test/CodeGen/20130221.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" define void @list_sequence(ptr %A) { diff --git a/polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll b/polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll index cafd68e508255..7ad8cbf963f45 100644 --- a/polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll +++ b/polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/Intrinsics/llvm-expect.ll b/polly/test/CodeGen/Intrinsics/llvm-expect.ll index 47fd4f07e4678..ba4ea1565e481 100644 --- a/polly/test/CodeGen/Intrinsics/llvm-expect.ll +++ b/polly/test/CodeGen/Intrinsics/llvm-expect.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; Check that we generate code without crashing. ; diff --git a/polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll b/polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll index eb7de01ba862c..a92917f30b724 100644 --- a/polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll +++ b/polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll @@ -1,6 +1,6 @@ ; This test checks that we do not accidentally mutate the debug info when ; inserting loop parallel metadata. -; RUN: opt %loadNPMPolly < %s -S -polly -passes=polly-codegen -polly-ast-detect-parallel | FileCheck %s +; RUN: opt %loadNPMPolly -S -polly '-passes=polly' -polly-ast-detect-parallel < %s | FileCheck %s ; CHECK-NOT: !7 = !{!7} target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll b/polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll index 9bb086fa79aed..0d947004aea50 100644 --- a/polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll +++ b/polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-ast-detect-parallel -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-ast-detect-parallel -S < %s | FileCheck %s ; ; Check that we mark multiple parallel loops correctly including the memory instructions. ; diff --git a/polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll b/polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll index 442600cff7a0a..1293cd91da78d 100644 --- a/polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll +++ b/polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=SEQUENTIAL -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-ast-detect-parallel -S < %s | FileCheck %s -check-prefix=PARALLEL +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=SEQUENTIAL +; RUN: opt %loadNPMPolly '-passes=polly' -polly-ast-detect-parallel -S < %s | FileCheck %s -check-prefix=PARALLEL target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; This is a trivially parallel loop. We just use it to ensure that we actually diff --git a/polly/test/CodeGen/MemAccess/bad_alignment.ll b/polly/test/CodeGen/MemAccess/bad_alignment.ll index 82fff27dd0eb7..be1c64938422c 100644 --- a/polly/test/CodeGen/MemAccess/bad_alignment.ll +++ b/polly/test/CodeGen/MemAccess/bad_alignment.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly -passes=polly-import-jscop -disable-output 2>&1 < %s | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -disable-output 2>&1 < %s | FileCheck %s ; ; Check that we do not allow to access elements not accessed before because the ; alignment information would become invalid. diff --git a/polly/test/CodeGen/MemAccess/codegen_address_space.ll b/polly/test/CodeGen/MemAccess/codegen_address_space.ll index 3360e10529f8e..283c8fbd2c249 100644 --- a/polly/test/CodeGen/MemAccess/codegen_address_space.ll +++ b/polly/test/CodeGen/MemAccess/codegen_address_space.ll @@ -1,4 +1,4 @@ -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed < %s -S | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ;int A[100]; ; diff --git a/polly/test/CodeGen/MemAccess/codegen_constant_offset.ll b/polly/test/CodeGen/MemAccess/codegen_constant_offset.ll index 0563ca87eef51..ce44f2daceaa9 100644 --- a/polly/test/CodeGen/MemAccess/codegen_constant_offset.ll +++ b/polly/test/CodeGen/MemAccess/codegen_constant_offset.ll @@ -1,4 +1,4 @@ -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed < %s -S | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ;int A[100]; ; diff --git a/polly/test/CodeGen/MemAccess/codegen_simple.ll b/polly/test/CodeGen/MemAccess/codegen_simple.ll index ee0187fe97d25..ab1dca516a9cf 100644 --- a/polly/test/CodeGen/MemAccess/codegen_simple.ll +++ b/polly/test/CodeGen/MemAccess/codegen_simple.ll @@ -1,4 +1,4 @@ -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed < %s -S | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ;int A[100]; ; diff --git a/polly/test/CodeGen/MemAccess/codegen_simple_float.ll b/polly/test/CodeGen/MemAccess/codegen_simple_float.ll index 6970565bf023e..72f9c2ce61e3c 100644 --- a/polly/test/CodeGen/MemAccess/codegen_simple_float.ll +++ b/polly/test/CodeGen/MemAccess/codegen_simple_float.ll @@ -1,4 +1,4 @@ -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed < %s -S | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ;float A[100]; ; diff --git a/polly/test/CodeGen/MemAccess/codegen_simple_md.ll b/polly/test/CodeGen/MemAccess/codegen_simple_md.ll index f0896e2bf6093..a6d9969286fc7 100644 --- a/polly/test/CodeGen/MemAccess/codegen_simple_md.ll +++ b/polly/test/CodeGen/MemAccess/codegen_simple_md.ll @@ -1,5 +1,5 @@ -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed+withconst < %s -S | FileCheck -check-prefix=WITHCONST %s -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed+withoutconst < %s -S | FileCheck -check-prefix=WITHOUTCONST %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed+withconst -S < %s | FileCheck -check-prefix=WITHCONST %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed+withoutconst -S < %s | FileCheck -check-prefix=WITHOUTCONST %s ;int A[1040]; ; diff --git a/polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll b/polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll index 99fc36996f083..568b0ff4ae20a 100644 --- a/polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll +++ b/polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll @@ -1,5 +1,5 @@ -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed+withconst < %s -S | FileCheck -check-prefix=WITHCONST %s -;RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed+withoutconst < %s -S | FileCheck -check-prefix=WITHOUTCONST %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed+withconst -S < %s | FileCheck -check-prefix=WITHCONST %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed+withoutconst -S < %s | FileCheck -check-prefix=WITHOUTCONST %s ; ;float A[1040]; ; diff --git a/polly/test/CodeGen/MemAccess/create_arrays.ll b/polly/test/CodeGen/MemAccess/create_arrays.ll index 40ae8d6efa95f..8443e0f7be327 100644 --- a/polly/test/CodeGen/MemAccess/create_arrays.ll +++ b/polly/test/CodeGen/MemAccess/create_arrays.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadPolly -polly-print-scops -polly-print-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-postfix=transformed -polly-codegen -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly -polly-print-scops '-passes=polly-custom' -polly-print-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN ; ; for (i = 0; i < _PB_NI; i++) ; for (j = 0; j < _PB_NJ; j++) diff --git a/polly/test/CodeGen/MemAccess/create_arrays_heap.ll b/polly/test/CodeGen/MemAccess/create_arrays_heap.ll index 1202d21998c94..9c95378a76433 100644 --- a/polly/test/CodeGen/MemAccess/create_arrays_heap.ll +++ b/polly/test/CodeGen/MemAccess/create_arrays_heap.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-print-scops -polly-print-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-import-jscop -polly-import-jscop-postfix=transformed -polly-codegen -S < %s | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-print-scops '-passes=polly-custom' -polly-print-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s --check-prefix=CODEGEN ; ; #define Ni 1056 ; #define Nj 1056 diff --git a/polly/test/CodeGen/MemAccess/default_aligned_new_access_function.ll b/polly/test/CodeGen/MemAccess/default_aligned_new_access_function.ll index 7d8083cc55846..f08fabd67ef5c 100644 --- a/polly/test/CodeGen/MemAccess/default_aligned_new_access_function.ll +++ b/polly/test/CodeGen/MemAccess/default_aligned_new_access_function.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-import-jscop -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-import-jscop -disable-output < %s | FileCheck %s ; ; Check that we allow the new access functions even though they access ; different locations than the original ones (but the alignment is the diff --git a/polly/test/CodeGen/MemAccess/different_types.ll b/polly/test/CodeGen/MemAccess/different_types.ll index 407e72702aa86..ae6168d235a96 100644 --- a/polly/test/CodeGen/MemAccess/different_types.ll +++ b/polly/test/CodeGen/MemAccess/different_types.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -S < %s | FileCheck %s ; ; void foo(float A[], float B[]) { ; for (long i = 0; i < 100; i++) diff --git a/polly/test/CodeGen/MemAccess/generate-all.ll b/polly/test/CodeGen/MemAccess/generate-all.ll index 7b2286bfc95a9..099a3e0670960 100644 --- a/polly/test/CodeGen/MemAccess/generate-all.ll +++ b/polly/test/CodeGen/MemAccess/generate-all.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-codegen-generate-expressions=false \ -; RUN: -S < %s | FileCheck %s -check-prefix=SCEV -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-codegen-generate-expressions=true \ -; RUN: -S < %s | FileCheck %s -check-prefix=ASTEXPR +; RUN: opt %loadNPMPolly '-passes=polly' -polly-codegen-generate-expressions=false -S < %s | FileCheck %s -check-prefix=SCEV +; RUN: opt %loadNPMPolly '-passes=polly' -polly-codegen-generate-expressions=true -S < %s | FileCheck %s -check-prefix=ASTEXPR ; ; void foo(float A[]) { ; for (long i = 0; i < 100; i++) diff --git a/polly/test/CodeGen/MemAccess/invariant_base_ptr.ll b/polly/test/CodeGen/MemAccess/invariant_base_ptr.ll index 5c926ac638413..d8d0df7009685 100644 --- a/polly/test/CodeGen/MemAccess/invariant_base_ptr.ll +++ b/polly/test/CodeGen/MemAccess/invariant_base_ptr.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -polly-invariant-load-hoisting -S \ -; RUN: 2>&1 < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-invariant-load-hoisting -S 2>&1 < %s | FileCheck %s ; Setting new access functions where the base pointer of the array that is newly ; accessed is only loaded within the scop itself caused incorrect code to be diff --git a/polly/test/CodeGen/MemAccess/map_scalar_access.ll b/polly/test/CodeGen/MemAccess/map_scalar_access.ll index 7c845d4a004f4..4ea21b26ce531 100644 --- a/polly/test/CodeGen/MemAccess/map_scalar_access.ll +++ b/polly/test/CodeGen/MemAccess/map_scalar_access.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-import-jscop-postfix=transformed -polly-print-import-jscop -disable-output < %s | FileCheck %s -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-import-jscop-postfix=transformed -polly-import-jscop -polly-codegen -S < %s | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-import-jscop-postfix=transformed '-passes=polly-custom' -polly-print-import-jscop -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-import-jscop-postfix=transformed '-passes=polly-custom' -S < %s | FileCheck %s --check-prefix=CODEGEN define void @map_scalar_access(ptr noalias nonnull %A) { entry: diff --git a/polly/test/CodeGen/MemAccess/multiple_types.ll b/polly/test/CodeGen/MemAccess/multiple_types.ll index 7848977ce0310..edc3888be364b 100644 --- a/polly/test/CodeGen/MemAccess/multiple_types.ll +++ b/polly/test/CodeGen/MemAccess/multiple_types.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -polly-allow-differing-element-types \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-allow-differing-element-types -S < %s | FileCheck %s ; ; // Check that accessing one array with different types works. ; void multiple_types(char *Short, char *Float, char *Double) { diff --git a/polly/test/CodeGen/MemAccess/simple.ll b/polly/test/CodeGen/MemAccess/simple.ll index 5077e1a1b5a2c..63d66f1c925f7 100644 --- a/polly/test/CodeGen/MemAccess/simple.ll +++ b/polly/test/CodeGen/MemAccess/simple.ll @@ -1,4 +1,4 @@ -;RUN: opt %loadNPMPolly -passes=polly-import-jscop -polly-import-jscop-postfix=transformed -stats < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -stats < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ;int A[100]; diff --git a/polly/test/CodeGen/MemAccess/simple_analyze.ll b/polly/test/CodeGen/MemAccess/simple_analyze.ll index 143651b565aff..f07cb1629ca18 100644 --- a/polly/test/CodeGen/MemAccess/simple_analyze.ll +++ b/polly/test/CodeGen/MemAccess/simple_analyze.ll @@ -1,4 +1,4 @@ -;RUN: opt %loadPolly -polly-print-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" @A = common global [100 x i32] zeroinitializer, align 4 diff --git a/polly/test/CodeGen/MemAccess/update_access_functions.ll b/polly/test/CodeGen/MemAccess/update_access_functions.ll index 51fa97adb3c37..93f5f186ad6a5 100644 --- a/polly/test/CodeGen/MemAccess/update_access_functions.ll +++ b/polly/test/CodeGen/MemAccess/update_access_functions.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -polly-import-jscop-postfix=transformed \ -; RUN: < %s -S | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; CHECK-LABEL: polly.stmt.loop1: ; CHECK-NEXT: %3 = mul nsw i64 5, %polly.indvar{{[0-9]*}} diff --git a/polly/test/CodeGen/Metadata/basic_vec_annotate.ll b/polly/test/CodeGen/Metadata/basic_vec_annotate.ll index ebe91636ea3cc..344a6d0990837 100644 --- a/polly/test/CodeGen/Metadata/basic_vec_annotate.ll +++ b/polly/test/CodeGen/Metadata/basic_vec_annotate.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -polly-annotate-metadata-vectorize < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-annotate-metadata-vectorize < %s | FileCheck %s ; Basic verification of vectorize metadata getting added when "-polly-vectorize-metadata" is ; passed. diff --git a/polly/test/CodeGen/OpenMP/alias-metadata.ll b/polly/test/CodeGen/OpenMP/alias-metadata.ll index 121f630789892..541fbdda5a6b9 100644 --- a/polly/test/CodeGen/OpenMP/alias-metadata.ll +++ b/polly/test/CodeGen/OpenMP/alias-metadata.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -S < %s | FileCheck %s ; ; void foo(float *A, float *B) { ; for (long i = 0; i < 1000; i++) diff --git a/polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll b/polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll index 7177ae01f0754..657921690c74d 100644 --- a/polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll +++ b/polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-opt-max-coefficient=-1 -polly-parallel -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-opt-max-coefficient=-1 -polly-parallel '-passes=polly' -S < %s | FileCheck %s ; ; Check that we do not crash but generate parallel code ; diff --git a/polly/test/CodeGen/OpenMP/inlineasm.ll b/polly/test/CodeGen/OpenMP/inlineasm.ll index 82a73780886e3..ac6c7070c1abf 100644 --- a/polly/test/CodeGen/OpenMP/inlineasm.ll +++ b/polly/test/CodeGen/OpenMP/inlineasm.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-opt-isl,polly-codegen' -polly-parallel -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -S < %s | FileCheck %s ; llvm.org/PR51960 ; CHECK-LABEL: define internal void @foo_polly_subfn diff --git a/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll b/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll index aba3ae78f7783..08c0cc7fe37f2 100644 --- a/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll +++ b/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-parallel \ -; RUN: -polly-parallel-force -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-parallel -polly-parallel-force -S < %s | FileCheck %s ; ; Test to verify that we hand down the preloaded A[0] to the OpenMP subfunction. ; diff --git a/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll b/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll index 8cf6148a7b44c..8246aaa25b7b2 100644 --- a/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll +++ b/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-parallel \ -; RUN: -polly-parallel-force -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-parallel -polly-parallel-force -S < %s | FileCheck %s ; ; Test to verify that we hand down the preloaded A[0] to the OpenMP subfunction. ; diff --git a/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll b/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll index 823e5cab55ab3..0c5208c77768b 100644 --- a/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll +++ b/polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-parallel \ -; RUN: -polly-parallel-force -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-parallel -polly-parallel-force -S < %s | FileCheck %s ; ; Test to verify that we hand down the preloaded A[0] to the OpenMP subfunction but ; not B[0] as it is not needed diff --git a/polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll b/polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll index 5557839e715ed..fd039e75444b5 100644 --- a/polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll +++ b/polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-parallel \ -; RUN: -polly-parallel-force -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-parallel -polly-parallel-force -S < %s | FileCheck %s ; ; Test to verify that we hand down the preloaded A[0] to the OpenMP subfunction. ; diff --git a/polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll b/polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll index a987fac31b743..fe8b8a3a022bc 100644 --- a/polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll +++ b/polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR ; This code has failed the scev based code generation as the scev in the scop ; contains an AddRecExpr of an outer loop. When generating code, we did not diff --git a/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll b/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll index 96c6d900a7a00..d1f48d92e0e75 100644 --- a/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll +++ b/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR ; AST: #pragma simd ; AST: #pragma omp parallel for diff --git a/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll b/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll index c4ad665c7b6cf..5b032801c7282 100644 --- a/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll +++ b/polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-parallel -polly-parallel-force -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-parallel -polly-parallel-force -polly-invariant-load-hoisting=true -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-parallel -polly-parallel-force -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-parallel -polly-parallel-force -polly-invariant-load-hoisting=true '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR ; The interesting part of this test case is the instruction: ; %tmp = bitcast i8* %call to i64** diff --git a/polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll b/polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll index 82acba8b3c523..d612faf7b67c5 100644 --- a/polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll +++ b/polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S < %s | FileCheck %s -check-prefix=IR ; Make sure we correctly forward the reference to 'A' to the OpenMP subfunction. ; diff --git a/polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll b/polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll index aa44658131bba..213cc2635fb6d 100644 --- a/polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll +++ b/polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-parallel '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -polly-parallel -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -polly-parallel '-passes=polly' -S < %s | FileCheck %s -check-prefix=IR ; ; float A[100]; ; diff --git a/polly/test/CodeGen/OpenMP/mapped-phi-access.ll b/polly/test/CodeGen/OpenMP/mapped-phi-access.ll index 4deab1af0ccf0..fef23f141eaeb 100644 --- a/polly/test/CodeGen/OpenMP/mapped-phi-access.ll +++ b/polly/test/CodeGen/OpenMP/mapped-phi-access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-parallel '-passes=polly-delicm,polly-codegen' -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-parallel '-passes=polly' -S < %s | FileCheck %s ; ; Verify that -polly-parallel can handle mapped scalar MemoryAccesses. ; diff --git a/polly/test/CodeGen/OpenMP/matmul-parallel.ll b/polly/test/CodeGen/OpenMP/matmul-parallel.ll index 43326b29f7ef1..fd8ce87b45ae8 100644 --- a/polly/test/CodeGen/OpenMP/matmul-parallel.ll +++ b/polly/test/CodeGen/OpenMP/matmul-parallel.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-parallel '-passes=polly-opt-isl,print' -disable-output -debug-only=polly-ast < %s 2>&1 | FileCheck --check-prefix=AST %s -; RUN: opt %loadNPMPolly -polly-parallel '-passes=polly-opt-isl,polly-codegen' -S < %s | FileCheck --check-prefix=CODEGEN %s +; RUN: opt %loadNPMPolly -polly-parallel '-passes=polly-custom' -polly-print-ast -disable-output -debug-only=polly-ast < %s 2>&1 | FileCheck --check-prefix=AST %s +; RUN: opt %loadNPMPolly -polly-parallel '-passes=polly' -S < %s | FileCheck --check-prefix=CODEGEN %s ; REQUIRES: asserts ; Parallelization of detected matrix-multiplication. diff --git a/polly/test/CodeGen/OpenMP/new_multidim_access.ll b/polly/test/CodeGen/OpenMP/new_multidim_access.ll index 5faabb4d20c1a..8018acdcb0e6a 100644 --- a/polly/test/CodeGen/OpenMP/new_multidim_access.ll +++ b/polly/test/CodeGen/OpenMP/new_multidim_access.ll @@ -1,10 +1,6 @@ -; RUN: opt %loadPolly -polly-print-import-jscop \ -; RUN: -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-import-jscop -disable-output < %s | FileCheck %s -; RUN: opt %loadPolly -polly-import-jscop \ -; RUN: -polly-codegen -S < %s \ -; RUN: -polly-parallel \ -; RUN: | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly '-passes=polly-custom' -S -polly-parallel < %s | FileCheck %s -check-prefix=IR ; void new_multidim_access(long n, long m, float A[][m]) { ; for (long i = 0; i < n; i++) diff --git a/polly/test/CodeGen/OpenMP/recomputed-srem.ll b/polly/test/CodeGen/OpenMP/recomputed-srem.ll index b7b3a44610f32..99069612cd1d4 100644 --- a/polly/test/CodeGen/OpenMP/recomputed-srem.ll +++ b/polly/test/CodeGen/OpenMP/recomputed-srem.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -passes=polly-codegen -polly-parallel \ -; RUN: -polly-parallel-force -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly' -polly-parallel -polly-parallel-force -S < %s | FileCheck %s ; ; Test to verify that we pass %rem96 to the parallel subfunction. ; diff --git a/polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll b/polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll index c207f589e4da0..236362a3e23dc 100644 --- a/polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll +++ b/polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll @@ -1,17 +1,8 @@ -; RUN: opt %loadNPMPolly -polly-parallel \ -; RUN: -polly-parallel-force -passes=polly-codegen \ -; RUN: -S -verify-dom-info < %s \ -; RUN: | FileCheck %s -check-prefix=IR - -; RUN: opt %loadNPMPolly -polly-parallel \ -; RUN: -polly-parallel-force -passes=polly-codegen -polly-scheduling=runtime \ -; RUN: -S -verify-dom-info < %s \ -; RUN: | FileCheck %s -check-prefix=IR - -; RUN: opt %loadNPMPolly -polly-parallel \ -; RUN: -polly-parallel-force -passes=polly-codegen -polly-omp-backend=LLVM \ -; RUN: -S -verify-dom-info < %s \ -; RUN: | FileCheck %s -check-prefix=LIBOMP-IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR + +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-scheduling=runtime -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR + +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-omp-backend=LLVM -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR ; IR: @GOMP_parallel_loop_runtime_start diff --git a/polly/test/CodeGen/OpenMP/reference-other-bb.ll b/polly/test/CodeGen/OpenMP/reference-other-bb.ll index dbfbd9a905086..9925187883173 100644 --- a/polly/test/CodeGen/OpenMP/reference-other-bb.ll +++ b/polly/test/CodeGen/OpenMP/reference-other-bb.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR ; IR: @foo_polly_subfn target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll b/polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll index ee43b8aa34a44..3738266b558ed 100644 --- a/polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll +++ b/polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR ; - Test the case where scalar evolution references a loop that is outside diff --git a/polly/test/CodeGen/OpenMP/reference_latest.ll b/polly/test/CodeGen/OpenMP/reference_latest.ll index 7a8cd77bb1571..fb420b06b9afb 100644 --- a/polly/test/CodeGen/OpenMP/reference_latest.ll +++ b/polly/test/CodeGen/OpenMP/reference_latest.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-delicm,polly-simplify,polly-codegen' -polly-parallel -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -S < %s | FileCheck %s ; ; Test that parallel codegen handles scalars mapped to other arrays. ; After mapping "store double %add10" references the array "MemRef2". diff --git a/polly/test/CodeGen/OpenMP/scev-rewriting.ll b/polly/test/CodeGen/OpenMP/scev-rewriting.ll index 9b79f29094482..861a78e4acd7a 100644 --- a/polly/test/CodeGen/OpenMP/scev-rewriting.ll +++ b/polly/test/CodeGen/OpenMP/scev-rewriting.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly < %s -polly-vectorizer=stripmine -polly-parallel -polly-parallel-force -polly-process-unprofitable -passes=polly-codegen -S | FileCheck %s +; RUN: opt %loadNPMPolly -polly-vectorizer=stripmine -polly-parallel -polly-parallel-force -polly-process-unprofitable '-passes=polly' -S < %s | FileCheck %s ; CHECK: define internal void @DoStringSort_polly_subfn target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" target triple = "aarch64-unknown-linux-gnueabi" diff --git a/polly/test/CodeGen/OpenMP/single_loop.ll b/polly/test/CodeGen/OpenMP/single_loop.ll index e5aee840ade74..5e8a58fadd56c 100644 --- a/polly/test/CodeGen/OpenMP/single_loop.ll +++ b/polly/test/CodeGen/OpenMP/single_loop.ll @@ -1,14 +1,14 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-import-jscop,print' -disable-output < %s | FileCheck %s -check-prefix=AST-STRIDE4 -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-import-jscop,polly-codegen' -S < %s | FileCheck %s -check-prefix=IR-STRIDE4 +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST-STRIDE4 +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -S < %s | FileCheck %s -check-prefix=IR-STRIDE4 -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-backend=LLVM -polly-scheduling=static -polly-scheduling-chunksize=43 -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-STATIC-CHUNKED -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-backend=LLVM -polly-scheduling=static -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-STATIC -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-backend=LLVM -polly-scheduling=dynamic -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-DYNAMIC -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-backend=LLVM -polly-scheduling=dynamic -polly-scheduling-chunksize=4 -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-DYNAMIC-FOUR -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-import-jscop,polly-codegen' -polly-omp-backend=LLVM -S < %s | FileCheck %s -check-prefix=LIBOMP-IR-STRIDE4 +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-omp-backend=LLVM -polly-scheduling=static -polly-scheduling-chunksize=43 -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-STATIC-CHUNKED +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-omp-backend=LLVM -polly-scheduling=static -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-STATIC +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-omp-backend=LLVM -polly-scheduling=dynamic -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-DYNAMIC +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-omp-backend=LLVM -polly-scheduling=dynamic -polly-scheduling-chunksize=4 -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR-DYNAMIC-FOUR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-omp-backend=LLVM -S < %s | FileCheck %s -check-prefix=LIBOMP-IR-STRIDE4 ; This extensive test case tests the creation of the full set of OpenMP calls ; as well as the subfunction creation using a trivial loop as example. diff --git a/polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll b/polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll index c519bfdee7a58..95324793f4fa4 100644 --- a/polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll +++ b/polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-invariant-load-hoisting=true -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -polly-parallel -polly-parallel-force -polly-parallel-force -polly-invariant-load-hoisting=true '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR ; #define N 1024 ; float A[N]; diff --git a/polly/test/CodeGen/OpenMP/single_loop_with_param.ll b/polly/test/CodeGen/OpenMP/single_loop_with_param.ll index f6dfd62d6bcc1..7334762f84f6c 100644 --- a/polly/test/CodeGen/OpenMP/single_loop_with_param.ll +++ b/polly/test/CodeGen/OpenMP/single_loop_with_param.ll @@ -1,18 +1,8 @@ -; RUN: opt %loadNPMPolly -polly-parallel \ -; RUN: -polly-parallel-force -passes=polly-codegen \ -; RUN: -S -verify-dom-info < %s \ -; RUN: | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR -; RUN: opt %loadNPMPolly -polly-parallel \ -; RUN: -polly-parallel-force -passes=polly-codegen -polly-omp-backend=LLVM \ -; RUN: -S -verify-dom-info < %s \ -; RUN: | FileCheck %s -check-prefix=LIBOMP-IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-omp-backend=LLVM -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-IR -; RUN: opt %loadNPMPolly -polly-parallel \ -; RUN: -polly-parallel-force -passes=polly-codegen -polly-omp-backend=LLVM \ -; RUN: -polly-scheduling=static \ -; RUN: -S -verify-dom-info < %s \ -; RUN: | FileCheck %s -check-prefix=LIBOMP-STATIC-IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -polly-omp-backend=LLVM -polly-scheduling=static -S -verify-dom-info < %s | FileCheck %s -check-prefix=LIBOMP-STATIC-IR ; Ensure the scalars are initialized before the OpenMP code is launched. ; diff --git a/polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll b/polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll index 934e04461f134..77c1b23a3f76c 100644 --- a/polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll +++ b/polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=AST -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=AST +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly' -S -verify-dom-info < %s | FileCheck %s -check-prefix=IR ; This test case verifies that we create correct code even if two OpenMP loops ; share common outer variables. diff --git a/polly/test/CodeGen/PHIInExit.ll b/polly/test/CodeGen/PHIInExit.ll index 3e0c9d67d5ca8..39bdac793e8a1 100644 --- a/polly/test/CodeGen/PHIInExit.ll +++ b/polly/test/CodeGen/PHIInExit.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" %struct..0__pthread_mutex_s = type { i32, i32, i32, i32, i32, i32, %struct.__pthread_list_t } diff --git a/polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll b/polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll index ccb0d15cfc3d2..9ec9804d35b0d 100644 --- a/polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll +++ b/polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-codegen-add-debug-printing \ -; RUN: -polly-ignore-aliasing < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-codegen-add-debug-printing -polly-ignore-aliasing < %s | FileCheck %s ; #define N 10 ; void foo(float A[restrict], double B[restrict], char C[restrict], diff --git a/polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll b/polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll index 4ffb7fd6e4621..736c136eeb67c 100644 --- a/polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll +++ b/polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-codegen-trace-stmts -polly-codegen-trace-scalars -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-codegen-trace-stmts -polly-codegen-trace-scalars '-passes=polly' -S < %s | FileCheck %s ; define void @func(i32 %n, ptr %A) { diff --git a/polly/test/CodeGen/alias-check-multi-dim.ll b/polly/test/CodeGen/alias-check-multi-dim.ll index 0440bda74b391..bab2690bddb17 100644 --- a/polly/test/CodeGen/alias-check-multi-dim.ll +++ b/polly/test/CodeGen/alias-check-multi-dim.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: sext i32 %indvar.init to i64 diff --git a/polly/test/CodeGen/alias_metadata_too_many_arrays.ll b/polly/test/CodeGen/alias_metadata_too_many_arrays.ll index 4186b8521a535..37ec2d5b748af 100644 --- a/polly/test/CodeGen/alias_metadata_too_many_arrays.ll +++ b/polly/test/CodeGen/alias_metadata_too_many_arrays.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-ignore-aliasing -S < %s \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-ignore-aliasing -S < %s | FileCheck %s ; ; void manyarrays(float A1[], float A2[], float A3[], float A4[], float A5[], ; float A6[], float A7[], float A8[], float A9[]) { diff --git a/polly/test/CodeGen/aliasing_different_base_and_access_type.ll b/polly/test/CodeGen/aliasing_different_base_and_access_type.ll index 8e1fc3b328355..7fed270cb51dd 100644 --- a/polly/test/CodeGen/aliasing_different_base_and_access_type.ll +++ b/polly/test/CodeGen/aliasing_different_base_and_access_type.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; We have to cast %B to "short *" before we create RTCs. ; diff --git a/polly/test/CodeGen/aliasing_different_pointer_types.ll b/polly/test/CodeGen/aliasing_different_pointer_types.ll index e601c22b978da..5326af339ddac 100644 --- a/polly/test/CodeGen/aliasing_different_pointer_types.ll +++ b/polly/test/CodeGen/aliasing_different_pointer_types.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; Check that we cast the different pointer types correctly before we compare ; them in the RTC's. We use i8* as max pointer type. diff --git a/polly/test/CodeGen/aliasing_multidimensional_access.ll b/polly/test/CodeGen/aliasing_multidimensional_access.ll index e1dae03280a0e..5d0b40d6b59aa 100644 --- a/polly/test/CodeGen/aliasing_multidimensional_access.ll +++ b/polly/test/CodeGen/aliasing_multidimensional_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; Check that we calculate the maximal access into array A correctly and track the overflow state. ; diff --git a/polly/test/CodeGen/aliasing_parametric_simple_1.ll b/polly/test/CodeGen/aliasing_parametric_simple_1.ll index a79ba2532535d..1b7b85835d795 100644 --- a/polly/test/CodeGen/aliasing_parametric_simple_1.ll +++ b/polly/test/CodeGen/aliasing_parametric_simple_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; void jd(int *A, int *B, int c) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/CodeGen/aliasing_parametric_simple_2.ll b/polly/test/CodeGen/aliasing_parametric_simple_2.ll index efe4af1c9e7c5..fa8053ccabbea 100644 --- a/polly/test/CodeGen/aliasing_parametric_simple_2.ll +++ b/polly/test/CodeGen/aliasing_parametric_simple_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; void jd(int *A, int *B, int c) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/CodeGen/aliasing_struct_element.ll b/polly/test/CodeGen/aliasing_struct_element.ll index 3079e58d7daba..4e8570944f6c6 100644 --- a/polly/test/CodeGen/aliasing_struct_element.ll +++ b/polly/test/CodeGen/aliasing_struct_element.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; We should only access (or compute the address of) "the first element" of %S ; as it is a single struct not a struct array. The maximal access to S, thus diff --git a/polly/test/CodeGen/alignment.ll b/polly/test/CodeGen/alignment.ll index e0f6a959476f6..daf7999c8072b 100644 --- a/polly/test/CodeGen/alignment.ll +++ b/polly/test/CodeGen/alignment.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; Check that the special alignment information is kept ; diff --git a/polly/test/CodeGen/annotated_alias_scopes.ll b/polly/test/CodeGen/annotated_alias_scopes.ll index ada03e0663722..7d2d9038270a9 100644 --- a/polly/test/CodeGen/annotated_alias_scopes.ll +++ b/polly/test/CodeGen/annotated_alias_scopes.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s --check-prefix=SCOPES +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s --check-prefix=SCOPES ; ; Check that we create alias scopes that indicate the accesses to A, B and C cannot alias in any way. ; diff --git a/polly/test/CodeGen/blas_sscal_simplified.ll b/polly/test/CodeGen/blas_sscal_simplified.ll index 99f2eae9dd8e5..461af09b5b289 100644 --- a/polly/test/CodeGen/blas_sscal_simplified.ll +++ b/polly/test/CodeGen/blas_sscal_simplified.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s ; ; Regression test for a bug in the runtime check generation. diff --git a/polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll b/polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll index 5dba93373b70b..5eb6076892f3e 100644 --- a/polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll +++ b/polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly' -disable-output < %s ; ; CHECK: store i32 %tmp14_p_scalar_, ptr %tmp14.s2a ; CHECK: %tmp14.final_reload = load i32, ptr %tmp14.s2a diff --git a/polly/test/CodeGen/constant_condition.ll b/polly/test/CodeGen/constant_condition.ll index 905aa52df5080..9d3c5a811b16a 100644 --- a/polly/test/CodeGen/constant_condition.ll +++ b/polly/test/CodeGen/constant_condition.ll @@ -1,4 +1,4 @@ -;RUN: opt %loadNPMPolly '-passes=polly-prepare,scop(print)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s ;#include ;int A[1]; diff --git a/polly/test/CodeGen/create-conditional-scop.ll b/polly/test/CodeGen/create-conditional-scop.ll index b8c9a81b71a91..d4df48b757d3d 100644 --- a/polly/test/CodeGen/create-conditional-scop.ll +++ b/polly/test/CodeGen/create-conditional-scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -passes=polly-codegen -verify-loop-info < %s -S | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly' -verify-loop-info -S < %s | FileCheck %s target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-a0:0-n32" diff --git a/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll b/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll index dfef4202391d4..31b5e69ae4c6a 100644 --- a/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll +++ b/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s ; ; Check we do not crash even though the dead %tmp8 is referenced by a parameter ; and we do not pre-load it (as it is dead). diff --git a/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll b/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll index fcc6764ce9c21..88b844bea5e4e 100644 --- a/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll +++ b/polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s ; ; Check we do not crash even though there is a dead load that is referenced by ; a parameter and we do not pre-load it (as it is dead). diff --git a/polly/test/CodeGen/debug-intrinsics.ll b/polly/test/CodeGen/debug-intrinsics.ll index ed4b81a8e3a3c..f397a4b83d88a 100644 --- a/polly/test/CodeGen/debug-intrinsics.ll +++ b/polly/test/CodeGen/debug-intrinsics.ll @@ -1,10 +1,6 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -polly-analyze-read-only-scalars=false -passes=polly-codegen -S < %s | \ -; RUN: FileCheck %s +; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=false '-passes=polly' -S < %s | FileCheck %s -; RUN: opt %loadNPMPolly \ -; RUN: -polly-analyze-read-only-scalars=true -passes=polly-codegen -S < %s | \ -; RUN: FileCheck %s +; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=true '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll b/polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll index edc03333a358d..7f6f128c2cff2 100644 --- a/polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll +++ b/polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s ; ; This caused dominance problems at some point as we do bail out during ; code generation. Just verify it runs through. diff --git a/polly/test/CodeGen/empty_domain_in_context.ll b/polly/test/CodeGen/empty_domain_in_context.ll index a2fe805f402e0..f6c39eb0517bc 100644 --- a/polly/test/CodeGen/empty_domain_in_context.ll +++ b/polly/test/CodeGen/empty_domain_in_context.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-optree,polly-opt-isl,polly-codegen' -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -S < %s | FileCheck %s ; ; llvm.org/PR35362 ; isl codegen does not allow to generate isl_ast_expr from pw_aff which have an diff --git a/polly/test/CodeGen/entry_with_trivial_phi.ll b/polly/test/CodeGen/entry_with_trivial_phi.ll index f2c9da04d6495..09570938a9ca1 100644 --- a/polly/test/CodeGen/entry_with_trivial_phi.ll +++ b/polly/test/CodeGen/entry_with_trivial_phi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s ; ; The entry of this scop's simple region (entry.split => for.end) has an trivial ; PHI node. LCSSA may create such PHI nodes. This is a breakdown of this case in diff --git a/polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll b/polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll index 2f1ec1a7872aa..7d8ef7acf9435 100644 --- a/polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll +++ b/polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; The entry of this scop's simple region (entry.split => for.end) has an trivial ; PHI node that is used in a different of the scop region. LCSSA may create such diff --git a/polly/test/CodeGen/error-stmt-in-non-affine-region.ll b/polly/test/CodeGen/error-stmt-in-non-affine-region.ll index 63b6becd19574..c5c11c8ea2f8f 100644 --- a/polly/test/CodeGen/error-stmt-in-non-affine-region.ll +++ b/polly/test/CodeGen/error-stmt-in-non-affine-region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; XFAIL: * ; ; CHECK-LABEL: polly.stmt.if.then: diff --git a/polly/test/CodeGen/error_block_contains_invalid_memory_access.ll b/polly/test/CodeGen/error_block_contains_invalid_memory_access.ll index abec28894f45b..1e38210c733d9 100644 --- a/polly/test/CodeGen/error_block_contains_invalid_memory_access.ll +++ b/polly/test/CodeGen/error_block_contains_invalid_memory_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s ; target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/exprModDiv.ll b/polly/test/CodeGen/exprModDiv.ll index c9b419abe3242..b123e90c07882 100644 --- a/polly/test/CodeGen/exprModDiv.ll +++ b/polly/test/CodeGen/exprModDiv.ll @@ -1,8 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -S < %s | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -polly-import-jscop-postfix=pow2 \ -; RUN: -S < %s | FileCheck %s -check-prefix=POW2 +; RUN: opt %loadNPMPolly '-passes=polly-custom' -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=pow2 -S < %s | FileCheck %s -check-prefix=POW2 ; ; void exprModDiv(float *A, float *B, float *C, long N, long p) { ; for (long i = 0; i < N; i++) diff --git a/polly/test/CodeGen/hoisted_load_escapes_through_phi.ll b/polly/test/CodeGen/hoisted_load_escapes_through_phi.ll index 1ca2413fd5e19..c7873baeeaeb7 100644 --- a/polly/test/CodeGen/hoisted_load_escapes_through_phi.ll +++ b/polly/test/CodeGen/hoisted_load_escapes_through_phi.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen \ -; RUN: -polly-invariant-load-hoisting=false < %s | FileCheck %s -; RUN: opt %loadNPMPolly -S -passes=polly-codegen \ -; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=false < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=true < %s | FileCheck %s ; ; Check that we generate valid code even if the load of cont_STACKPOINTER is ; hoisted in one SCoP and used (through the phi node %tmp2). diff --git a/polly/test/CodeGen/hoisting_1.ll b/polly/test/CodeGen/hoisting_1.ll index aa29bfd7dbcbc..31ae969cd3156 100644 --- a/polly/test/CodeGen/hoisting_1.ll +++ b/polly/test/CodeGen/hoisting_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -passes=polly-codegen -polly-allow-differing-element-types -disable-output %s +; RUN: opt %loadNPMPolly -aa-pipeline=tbaa '-passes=polly' -polly-allow-differing-element-types -disable-output %s ; target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/hoisting_2.ll b/polly/test/CodeGen/hoisting_2.ll index 1b913f2cb07be..eb6f7ae5ff6d1 100644 --- a/polly/test/CodeGen/hoisting_2.ll +++ b/polly/test/CodeGen/hoisting_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -passes=polly-codegen -polly-allow-differing-element-types -disable-output %s +; RUN: opt %loadNPMPolly -aa-pipeline=tbaa '-passes=polly' -polly-allow-differing-element-types -disable-output %s ; target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/inner_scev_sdiv_1.ll b/polly/test/CodeGen/inner_scev_sdiv_1.ll index d210105c46baf..f7595a6afb0be 100644 --- a/polly/test/CodeGen/inner_scev_sdiv_1.ll +++ b/polly/test/CodeGen/inner_scev_sdiv_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s ; ; Excerpt from the test-suite's oggenc reduced using bugpoint. ; diff --git a/polly/test/CodeGen/inner_scev_sdiv_2.ll b/polly/test/CodeGen/inner_scev_sdiv_2.ll index 33233fe2fdf17..247c102834b25 100644 --- a/polly/test/CodeGen/inner_scev_sdiv_2.ll +++ b/polly/test/CodeGen/inner_scev_sdiv_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; The SCEV expression in this test case refers to a sequence of sdiv ; instructions, which are part of different bbs in the SCoP. When code diff --git a/polly/test/CodeGen/inner_scev_sdiv_3.ll b/polly/test/CodeGen/inner_scev_sdiv_3.ll index a8c626347efe9..fc1cce41c0f4e 100644 --- a/polly/test/CodeGen/inner_scev_sdiv_3.ll +++ b/polly/test/CodeGen/inner_scev_sdiv_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; This test case has a inner SCEV sdiv that will escape the SCoP. Just check we ; do not crash and generate valid code. diff --git a/polly/test/CodeGen/inner_scev_sdiv_in_lb.ll b/polly/test/CodeGen/inner_scev_sdiv_in_lb.ll index 31c14e85f253e..1ff598a4a021a 100644 --- a/polly/test/CodeGen/inner_scev_sdiv_in_lb.ll +++ b/polly/test/CodeGen/inner_scev_sdiv_in_lb.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s --check-prefix=CODEGEN ; ; CHECK: [N] -> { Stmt_bb11[i0, i1] : i0 < N and i1 >= 0 and 3i1 <= -3 + i0 }; ; CODEGEN: polly diff --git a/polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll b/polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll index b42371b0891e6..4cd146ddbf62e 100644 --- a/polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll +++ b/polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen \ -; RUN: < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; Check that this will not crash our code generation. ; diff --git a/polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll b/polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll index 45af63402c986..586875bbefcbe 100644 --- a/polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll +++ b/polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; This will just check that we generate valid code here. ; diff --git a/polly/test/CodeGen/intrinsics_lifetime.ll b/polly/test/CodeGen/intrinsics_lifetime.ll index a708548798ebb..0f35664eb7e1c 100644 --- a/polly/test/CodeGen/intrinsics_lifetime.ll +++ b/polly/test/CodeGen/intrinsics_lifetime.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly' -S < %s | FileCheck %s ; ; Verify that we remove the lifetime markers from everywhere. ; diff --git a/polly/test/CodeGen/intrinsics_misc.ll b/polly/test/CodeGen/intrinsics_misc.ll index a643b8accd4e9..4a64c1a641182 100644 --- a/polly/test/CodeGen/intrinsics_misc.ll +++ b/polly/test/CodeGen/intrinsics_misc.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly' -S < %s | FileCheck %s ; ; Verify that we remove the misc intrinsics from the optimized SCoP. ; diff --git a/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll b/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll index e7cbf748bea73..15fe0d9e22416 100644 --- a/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll +++ b/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-invariant-load-hoisting=true < %s | FileCheck %s ; ; This crashed our codegen at some point, verify it runs through ; diff --git a/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll b/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll index 24e9240c234d1..c1ab026e97701 100644 --- a/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll +++ b/polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-invariant-load-hoisting=true < %s | FileCheck %s ; ; This crashed our codegen at some point, verify it runs through ; diff --git a/polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll b/polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll index d1d861e316ee4..f0c833ce1bce1 100644 --- a/polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll +++ b/polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-invariant-load-hoisting=true < %s | FileCheck %s ; ; This crashed our codegen at some point, verify it runs through ; diff --git a/polly/test/CodeGen/invariant-load-dimension.ll b/polly/test/CodeGen/invariant-load-dimension.ll index 21e53055c56b0..13576b9f40455 100644 --- a/polly/test/CodeGen/invariant-load-dimension.ll +++ b/polly/test/CodeGen/invariant-load-dimension.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable -polly-invariant-load-hoisting '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOPS -; RUN: opt %loadNPMPolly -S < %s -passes=polly-codegen -polly-process-unprofitable -polly-invariant-load-hoisting | FileCheck %s -check-prefix=CODEGEN +; RUN: opt %loadNPMPolly -polly-process-unprofitable -polly-invariant-load-hoisting '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOPS +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-process-unprofitable -polly-invariant-load-hoisting < %s | FileCheck %s -check-prefix=CODEGEN target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n8:16:32-S64" diff --git a/polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll b/polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll index 1fd9cb81771c6..d92d97012b33c 100644 --- a/polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll +++ b/polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -polly-invariant-load-hoisting=true < %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=true < %s ; ; Check that we generate valid code as we did non preload the base pointer ; origin of %tmp4 at some point. diff --git a/polly/test/CodeGen/invariant_cannot_handle_void.ll b/polly/test/CodeGen/invariant_cannot_handle_void.ll index 420cb608f9ba4..f6dcac08dffca 100644 --- a/polly/test/CodeGen/invariant_cannot_handle_void.ll +++ b/polly/test/CodeGen/invariant_cannot_handle_void.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -polly-invariant-load-hoisting=true %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=true %s | FileCheck %s ; ; The offset of the %tmp1 load wrt. to %buff (62 bytes) is not divisible ; by the type size (i32 = 4 bytes), thus we will have to represent %buff diff --git a/polly/test/CodeGen/invariant_load.ll b/polly/test/CodeGen/invariant_load.ll index 2d5e6042ea6a4..c89da73efc839 100644 --- a/polly/test/CodeGen/invariant_load.ll +++ b/polly/test/CodeGen/invariant_load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; CHECK-LABEL: polly.preload.begin: ; CHECK-NEXT: %polly.access.B = getelementptr i32, ptr %B, i64 0 diff --git a/polly/test/CodeGen/invariant_load_address_space.ll b/polly/test/CodeGen/invariant_load_address_space.ll index 3d1958e5b8a43..7d5139cc55f88 100644 --- a/polly/test/CodeGen/invariant_load_address_space.ll +++ b/polly/test/CodeGen/invariant_load_address_space.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; CHECK-LABEL: polly.preload.begin: ; CHECK-NEXT: %polly.access.B = getelementptr i32, ptr addrspace(1) %B, i64 0 diff --git a/polly/test/CodeGen/invariant_load_alias_metadata.ll b/polly/test/CodeGen/invariant_load_alias_metadata.ll index 252463384a5c8..2a704ee9c576a 100644 --- a/polly/test/CodeGen/invariant_load_alias_metadata.ll +++ b/polly/test/CodeGen/invariant_load_alias_metadata.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; This test case checks whether Polly generates alias metadata in case of ; the ublas gemm kernel and polly-invariant-load-hoisting. diff --git a/polly/test/CodeGen/invariant_load_base_pointer.ll b/polly/test/CodeGen/invariant_load_base_pointer.ll index d4ac433475f05..f6b873994036c 100644 --- a/polly/test/CodeGen/invariant_load_base_pointer.ll +++ b/polly/test/CodeGen/invariant_load_base_pointer.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -S < %s | FileCheck %s ; ; CHECK-LABEL: polly.preload.begin: ; CHECK-NEXT: %polly.access.BPLoc = getelementptr ptr, ptr %BPLoc, i64 0 diff --git a/polly/test/CodeGen/invariant_load_base_pointer_conditional.ll b/polly/test/CodeGen/invariant_load_base_pointer_conditional.ll index 06a9a93363ed9..4dbcc3b3b049d 100644 --- a/polly/test/CodeGen/invariant_load_base_pointer_conditional.ll +++ b/polly/test/CodeGen/invariant_load_base_pointer_conditional.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -S < %s | FileCheck %s ; ; CHECK-LABEL: polly.preload.begin: ; CHECK-NEXT: %0 = sext i32 %N to i64 diff --git a/polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll b/polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll index 66ab9a31b1032..39520c8fd8217 100644 --- a/polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll +++ b/polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -polly-invariant-load-hoisting=true < %s | FileCheck %s --check-prefix=IR -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -polly-invariant-load-hoisting=true --polly-overflow-tracking=always < %s | FileCheck %s --check-prefix=IRA +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=true < %s | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=true --polly-overflow-tracking=always < %s | FileCheck %s --check-prefix=IRA ; ; As (p + q) can overflow we have to check that we load from ; I[p + q] only if it does not. diff --git a/polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll b/polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll index fa904e9b96d34..414ca127a251f 100644 --- a/polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll +++ b/polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-invariant-load-hoisting < %s | FileCheck %s ; CHECK: %polly.access.A = getelementptr ptr, ptr %A, i64 0 ; CHECK: %polly.access.A.load = load ptr, ptr %polly.access.A diff --git a/polly/test/CodeGen/invariant_load_condition.ll b/polly/test/CodeGen/invariant_load_condition.ll index 36e588329d669..f0782c023378b 100644 --- a/polly/test/CodeGen/invariant_load_condition.ll +++ b/polly/test/CodeGen/invariant_load_condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; CHECK-LABEL: polly.preload.begin: ; CHECK-NEXT: %polly.access.C = getelementptr i32, ptr %C, i64 0 diff --git a/polly/test/CodeGen/invariant_load_different_sized_types.ll b/polly/test/CodeGen/invariant_load_different_sized_types.ll index 0a88bb70966d2..034c3587a0708 100644 --- a/polly/test/CodeGen/invariant_load_different_sized_types.ll +++ b/polly/test/CodeGen/invariant_load_different_sized_types.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S \ -; RUN: -polly-allow-differing-element-types < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S -polly-allow-differing-element-types < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/invariant_load_escaping.ll b/polly/test/CodeGen/invariant_load_escaping.ll index 416148b72303b..85578d3ba0992 100644 --- a/polly/test/CodeGen/invariant_load_escaping.ll +++ b/polly/test/CodeGen/invariant_load_escaping.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; int f(int *A, int *B) { ; // Possible aliasing between A and B but if not then *B would be diff --git a/polly/test/CodeGen/invariant_load_escaping_second_scop.ll b/polly/test/CodeGen/invariant_load_escaping_second_scop.ll index 906bfc1805d39..ff6e9a8e3ddae 100644 --- a/polly/test/CodeGen/invariant_load_escaping_second_scop.ll +++ b/polly/test/CodeGen/invariant_load_escaping_second_scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-process-unprofitable -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-process-unprofitable -S < %s | FileCheck %s ; ; void fence(void); ; diff --git a/polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll b/polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll index ab02e639f0d2a..edd38cab2afba 100644 --- a/polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll +++ b/polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; This crashed at some point as the invariant load is in a non-affine ; subregion. Just check it does not anymore. diff --git a/polly/test/CodeGen/invariant_load_loop_ub.ll b/polly/test/CodeGen/invariant_load_loop_ub.ll index 1db27ad8e58ba..923102440c547 100644 --- a/polly/test/CodeGen/invariant_load_loop_ub.ll +++ b/polly/test/CodeGen/invariant_load_loop_ub.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-process-unprofitable -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-process-unprofitable -S < %s | FileCheck %s ; ; CHECK: polly.start ; diff --git a/polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll b/polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll index 5a11adcdebbc5..0e381b863fb8b 100644 --- a/polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll +++ b/polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -disable-output < %s ; ; Check that this does not crash as the invariant load is not executed (thus ; not preloaded) but still referenced by one of the parameters. diff --git a/polly/test/CodeGen/invariant_load_outermost.ll b/polly/test/CodeGen/invariant_load_outermost.ll index 7e0550fb3be94..bbbe1f1663964 100644 --- a/polly/test/CodeGen/invariant_load_outermost.ll +++ b/polly/test/CodeGen/invariant_load_outermost.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; CHECK: polly.start diff --git a/polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll b/polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll index abf957b556daa..9fe343f752d14 100644 --- a/polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll +++ b/polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; SCOP: Assumed Context: ; SCOP-NEXT: [p_0, tmp4] -> { : } diff --git a/polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll b/polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll index b565f1bd5096a..dc1c2bca4b6e3 100644 --- a/polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll +++ b/polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-ignore-aliasing -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -S < %s | FileCheck %s ; ; CHECK-LABEL: polly.preload.begin: ; CHECK: %polly.access.A = getelementptr ptr, ptr %A, i64 42 diff --git a/polly/test/CodeGen/invariant_load_scalar_dep.ll b/polly/test/CodeGen/invariant_load_scalar_dep.ll index ba2999e27984d..bb60c50b1ab40 100644 --- a/polly/test/CodeGen/invariant_load_scalar_dep.ll +++ b/polly/test/CodeGen/invariant_load_scalar_dep.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -S < %s | FileCheck %s ; ; CHECK-LABEL: polly.preload.begin: ; CHECK: %polly.access.B = getelementptr i32, ptr %B, i64 0 diff --git a/polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll b/polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll index 26c964c9c6a72..87c407e05b972 100644 --- a/polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll +++ b/polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s | FileCheck %s ; ; Verify the preloaded %tmp0 is stored and communicated in the same alloca. ; In this case, we do not reload %ncol.load from the scalar stack slot, but diff --git a/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll b/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll index 6bf11d5697bd7..5e2b28c53019e 100644 --- a/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll +++ b/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true < %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true < %s ; ; Check we do not crash even though we pre-load values with different types ; from the same base pointer. diff --git a/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll b/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll index 07ce941522459..20d9f6d40b7d6 100644 --- a/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll +++ b/polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true < %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true < %s ; ; Check we do not crash even though we pre-load values with different types ; from the same base pointer. diff --git a/polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll b/polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll index 19b30afd33ba7..51f8a55d1a400 100644 --- a/polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll +++ b/polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting \ -; RUN: -polly-ignore-parameter-bounds -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting -polly-ignore-parameter-bounds -S < %s | FileCheck %s ; CHECK: polly.preload.begin: ; CHECK-NEXT: %global.load = load i32, ptr @global, align 4, !alias.scope !0, !noalias !3 diff --git a/polly/test/CodeGen/invariant_verify_function_failed.ll b/polly/test/CodeGen/invariant_verify_function_failed.ll index 1dcc175ebb163..432c155fdd3ae 100644 --- a/polly/test/CodeGen/invariant_verify_function_failed.ll +++ b/polly/test/CodeGen/invariant_verify_function_failed.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,scop(polly-codegen)' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-print-detect -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; This crashed at some point as the pointer returned by the call ; to @__errno_location is invariant and defined in the SCoP but not diff --git a/polly/test/CodeGen/invariant_verify_function_failed_2.ll b/polly/test/CodeGen/invariant_verify_function_failed_2.ll index 43b3d99e11a2f..65ba2cd993193 100644 --- a/polly/test/CodeGen/invariant_verify_function_failed_2.ll +++ b/polly/test/CodeGen/invariant_verify_function_failed_2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -S '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOPS -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -polly-invariant-load-hoisting=true %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOPS +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=true %s | FileCheck %s ; ; Check we generate valid code. diff --git a/polly/test/CodeGen/issue56692.ll b/polly/test/CodeGen/issue56692.ll index 34c4e398e2ac0..5e225d73bdcd3 100644 --- a/polly/test/CodeGen/issue56692.ll +++ b/polly/test/CodeGen/issue56692.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -polly-omp-backend=LLVM -polly-codegen-verify -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -polly-omp-backend=LLVM -polly-codegen-verify '-passes=polly' -S < %s | FileCheck %s ; https://github.com/llvm/llvm-project/issues/56692 ; ; CHECK: call void (ptr, i32, ptr, ...) @__kmpc_fork_call({{.*}}), !dbg ![[OPTLOC:[0-9]+]] diff --git a/polly/test/CodeGen/large-numbers-in-boundary-context.ll b/polly/test/CodeGen/large-numbers-in-boundary-context.ll index b228baf9bdf22..4d55273618df6 100644 --- a/polly/test/CodeGen/large-numbers-in-boundary-context.ll +++ b/polly/test/CodeGen/large-numbers-in-boundary-context.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; XFAIL: * ; ; The boundary context contains a constant that does not fit in 64 bits. Hence, diff --git a/polly/test/CodeGen/load_subset_with_context.ll b/polly/test/CodeGen/load_subset_with_context.ll index ccd4198b9fe85..33b3d3b72225f 100644 --- a/polly/test/CodeGen/load_subset_with_context.ll +++ b/polly/test/CodeGen/load_subset_with_context.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; A load must provide a value for every statement instance. ; Statement instances not in the SCoP's context are irrelevant. diff --git a/polly/test/CodeGen/loop-invariant-load-type-mismatch.ll b/polly/test/CodeGen/loop-invariant-load-type-mismatch.ll index f43247b3e5057..dc0c5517d7ca5 100644 --- a/polly/test/CodeGen/loop-invariant-load-type-mismatch.ll +++ b/polly/test/CodeGen/loop-invariant-load-type-mismatch.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/polly/test/CodeGen/loop_with_condition.ll b/polly/test/CodeGen/loop_with_condition.ll index 49e312404cca8..cf28a4de63f3b 100644 --- a/polly/test/CodeGen/loop_with_condition.ll +++ b/polly/test/CodeGen/loop_with_condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#include ;#define N 1024 diff --git a/polly/test/CodeGen/loop_with_condition_2.ll b/polly/test/CodeGen/loop_with_condition_2.ll index 8ae38eeeb4982..1d8a8132a79cb 100644 --- a/polly/test/CodeGen/loop_with_condition_2.ll +++ b/polly/test/CodeGen/loop_with_condition_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; Verify that we actually detect this loop as the innermost loop even though ; there is a conditional inside. diff --git a/polly/test/CodeGen/loop_with_condition_ineq.ll b/polly/test/CodeGen/loop_with_condition_ineq.ll index 64019a6090212..c222f67ed7836 100644 --- a/polly/test/CodeGen/loop_with_condition_ineq.ll +++ b/polly/test/CodeGen/loop_with_condition_ineq.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#include ;#define N 1024 diff --git a/polly/test/CodeGen/loop_with_condition_nested.ll b/polly/test/CodeGen/loop_with_condition_nested.ll index 5dcb51dcb91cd..32256a7344664 100644 --- a/polly/test/CodeGen/loop_with_condition_nested.ll +++ b/polly/test/CodeGen/loop_with_condition_nested.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -passes=polly-codegen < %s | opt -passes='print' -disable-output 2>&1 | FileCheck %s -check-prefix=LOOPS +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly' < %s | opt -passes='print' -disable-output 2>&1 | FileCheck %s -check-prefix=LOOPS ;#include diff --git a/polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll b/polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll index 26fe4eb82ae49..5d7f67f1f9060 100644 --- a/polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll +++ b/polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; Test case to trigger the hard way of creating a unique entering ; edge for the SCoP. It is triggered because the entering edge diff --git a/polly/test/CodeGen/memcpy_annotations.ll b/polly/test/CodeGen/memcpy_annotations.ll index 501aa8fbea4d6..c3ffe4abcddd6 100644 --- a/polly/test/CodeGen/memcpy_annotations.ll +++ b/polly/test/CodeGen/memcpy_annotations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; Verify that @llvm.memcpy does not get a !alias.scope annotation. ; @llvm.memcpy takes two pointers, it is ambiguous to which the diff --git a/polly/test/CodeGen/multidim-non-matching-typesize-2.ll b/polly/test/CodeGen/multidim-non-matching-typesize-2.ll index f63eb18118e77..b084672971855 100644 --- a/polly/test/CodeGen/multidim-non-matching-typesize-2.ll +++ b/polly/test/CodeGen/multidim-non-matching-typesize-2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -disable-basic-aa -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly --aa-pipeline= '-passes=polly' -S < %s | FileCheck %s ; CHECK: polly target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128" diff --git a/polly/test/CodeGen/multidim-non-matching-typesize.ll b/polly/test/CodeGen/multidim-non-matching-typesize.ll index 63e43c83ada5f..66a4fdf42bc8e 100644 --- a/polly/test/CodeGen/multidim-non-matching-typesize.ll +++ b/polly/test/CodeGen/multidim-non-matching-typesize.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -disable-basic-aa -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly --aa-pipeline= '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128" diff --git a/polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll b/polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll index 86b17573caada..d3f8b718889e4 100644 --- a/polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll +++ b/polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; Derived from the following code: diff --git a/polly/test/CodeGen/multidim_alias_check.ll b/polly/test/CodeGen/multidim_alias_check.ll index 93e34e2fd0fc1..e85d7c9e7785d 100644 --- a/polly/test/CodeGen/multidim_alias_check.ll +++ b/polly/test/CodeGen/multidim_alias_check.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: %polly.access.sext.A = sext i32 %n to i64 diff --git a/polly/test/CodeGen/multiple-codegens.ll b/polly/test/CodeGen/multiple-codegens.ll index a63f8a615ff9e..cb12700bfb561 100644 --- a/polly/test/CodeGen/multiple-codegens.ll +++ b/polly/test/CodeGen/multiple-codegens.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly "-passes=scop(polly-opt-isl,polly-codegen,polly-codegen)" -S < %s | FileCheck %s -; RUN: opt %loadNPMPolly "-passes=scop(polly-opt-isl,polly-codegen),scop(polly-codegen)" -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly,polly' -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=function(polly),function(polly)' -S < %s | FileCheck %s ; ; llvm.org/PR34441 ; Properly handle multiple -polly-scops/-polly-codegen in the same diff --git a/polly/test/CodeGen/multiple-scops-in-a-row.ll b/polly/test/CodeGen/multiple-scops-in-a-row.ll index effae223c152a..b92359782d999 100644 --- a/polly/test/CodeGen/multiple-scops-in-a-row.ll +++ b/polly/test/CodeGen/multiple-scops-in-a-row.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; This test case has two scops in a row. When code generating the first scop, ; the second scop is invalidated. This test case verifies that we do not crash diff --git a/polly/test/CodeGen/multiple-types-invariant-load-2.ll b/polly/test/CodeGen/multiple-types-invariant-load-2.ll index 101fcaff0c82e..96615079be365 100644 --- a/polly/test/CodeGen/multiple-types-invariant-load-2.ll +++ b/polly/test/CodeGen/multiple-types-invariant-load-2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-allow-differing-element-types < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-allow-differing-element-types < %s | FileCheck %s ; CHECK: polly diff --git a/polly/test/CodeGen/multiple-types-invariant-load.ll b/polly/test/CodeGen/multiple-types-invariant-load.ll index 930041eaddaad..ca89cb53e09b7 100644 --- a/polly/test/CodeGen/multiple-types-invariant-load.ll +++ b/polly/test/CodeGen/multiple-types-invariant-load.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-differing-element-types -passes=polly-codegen -S \ -; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-differing-element-types '-passes=polly' -S -polly-invariant-load-hoisting=true < %s | FileCheck %s ; CHECK: %polly.access.global.load = getelementptr i32, ptr %global.load, i64 0 ; CHECK: %polly.access.global.load.load = load i32, ptr %polly.access.global.load diff --git a/polly/test/CodeGen/multiple_sai_fro_same_base_address.ll b/polly/test/CodeGen/multiple_sai_fro_same_base_address.ll index 1e06a7e186bb0..8198108b22059 100644 --- a/polly/test/CodeGen/multiple_sai_fro_same_base_address.ll +++ b/polly/test/CodeGen/multiple_sai_fro_same_base_address.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-position=before-vectorizer '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP -; RUN: opt %loadNPMPolly -polly-position=before-vectorizer -passes=polly-codegen -S < %s | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly -polly-position=before-vectorizer '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP +; RUN: opt %loadNPMPolly -polly-position=before-vectorizer '-passes=polly' -S < %s | FileCheck %s --check-prefix=IR ; The IR has two ScopArrayInfo for the value %next.0. This used to produce two ; phi nodes in polly.merge_new_and_old, one illegaly using the result of the diff --git a/polly/test/CodeGen/no-overflow-tracking.ll b/polly/test/CodeGen/no-overflow-tracking.ll index d5ad9a7aef239..f915b5a0772e6 100644 --- a/polly/test/CodeGen/no-overflow-tracking.ll +++ b/polly/test/CodeGen/no-overflow-tracking.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true -polly-overflow-tracking=never -passes=polly-codegen -S < %s | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true -polly-overflow-tracking=never '-passes=polly' -S < %s | FileCheck %s --check-prefix=IR ; ; As (p + q) can overflow we have to check that we load from ; I[p + q] only if it does not. diff --git a/polly/test/CodeGen/no_guard_bb.ll b/polly/test/CodeGen/no_guard_bb.ll index a022083f43a9e..604c5ac54bcdb 100644 --- a/polly/test/CodeGen/no_guard_bb.ll +++ b/polly/test/CodeGen/no_guard_bb.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S -verify-dom-info < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -verify-dom-info < %s | FileCheck %s ; ; CHECK-NOT: br i1 true, label %polly.{{.*}}, label %polly.{{.*}} ; diff --git a/polly/test/CodeGen/non-affine-dominance-generated-entering.ll b/polly/test/CodeGen/non-affine-dominance-generated-entering.ll index 6015516a3bc49..ebb02a90ffb5d 100644 --- a/polly/test/CodeGen/non-affine-dominance-generated-entering.ll +++ b/polly/test/CodeGen/non-affine-dominance-generated-entering.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; llvm.org/PR25439 ; Scalar reloads in the generated entering block were not recognized as diff --git a/polly/test/CodeGen/non-affine-exit-node-dominance.ll b/polly/test/CodeGen/non-affine-exit-node-dominance.ll index 0d0f634ed7c16..ff9f504295672 100644 --- a/polly/test/CodeGen/non-affine-exit-node-dominance.ll +++ b/polly/test/CodeGen/non-affine-exit-node-dominance.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; llvm.org/PR25439 ; The dominance of the generated non-affine subregion block was based on the diff --git a/polly/test/CodeGen/non-affine-phi-node-expansion-2.ll b/polly/test/CodeGen/non-affine-phi-node-expansion-2.ll index bfa3c156ea75d..2ad1e75216362 100644 --- a/polly/test/CodeGen/non-affine-phi-node-expansion-2.ll +++ b/polly/test/CodeGen/non-affine-phi-node-expansion-2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/non-affine-phi-node-expansion-3.ll b/polly/test/CodeGen/non-affine-phi-node-expansion-3.ll index b9386333a79b4..386fe5f9f207f 100644 --- a/polly/test/CodeGen/non-affine-phi-node-expansion-3.ll +++ b/polly/test/CodeGen/non-affine-phi-node-expansion-3.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s define void @foo(ptr %A, i1 %cond0, i1 %cond1) { entry: diff --git a/polly/test/CodeGen/non-affine-phi-node-expansion-4.ll b/polly/test/CodeGen/non-affine-phi-node-expansion-4.ll index 6460c427270f4..5e5f34d99bde3 100644 --- a/polly/test/CodeGen/non-affine-phi-node-expansion-4.ll +++ b/polly/test/CodeGen/non-affine-phi-node-expansion-4.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s define void @foo(ptr %A, i1 %cond0, i1 %cond1) { entry: diff --git a/polly/test/CodeGen/non-affine-phi-node-expansion.ll b/polly/test/CodeGen/non-affine-phi-node-expansion.ll index 1b6802f1a4c35..db9f0d518041b 100644 --- a/polly/test/CodeGen/non-affine-phi-node-expansion.ll +++ b/polly/test/CodeGen/non-affine-phi-node-expansion.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" %struct.wombat = type {[4 x i32]} diff --git a/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll b/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll index 007a4c586aa32..096eb8609e1bb 100644 --- a/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll +++ b/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; This caused the code generation to generate invalid code as the same operand ; of the PHI node in the non-affine region was synthesized at the wrong place. diff --git a/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll b/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll index 20edbf2bd6c03..2810a8ab5361f 100644 --- a/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll +++ b/polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; This caused the code generation to generate invalid code as the same BBMap was ; used for the whole non-affine region. When %add is synthesized for the diff --git a/polly/test/CodeGen/non-affine-region-implicit-store.ll b/polly/test/CodeGen/non-affine-region-implicit-store.ll index 0ff39d3fe882d..cdb2000d90d6b 100644 --- a/polly/test/CodeGen/non-affine-region-implicit-store.ll +++ b/polly/test/CodeGen/non-affine-region-implicit-store.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; llvm.org/PR25438 ; After loop versioning, a dominance check of a non-affine subregion's exit node diff --git a/polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll b/polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll index 7df3d8976ea80..b4889c76079cc 100644 --- a/polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll +++ b/polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-allow-nonaffine-loops \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-allow-nonaffine-loops -S < %s | FileCheck %s ; This test verifies that values defined in another scop statement and used by ; PHI-nodes in non-affine regions are code generated correctly. diff --git a/polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll b/polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll index 179062dd62d0a..45465c627f55a 100644 --- a/polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll +++ b/polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S -verify-dom-info \ -; RUN: < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -verify-dom-info < %s | FileCheck %s ; ; Check that we do not reuse the B[i-1] GEP created in block S again in ; block Q. Hence, we create two GEPs for B[i-1]: diff --git a/polly/test/CodeGen/non-affine-switch.ll b/polly/test/CodeGen/non-affine-switch.ll index 427e7e2461f1d..90d5efdc3a9f5 100644 --- a/polly/test/CodeGen/non-affine-switch.ll +++ b/polly/test/CodeGen/non-affine-switch.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/CodeGen/non-affine-synthesized-in-branch.ll b/polly/test/CodeGen/non-affine-synthesized-in-branch.ll index 292c0f2b53941..5bb4fd19f4fd1 100644 --- a/polly/test/CodeGen/non-affine-synthesized-in-branch.ll +++ b/polly/test/CodeGen/non-affine-synthesized-in-branch.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly' -S < %s | FileCheck %s ; ; llvm.org/PR25412 ; %synthgep caused %gep to be synthesized in subregion_if which was reused for diff --git a/polly/test/CodeGen/non-affine-update.ll b/polly/test/CodeGen/non-affine-update.ll index 03f091a405017..582607787eb7d 100644 --- a/polly/test/CodeGen/non-affine-update.ll +++ b/polly/test/CodeGen/non-affine-update.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -S < %s | FileCheck %s ; ; void non-affine-update(double A[], double C[], double B[]) { ; for (int i = 0; i < 10; i++) { diff --git a/polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll b/polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll index 153cdb7ed9f6c..eaf74d9c63e0e 100644 --- a/polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll +++ b/polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -passes=polly-codegen -disable-output %s +; RUN: opt %loadNPMPolly -aa-pipeline=tbaa '-passes=polly' -disable-output %s ; target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/non_affine_float_compare.ll b/polly/test/CodeGen/non_affine_float_compare.ll index a359b662e6579..9709e231a4e86 100644 --- a/polly/test/CodeGen/non_affine_float_compare.ll +++ b/polly/test/CodeGen/non_affine_float_compare.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen \ -; RUN: -polly-allow-nonaffine-branches -S -verify-dom-info \ -; RUN: < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-allow-nonaffine-branches -S -verify-dom-info < %s | FileCheck %s ; ; void f(float *A) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/CodeGen/only_non_affine_error_region.ll b/polly/test/CodeGen/only_non_affine_error_region.ll index 445cef0d6f697..be7a8a23df869 100644 --- a/polly/test/CodeGen/only_non_affine_error_region.ll +++ b/polly/test/CodeGen/only_non_affine_error_region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; CHECK-NOT: polly.start ; diff --git a/polly/test/CodeGen/openmp_limit_threads.ll b/polly/test/CodeGen/openmp_limit_threads.ll index 4c33be3407251..730c57299d569 100644 --- a/polly/test/CodeGen/openmp_limit_threads.ll +++ b/polly/test/CodeGen/openmp_limit_threads.ll @@ -1,10 +1,10 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -S < %s | FileCheck %s --check-prefix=AUTO -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -polly-num-threads=1 -S < %s | FileCheck %s --check-prefix=ONE -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -polly-num-threads=4 -S < %s | FileCheck %s --check-prefix=FOUR +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -S < %s | FileCheck %s --check-prefix=AUTO +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -polly-num-threads=1 -S < %s | FileCheck %s --check-prefix=ONE +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -polly-num-threads=4 -S < %s | FileCheck %s --check-prefix=FOUR -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -polly-omp-backend=LLVM -S < %s | FileCheck %s --check-prefix=LIBOMP-AUTO -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -polly-omp-backend=LLVM -polly-num-threads=1 -S < %s | FileCheck %s --check-prefix=LIBOMP-ONE -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -polly-omp-backend=LLVM -polly-num-threads=4 -S < %s | FileCheck %s --check-prefix=LIBOMP-FOUR +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -polly-omp-backend=LLVM -S < %s | FileCheck %s --check-prefix=LIBOMP-AUTO +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -polly-omp-backend=LLVM -polly-num-threads=1 -S < %s | FileCheck %s --check-prefix=LIBOMP-ONE +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -polly-omp-backend=LLVM -polly-num-threads=4 -S < %s | FileCheck %s --check-prefix=LIBOMP-FOUR ; Ensure that the provided thread numbers are forwarded to the OpenMP calls. ; diff --git a/polly/test/CodeGen/out-of-scop-phi-node-use.ll b/polly/test/CodeGen/out-of-scop-phi-node-use.ll index dd0a24b14a3b8..8d5f74751af49 100644 --- a/polly/test/CodeGen/out-of-scop-phi-node-use.ll +++ b/polly/test/CodeGen/out-of-scop-phi-node-use.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/polly/test/CodeGen/param_div_div_div_2.ll b/polly/test/CodeGen/param_div_div_div_2.ll index 8eba6444abb16..3ae95020d52dd 100644 --- a/polly/test/CodeGen/param_div_div_div_2.ll +++ b/polly/test/CodeGen/param_div_div_div_2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s --check-prefix=IR ; ; Check that we guard the divisions because we moved them and thereby increased ; their domain. diff --git a/polly/test/CodeGen/partial_write_array.ll b/polly/test/CodeGen/partial_write_array.ll index fad4b21cf3dc8..fe5fd8cffece7 100644 --- a/polly/test/CodeGen/partial_write_array.ll +++ b/polly/test/CodeGen/partial_write_array.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; Partial write of an array access. ; diff --git a/polly/test/CodeGen/partial_write_emptyset.ll b/polly/test/CodeGen/partial_write_emptyset.ll index 67828808e2fac..d0e5615e4220d 100644 --- a/polly/test/CodeGen/partial_write_emptyset.ll +++ b/polly/test/CodeGen/partial_write_emptyset.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; Partial write, where "partial" is the empty set. ; The store is never executed in this case and we do generate it in the diff --git a/polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll b/polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll index b26bd81b5663b..a36414297485a 100644 --- a/polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll +++ b/polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; CHECK: polly.stmt.if.then81: ; preds = %polly.stmt.if.end75 ; CHECK-NEXT: store float undef, ptr %fX64, align 4, !alias.scope !0, !noalias !3 diff --git a/polly/test/CodeGen/partial_write_impossible_restriction.ll b/polly/test/CodeGen/partial_write_impossible_restriction.ll index 7577b137a2750..e0069ebc8eae8 100644 --- a/polly/test/CodeGen/partial_write_impossible_restriction.ll +++ b/polly/test/CodeGen/partial_write_impossible_restriction.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; The isl scheduler isolates %cond.false into two instances. ; A partial write access in one of the instances was never executed, diff --git a/polly/test/CodeGen/partial_write_in_region.ll b/polly/test/CodeGen/partial_write_in_region.ll index 7c138c82091e5..e7f4225cf9310 100644 --- a/polly/test/CodeGen/partial_write_in_region.ll +++ b/polly/test/CodeGen/partial_write_in_region.ll @@ -1,7 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -polly-import-jscop-postfix=transformed \ -; RUN: -verify-dom-info \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -verify-dom-info -S < %s | FileCheck %s ; ; void foo(long A[], float B[], float C[]) { ; for (long i = 0; i < 1024; i++) { diff --git a/polly/test/CodeGen/partial_write_in_region_with_loop.ll b/polly/test/CodeGen/partial_write_in_region_with_loop.ll index ba15a7871f431..85b56fefad809 100644 --- a/polly/test/CodeGen/partial_write_in_region_with_loop.ll +++ b/polly/test/CodeGen/partial_write_in_region_with_loop.ll @@ -1,7 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' \ -; RUN: -polly-import-jscop-postfix=transformed \ -; RUN: -verify-dom-info -polly-allow-nonaffine-loops \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -verify-dom-info -polly-allow-nonaffine-loops -S < %s | FileCheck %s ; This test verifies that partial writes within non-affine loops are code ; generated correctly. diff --git a/polly/test/CodeGen/partial_write_mapped_scalar.ll b/polly/test/CodeGen/partial_write_mapped_scalar.ll index b8c413885cdb0..bb99d4ea086d2 100644 --- a/polly/test/CodeGen/partial_write_mapped_scalar.ll +++ b/polly/test/CodeGen/partial_write_mapped_scalar.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; Partial write of a (mapped) scalar. ; diff --git a/polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll b/polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll index 8c1953a05ad3c..37a9d98c6a22e 100644 --- a/polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll +++ b/polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; Partial write of a (mapped) scalar in a non-affine subregion. ; diff --git a/polly/test/CodeGen/perf_monitoring.ll b/polly/test/CodeGen/perf_monitoring.ll index 4b91e5055c0b1..61f122228c377 100644 --- a/polly/test/CodeGen/perf_monitoring.ll +++ b/polly/test/CodeGen/perf_monitoring.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-codegen-perf-monitoring \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-codegen-perf-monitoring -S < %s | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll b/polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll index d5c33d64f3418..4c47a12c12904 100644 --- a/polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll +++ b/polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-codegen-perf-monitoring \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-codegen-perf-monitoring -S < %s | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll b/polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll index ab99c4d2de062..6d09d8bf27ebe 100644 --- a/polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll +++ b/polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-codegen-perf-monitoring \ -; RUN: -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-codegen-perf-monitoring -S < %s | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/CodeGen/phi-defined-before-scop.ll b/polly/test/CodeGen/phi-defined-before-scop.ll index 447a14e9999c2..2ccd7965bbeaf 100644 --- a/polly/test/CodeGen/phi-defined-before-scop.ll +++ b/polly/test/CodeGen/phi-defined-before-scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; CHECK-LABEL: polly.merge_new_and_old: ; CHECK-NEXT: %tmp7.ph.merge = phi ptr [ %tmp7.ph.final_reload, %polly.exiting ], [ %tmp7.ph, %bb6.region_exiting ] diff --git a/polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll b/polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll index e096aa2f4f8c0..1655104b08390 100644 --- a/polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll +++ b/polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; Make sure code generation does not break in case an 'error block' is detected ; outside of the scope. In this situation, we should not affect code generation. diff --git a/polly/test/CodeGen/phi_condition_modeling_1.ll b/polly/test/CodeGen/phi_condition_modeling_1.ll index 9d73d8a792558..1cadac0a5cf73 100644 --- a/polly/test/CodeGen/phi_condition_modeling_1.ll +++ b/polly/test/CodeGen/phi_condition_modeling_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; void f(int *A, int c, int N) { ; int tmp; diff --git a/polly/test/CodeGen/phi_condition_modeling_2.ll b/polly/test/CodeGen/phi_condition_modeling_2.ll index 2d1364842d735..8f2e2a517c96c 100644 --- a/polly/test/CodeGen/phi_condition_modeling_2.ll +++ b/polly/test/CodeGen/phi_condition_modeling_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; void f(int *A, int c, int N) { ; int tmp; diff --git a/polly/test/CodeGen/phi_conditional_simple_1.ll b/polly/test/CodeGen/phi_conditional_simple_1.ll index 25bcf2a118ef4..5f0f8de19f223 100644 --- a/polly/test/CodeGen/phi_conditional_simple_1.ll +++ b/polly/test/CodeGen/phi_conditional_simple_1.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=AST -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; void jd(int *A, int c) { ; for (int i = 0; i < 1024; i++) { diff --git a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll index 43d29b9ec8649..703e55f15c084 100644 --- a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll +++ b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; This caused an lnt crash at some point, just verify it will run through. ; diff --git a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll index 9f28024fcfa0a..3d911e0d6a87f 100644 --- a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll +++ b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; This caused an lnt crash at some point, just verify it will run through and ; produce the PHI node in the exit we are looking for. diff --git a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll index 73e99ac0f32c5..5f81f52078723 100644 --- a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll +++ b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; This caused an lnt crash at some point, just verify it will run through and ; produce the PHI node in the exit we are looking for. diff --git a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll index 6c9bd56a98722..abb86e650ce2a 100644 --- a/polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll +++ b/polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; This caused an lnt crash at some point, just verify it will run through and ; produce the PHI node in the exit we are looking for. diff --git a/polly/test/CodeGen/phi_loop_carried_float.ll b/polly/test/CodeGen/phi_loop_carried_float.ll index 4cb392d3353d3..47a8a8190c8d9 100644 --- a/polly/test/CodeGen/phi_loop_carried_float.ll +++ b/polly/test/CodeGen/phi_loop_carried_float.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; float f(float *A, int N) { ; float tmp = 0; diff --git a/polly/test/CodeGen/phi_loop_carried_float_escape.ll b/polly/test/CodeGen/phi_loop_carried_float_escape.ll index 9fd8ad413128a..81dd5cecd1878 100644 --- a/polly/test/CodeGen/phi_loop_carried_float_escape.ll +++ b/polly/test/CodeGen/phi_loop_carried_float_escape.ll @@ -1,8 +1,6 @@ -; RUN: opt %loadNPMPolly -S \ -; RUN: -polly-analyze-read-only-scalars=false -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S -polly-analyze-read-only-scalars=false '-passes=polly' < %s | FileCheck %s -; RUN: opt %loadNPMPolly -S \ -; RUN: -polly-analyze-read-only-scalars=true -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S -polly-analyze-read-only-scalars=true '-passes=polly' < %s | FileCheck %s ; ; float f(float *A, int N) { ; float tmp = 0; diff --git a/polly/test/CodeGen/phi_scalar_simple_1.ll b/polly/test/CodeGen/phi_scalar_simple_1.ll index 80a1c41b83ac0..6331c24da31b0 100644 --- a/polly/test/CodeGen/phi_scalar_simple_1.ll +++ b/polly/test/CodeGen/phi_scalar_simple_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; int jd(int *restrict A, int x, int N) { ; for (int i = 1; i < N; i++) diff --git a/polly/test/CodeGen/phi_scalar_simple_2.ll b/polly/test/CodeGen/phi_scalar_simple_2.ll index 614c8acfb9f8e..0adadf6b90159 100644 --- a/polly/test/CodeGen/phi_scalar_simple_2.ll +++ b/polly/test/CodeGen/phi_scalar_simple_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; int jd(int *restrict A, int x, int N, int c) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll b/polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll index 7e21666f1db00..4d6ede638c8f2 100644 --- a/polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll +++ b/polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; CHECK: polly.merge_new_and_old: ; CHECK: %result.ph.merge = phi float [ %result.ph.final_reload, %polly.exiting ], [ %result.ph, %next.region_exiting ] diff --git a/polly/test/CodeGen/phi_with_one_exit_edge.ll b/polly/test/CodeGen/phi_with_one_exit_edge.ll index 36a8684dbc37a..4de24fb058c26 100644 --- a/polly/test/CodeGen/phi_with_one_exit_edge.ll +++ b/polly/test/CodeGen/phi_with_one_exit_edge.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; ; CHECK: polly.merge_new_and_old: diff --git a/polly/test/CodeGen/pointer-type-expressions-2.ll b/polly/test/CodeGen/pointer-type-expressions-2.ll index 918e4c6c9c0b0..706b01d7f8ca5 100644 --- a/polly/test/CodeGen/pointer-type-expressions-2.ll +++ b/polly/test/CodeGen/pointer-type-expressions-2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CODEGEN target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define void @foo(ptr %start, ptr %end) { diff --git a/polly/test/CodeGen/pointer-type-expressions.ll b/polly/test/CodeGen/pointer-type-expressions.ll index e7feebc163d4b..2478e2238fd0e 100644 --- a/polly/test/CodeGen/pointer-type-expressions.ll +++ b/polly/test/CodeGen/pointer-type-expressions.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CODEGEN ; void f(int a[], int N, float *P) { ; int i; diff --git a/polly/test/CodeGen/pointer-type-pointer-type-comparison.ll b/polly/test/CodeGen/pointer-type-pointer-type-comparison.ll index 9ee050a1e5070..cac6f4fdd16f1 100644 --- a/polly/test/CodeGen/pointer-type-pointer-type-comparison.ll +++ b/polly/test/CodeGen/pointer-type-pointer-type-comparison.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CODEGEN ; ; void f(int a[], int N, float *P, float *Q) { diff --git a/polly/test/CodeGen/pointer_rem.ll b/polly/test/CodeGen/pointer_rem.ll index b8202318a3eca..ca5d866ae6cce 100644 --- a/polly/test/CodeGen/pointer_rem.ll +++ b/polly/test/CodeGen/pointer_rem.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=print,scop(print)' -disable-output -S < %s | FileCheck %s --check-prefix=AST -; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=print,scop(polly-codegen)' -S < %s | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly-custom' -polly-print-scops -polly-print-ast -disable-output -S < %s | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly-custom' -polly-print-scops -S < %s | FileCheck %s --check-prefix=CODEGEN target datalayout = "e-m:e-i64:64-i128:128-n8:16:32:64-S128" target triple = "aarch64--linux-gnu" diff --git a/polly/test/CodeGen/pr25241.ll b/polly/test/CodeGen/pr25241.ll index 7547b0bbed749..94be6d7824921 100644 --- a/polly/test/CodeGen/pr25241.ll +++ b/polly/test/CodeGen/pr25241.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; PR25241 (https://llvm.org/bugs/show_bug.cgi?id=25241) ; Ensure that synthesized values of a PHI node argument are generated in the diff --git a/polly/test/CodeGen/ptrtoint_as_parameter.ll b/polly/test/CodeGen/ptrtoint_as_parameter.ll index a551d810c0802..49a8c38309eb2 100644 --- a/polly/test/CodeGen/ptrtoint_as_parameter.ll +++ b/polly/test/CodeGen/ptrtoint_as_parameter.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; CHECK: if.then260: ; CHECK-NEXT: %p.4 = getelementptr inbounds i8, ptr null, i64 1 diff --git a/polly/test/CodeGen/read-only-scalars.ll b/polly/test/CodeGen/read-only-scalars.ll index 365cbbce495fb..2ae0f9e797bd1 100644 --- a/polly/test/CodeGen/read-only-scalars.ll +++ b/polly/test/CodeGen/read-only-scalars.ll @@ -1,9 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=false -passes=polly-codegen \ -; RUN: \ -; RUN: -S < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=true -passes=polly-codegen \ -; RUN: \ -; RUN: -S < %s | FileCheck %s -check-prefix=SCALAR +; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=false '-passes=polly' -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=true '-passes=polly' -S < %s | FileCheck %s -check-prefix=SCALAR ; CHECK-NOT: alloca diff --git a/polly/test/CodeGen/reduction.ll b/polly/test/CodeGen/reduction.ll index 8c5f70770a1c5..21d8c0f98b702 100644 --- a/polly/test/CodeGen/reduction.ll +++ b/polly/test/CodeGen/reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s 2>&1 | not FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s 2>&1 | not FileCheck %s ;#include ;#include diff --git a/polly/test/CodeGen/reduction_2.ll b/polly/test/CodeGen/reduction_2.ll index 060a1866870e4..f9576826b4f77 100644 --- a/polly/test/CodeGen/reduction_2.ll +++ b/polly/test/CodeGen/reduction_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s | FileCheck %s --allow-empty +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --allow-empty ;#include ;#include diff --git a/polly/test/CodeGen/reduction_simple_binary.ll b/polly/test/CodeGen/reduction_simple_binary.ll index 0fe1085dbbacd..53cbdf407c954 100644 --- a/polly/test/CodeGen/reduction_simple_binary.ll +++ b/polly/test/CodeGen/reduction_simple_binary.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: pragma simd reduction ; diff --git a/polly/test/CodeGen/reggen_domtree_crash.ll b/polly/test/CodeGen/reggen_domtree_crash.ll index 58c27091a22c3..9d5ba4c4ff9fb 100644 --- a/polly/test/CodeGen/reggen_domtree_crash.ll +++ b/polly/test/CodeGen/reggen_domtree_crash.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-parallel -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-parallel -S < %s | FileCheck %s ; CHECK: define ptr @ham(ptr %arg, i64 %arg1, i1 %arg2) diff --git a/polly/test/CodeGen/region-with-instructions.ll b/polly/test/CodeGen/region-with-instructions.ll index e5f7d0f9ef5d6..f061ac061e226 100644 --- a/polly/test/CodeGen/region-with-instructions.ll +++ b/polly/test/CodeGen/region-with-instructions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; CHECK-LABEL: polly.stmt.bb48: ; CHECK-NEXT: %[[offset:.*]] = shl i64 %polly.indvar, 3 diff --git a/polly/test/CodeGen/region_exiting-domtree.ll b/polly/test/CodeGen/region_exiting-domtree.ll index 06e0d9df3d951..16b265c064790 100644 --- a/polly/test/CodeGen/region_exiting-domtree.ll +++ b/polly/test/CodeGen/region_exiting-domtree.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -verify-dom-info -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -verify-dom-info -disable-output < %s ; Verify that the DominatorTree is preserved correctly for the inserted ; %polly.stmt.exit.exit block, which serves as new exit block for the generated diff --git a/polly/test/CodeGen/region_multiexit_partialwrite.ll b/polly/test/CodeGen/region_multiexit_partialwrite.ll index 39e04dbf93ac7..9d21d16c9f9cd 100644 --- a/polly/test/CodeGen/region_multiexit_partialwrite.ll +++ b/polly/test/CodeGen/region_multiexit_partialwrite.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-codegen' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; This text case has a partial write of PHI in a region-statement. It ; requires that the new PHINode from the region's exiting block is diff --git a/polly/test/CodeGen/run-time-condition-with-scev-parameters.ll b/polly/test/CodeGen/run-time-condition-with-scev-parameters.ll index 4afaab5bbad0a..7984b7ce80209 100644 --- a/polly/test/CodeGen/run-time-condition-with-scev-parameters.ll +++ b/polly/test/CodeGen/run-time-condition-with-scev-parameters.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=AST -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; TODO: FIXME: Simplify the context. ; AST: if (n >= 1 && 0 == n <= -1) diff --git a/polly/test/CodeGen/run-time-condition.ll b/polly/test/CodeGen/run-time-condition.ll index 914b76f5e0be7..44d2a4f15b378 100644 --- a/polly/test/CodeGen/run-time-condition.ll +++ b/polly/test/CodeGen/run-time-condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly' -S < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" diff --git a/polly/test/CodeGen/scalar-references-used-in-scop-compute.ll b/polly/test/CodeGen/scalar-references-used-in-scop-compute.ll index 77306c1046133..102ef04128133 100644 --- a/polly/test/CodeGen/scalar-references-used-in-scop-compute.ll +++ b/polly/test/CodeGen/scalar-references-used-in-scop-compute.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; Test the code generation in the presence of a scalar out-of-scop value being ; used from within the SCoP. diff --git a/polly/test/CodeGen/scalar-store-from-same-bb.ll b/polly/test/CodeGen/scalar-store-from-same-bb.ll index 0c1164b245a43..1988f77086c8a 100644 --- a/polly/test/CodeGen/scalar-store-from-same-bb.ll +++ b/polly/test/CodeGen/scalar-store-from-same-bb.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; This test ensures that the expression N + 1 that is stored in the phi-node ; alloca, is directly computed and not incorrectly transferred through memory. diff --git a/polly/test/CodeGen/scalar_codegen_crash.ll b/polly/test/CodeGen/scalar_codegen_crash.ll index 375f097283b07..0179072391a33 100644 --- a/polly/test/CodeGen/scalar_codegen_crash.ll +++ b/polly/test/CodeGen/scalar_codegen_crash.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; This test cases used to crash the scalar code generation. Check that we ; can generate code for it. diff --git a/polly/test/CodeGen/scev-backedgetaken.ll b/polly/test/CodeGen/scev-backedgetaken.ll index e0941690ae489..09fcfe3e4a09c 100644 --- a/polly/test/CodeGen/scev-backedgetaken.ll +++ b/polly/test/CodeGen/scev-backedgetaken.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; llvm.org/PR48422 ; Use of ScalarEvolution in Codegen not possible because DominatorTree is not updated. diff --git a/polly/test/CodeGen/scev-division-invariant-load.ll b/polly/test/CodeGen/scev-division-invariant-load.ll index 70f090eae07b3..5942ecbe7cee9 100644 --- a/polly/test/CodeGen/scev-division-invariant-load.ll +++ b/polly/test/CodeGen/scev-division-invariant-load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s ; ; Check that we generate valid code as we did not use the preloaded ; value of %tmp1 for the access function of the preloaded %tmp4. diff --git a/polly/test/CodeGen/scev.ll b/polly/test/CodeGen/scev.ll index e2b5afda1bfff..a09d8c5504b1b 100644 --- a/polly/test/CodeGen/scev.ll +++ b/polly/test/CodeGen/scev.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define fastcc void @f () inlinehint align 2 { diff --git a/polly/test/CodeGen/scev_expansion_in_nonaffine.ll b/polly/test/CodeGen/scev_expansion_in_nonaffine.ll index 0adb0ba7eea81..095c362024a83 100644 --- a/polly/test/CodeGen/scev_expansion_in_nonaffine.ll +++ b/polly/test/CodeGen/scev_expansion_in_nonaffine.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-invariant-load-hoisting=true < %s | FileCheck %s ; bugpoint-reduced testcase of MiBench/consumer-lame/quantize-pvt.c from the ; test-suite. diff --git a/polly/test/CodeGen/scev_looking_through_bitcasts.ll b/polly/test/CodeGen/scev_looking_through_bitcasts.ll index 142e83f820fe7..81f4b96d22a37 100644 --- a/polly/test/CodeGen/scev_looking_through_bitcasts.ll +++ b/polly/test/CodeGen/scev_looking_through_bitcasts.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; Scalar write of bitcasted value. Instead of writing %b of type ; %structty, the SCEV expression looks through the bitcast such that diff --git a/polly/test/CodeGen/scop_expander_insert_point.ll b/polly/test/CodeGen/scop_expander_insert_point.ll index fd73132258ddc..1cba7567a5e43 100644 --- a/polly/test/CodeGen/scop_expander_insert_point.ll +++ b/polly/test/CodeGen/scop_expander_insert_point.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-invariant-load-hoisting=true < %s | FileCheck %s ; ; CHECK: entry: ; CHECK-NEXT: %outvalue.141.phiops = alloca i64 diff --git a/polly/test/CodeGen/scop_expander_segfault.ll b/polly/test/CodeGen/scop_expander_segfault.ll index d94a1fdfb2c12..56d37a0175853 100644 --- a/polly/test/CodeGen/scop_expander_segfault.ll +++ b/polly/test/CodeGen/scop_expander_segfault.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S %s | FileCheck %s ; ; This test was extracted from gcc in SPEC2006 and it crashed our code ; generation, or to be more precise, the ScopExpander due to a endless diff --git a/polly/test/CodeGen/scop_never_executed_runtime_check_location.ll b/polly/test/CodeGen/scop_never_executed_runtime_check_location.ll index 9f968e5657c90..cdcfe838fa915 100644 --- a/polly/test/CodeGen/scop_never_executed_runtime_check_location.ll +++ b/polly/test/CodeGen/scop_never_executed_runtime_check_location.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; Verify that we generate the runtime check code after the conditional branch ; in the SCoP region entering block (here %entry). diff --git a/polly/test/CodeGen/select-base-pointer.ll b/polly/test/CodeGen/select-base-pointer.ll index 85be37755c474..144c05b5effba 100644 --- a/polly/test/CodeGen/select-base-pointer.ll +++ b/polly/test/CodeGen/select-base-pointer.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=tbaa -passes=polly-codegen -disable-output %s +; RUN: opt %loadNPMPolly -aa-pipeline=tbaa '-passes=polly' -disable-output %s ; ; Check that we do not crash here. ; diff --git a/polly/test/CodeGen/sequential_loops.ll b/polly/test/CodeGen/sequential_loops.ll index 33a3ee9fbbd47..eeb3048007859 100644 --- a/polly/test/CodeGen/sequential_loops.ll +++ b/polly/test/CodeGen/sequential_loops.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#include ;#define N 1024 diff --git a/polly/test/CodeGen/simple_loop_non_single_exit.ll b/polly/test/CodeGen/simple_loop_non_single_exit.ll index a7e36bc4c7330..1b3518bdb0cba 100644 --- a/polly/test/CodeGen/simple_loop_non_single_exit.ll +++ b/polly/test/CodeGen/simple_loop_non_single_exit.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CHECK-CODE +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CHECK-CODE ; void f(long A[], long N) { ; long i; diff --git a/polly/test/CodeGen/simple_loop_non_single_exit_2.ll b/polly/test/CodeGen/simple_loop_non_single_exit_2.ll index 22e9da09ef857..3af9913e6aa04 100644 --- a/polly/test/CodeGen/simple_loop_non_single_exit_2.ll +++ b/polly/test/CodeGen/simple_loop_non_single_exit_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CHECK-CODE +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CHECK-CODE ; void f(long A[], long N) { ; long i; diff --git a/polly/test/CodeGen/simple_non_single_entry.ll b/polly/test/CodeGen/simple_non_single_entry.ll index c33a77ae07939..8800dc7214b06 100644 --- a/polly/test/CodeGen/simple_non_single_entry.ll +++ b/polly/test/CodeGen/simple_non_single_entry.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CHECK-CODE +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CHECK-CODE ; void f(long A[], long N) { ; long i; diff --git a/polly/test/CodeGen/simple_nonaffine_loop.ll b/polly/test/CodeGen/simple_nonaffine_loop.ll index bc62047a80a34..5b1cd1991cd73 100644 --- a/polly/test/CodeGen/simple_nonaffine_loop.ll +++ b/polly/test/CodeGen/simple_nonaffine_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-allow-nonaffine -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-allow-nonaffine -disable-output < %s | FileCheck %s ;#include ;#include diff --git a/polly/test/CodeGen/single_do_loop_int_max_iterations.ll b/polly/test/CodeGen/single_do_loop_int_max_iterations.ll index a65e3a25f035a..f0142f726efa4 100644 --- a/polly/test/CodeGen/single_do_loop_int_max_iterations.ll +++ b/polly/test/CodeGen/single_do_loop_int_max_iterations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#define N 20 ;#include "limits.h" diff --git a/polly/test/CodeGen/single_do_loop_int_param_iterations.ll b/polly/test/CodeGen/single_do_loop_int_param_iterations.ll index acccb48f18a3c..cc5e7b221026c 100644 --- a/polly/test/CodeGen/single_do_loop_int_param_iterations.ll +++ b/polly/test/CodeGen/single_do_loop_int_param_iterations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; XFAIL: * ;define N 20 diff --git a/polly/test/CodeGen/single_do_loop_ll_max_iterations.ll b/polly/test/CodeGen/single_do_loop_ll_max_iterations.ll index 7a67f6ba96ce2..1299362369478 100644 --- a/polly/test/CodeGen/single_do_loop_ll_max_iterations.ll +++ b/polly/test/CodeGen/single_do_loop_ll_max_iterations.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' < %s ;#define N 20 ;#include "limits.h" diff --git a/polly/test/CodeGen/single_do_loop_one_iteration.ll b/polly/test/CodeGen/single_do_loop_one_iteration.ll index 2d939167b71ee..d025ef2116a40 100644 --- a/polly/test/CodeGen/single_do_loop_one_iteration.ll +++ b/polly/test/CodeGen/single_do_loop_one_iteration.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; XFAIL: * ;#define N 20 diff --git a/polly/test/CodeGen/single_do_loop_scev_replace.ll b/polly/test/CodeGen/single_do_loop_scev_replace.ll index 83c9e9d0324ce..b473e266343a3 100644 --- a/polly/test/CodeGen/single_do_loop_scev_replace.ll +++ b/polly/test/CodeGen/single_do_loop_scev_replace.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#define N 20 ;#include "limits.h" diff --git a/polly/test/CodeGen/single_loop.ll b/polly/test/CodeGen/single_loop.ll index 2db34663e93ce..c04738e6843a0 100644 --- a/polly/test/CodeGen/single_loop.ll +++ b/polly/test/CodeGen/single_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#include ;#define N 1024 diff --git a/polly/test/CodeGen/single_loop_int_max_iterations.ll b/polly/test/CodeGen/single_loop_int_max_iterations.ll index f83e8823c63df..82ec7ffd85462 100644 --- a/polly/test/CodeGen/single_loop_int_max_iterations.ll +++ b/polly/test/CodeGen/single_loop_int_max_iterations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#define N 20 ;#include "limits.h" diff --git a/polly/test/CodeGen/single_loop_ll_max_iterations.ll b/polly/test/CodeGen/single_loop_ll_max_iterations.ll index 1427189d74a7d..8affb71fad649 100644 --- a/polly/test/CodeGen/single_loop_ll_max_iterations.ll +++ b/polly/test/CodeGen/single_loop_ll_max_iterations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#include "limits.h" ;#define N 20 diff --git a/polly/test/CodeGen/single_loop_one_iteration.ll b/polly/test/CodeGen/single_loop_one_iteration.ll index 1a70d4a879d83..307b8358ff980 100644 --- a/polly/test/CodeGen/single_loop_one_iteration.ll +++ b/polly/test/CodeGen/single_loop_one_iteration.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ;#define N 20 ; diff --git a/polly/test/CodeGen/single_loop_param.ll b/polly/test/CodeGen/single_loop_param.ll index 44ce1236e9f84..1d78c7a7329d4 100644 --- a/polly/test/CodeGen/single_loop_param.ll +++ b/polly/test/CodeGen/single_loop_param.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" @A = common global [1024 x i32] zeroinitializer, align 16 ; [#uses=3] diff --git a/polly/test/CodeGen/single_loop_param_less_equal.ll b/polly/test/CodeGen/single_loop_param_less_equal.ll index fda9bfab11b8f..5fad1d43ae0d7 100644 --- a/polly/test/CodeGen/single_loop_param_less_equal.ll +++ b/polly/test/CodeGen/single_loop_param_less_equal.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CODEGEN -; RUN: opt %loadNPMPolly -passes=polly-codegen < %s | opt -passes='print' -disable-output 2>&1 | FileCheck %s -check-prefix=LOOPS +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly' < %s | opt -passes='print' -disable-output 2>&1 | FileCheck %s -check-prefix=LOOPS target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" @A = common global [1024 x i32] zeroinitializer diff --git a/polly/test/CodeGen/single_loop_param_less_than.ll b/polly/test/CodeGen/single_loop_param_less_than.ll index b888c860eacd0..75a8cb2094a16 100644 --- a/polly/test/CodeGen/single_loop_param_less_than.ll +++ b/polly/test/CodeGen/single_loop_param_less_than.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s -check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CODEGEN target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" @A = common global [1024 x i32] zeroinitializer diff --git a/polly/test/CodeGen/single_loop_zero_iterations.ll b/polly/test/CodeGen/single_loop_zero_iterations.ll index b1ce491b5c8a2..3194dba52190b 100644 --- a/polly/test/CodeGen/single_loop_zero_iterations.ll +++ b/polly/test/CodeGen/single_loop_zero_iterations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=SCALAR --allow-empty +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=SCALAR --allow-empty ;#define N 20 ; diff --git a/polly/test/CodeGen/split_edge_of_exit.ll b/polly/test/CodeGen/split_edge_of_exit.ll index f4b17e687ada6..73d6006a6b621 100644 --- a/polly/test/CodeGen/split_edge_of_exit.ll +++ b/polly/test/CodeGen/split_edge_of_exit.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -verify-region-info -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -verify-region-info -disable-output < %s ; ; This is a scop directly precedented by a region, i.e. the scop's entry is the ; region's exit block. This test is to ensure that the RegionInfo is correctly diff --git a/polly/test/CodeGen/split_edges.ll b/polly/test/CodeGen/split_edges.ll index b921202285bb2..03363f49ce800 100644 --- a/polly/test/CodeGen/split_edges.ll +++ b/polly/test/CodeGen/split_edges.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -verify-region-info -verify-dom-info -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -verify-region-info -verify-dom-info -S < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" @A = common global [1536 x float] zeroinitializer diff --git a/polly/test/CodeGen/split_edges_2.ll b/polly/test/CodeGen/split_edges_2.ll index 8f4d48f5dcb00..59df1618cfd71 100644 --- a/polly/test/CodeGen/split_edges_2.ll +++ b/polly/test/CodeGen/split_edges_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -verify-region-info -verify-dom-info -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -verify-region-info -verify-dom-info -S < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/CodeGen/srem-in-other-bb.ll b/polly/test/CodeGen/srem-in-other-bb.ll index a13a1b6ab98f2..177d86adb9066 100644 --- a/polly/test/CodeGen/srem-in-other-bb.ll +++ b/polly/test/CodeGen/srem-in-other-bb.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; void pos(float *A, long n) { ; for (long i = 0; i < 100; i++) diff --git a/polly/test/CodeGen/stack-overflow-in-load-hoisting.ll b/polly/test/CodeGen/stack-overflow-in-load-hoisting.ll index b49c4e12fe11a..5a490b68b9a9f 100644 --- a/polly/test/CodeGen/stack-overflow-in-load-hoisting.ll +++ b/polly/test/CodeGen/stack-overflow-in-load-hoisting.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -verify-dom-info -passes=polly-codegen -S < %s \ -; RUN: -polly-invariant-load-hoisting=true | FileCheck %s +; RUN: opt %loadNPMPolly -verify-dom-info '-passes=polly' -S -polly-invariant-load-hoisting=true < %s | FileCheck %s ; ; This caused an infinite recursion during invariant load hoisting at some ; point. Check it does not and we add a "false" runtime check. diff --git a/polly/test/CodeGen/stmt_split_no_dependence.ll b/polly/test/CodeGen/stmt_split_no_dependence.ll index bb878cc342af8..d41e4a87bfb65 100644 --- a/polly/test/CodeGen/stmt_split_no_dependence.ll +++ b/polly/test/CodeGen/stmt_split_no_dependence.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; CHECK: store i32 %9, ptr %scevgep, align 4, !alias.scope !3, !noalias !6 ; CHECK: store i32 %11, ptr %scevgep4, align 4, !alias.scope !6, !noalias !3 diff --git a/polly/test/CodeGen/switch-in-non-affine-region.ll b/polly/test/CodeGen/switch-in-non-affine-region.ll index 1a9e7081bebdc..6696efca63f02 100644 --- a/polly/test/CodeGen/switch-in-non-affine-region.ll +++ b/polly/test/CodeGen/switch-in-non-affine-region.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/CodeGen/synthesizable_phi_write_after_loop.ll b/polly/test/CodeGen/synthesizable_phi_write_after_loop.ll index b2a062363eef4..86395f25db1a8 100644 --- a/polly/test/CodeGen/synthesizable_phi_write_after_loop.ll +++ b/polly/test/CodeGen/synthesizable_phi_write_after_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; Check for the correct written value of a scalar phi write whose value is ; defined within the loop, but its effective value is its last definition when diff --git a/polly/test/CodeGen/test-invalid-operands-for-select-2.ll b/polly/test/CodeGen/test-invalid-operands-for-select-2.ll index 5668063c27c8e..b5172badd76dc 100644 --- a/polly/test/CodeGen/test-invalid-operands-for-select-2.ll +++ b/polly/test/CodeGen/test-invalid-operands-for-select-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -verify-loop-info < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -verify-loop-info < %s | FileCheck %s ; ; Check that we do not crash as described here: http://llvm.org/bugs/show_bug.cgi?id=21167 ; diff --git a/polly/test/CodeGen/test-invalid-operands-for-select.ll b/polly/test/CodeGen/test-invalid-operands-for-select.ll index fdc98fbb4d9e7..39cadc78f7e36 100644 --- a/polly/test/CodeGen/test-invalid-operands-for-select.ll +++ b/polly/test/CodeGen/test-invalid-operands-for-select.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; Check that we do not crash as described here: http://llvm.org/PR21167 ; diff --git a/polly/test/CodeGen/test.ll b/polly/test/CodeGen/test.ll index aad998ba2728b..7c28ca4860e79 100644 --- a/polly/test/CodeGen/test.ll +++ b/polly/test/CodeGen/test.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; XFAIL: * ;int bar1(); diff --git a/polly/test/CodeGen/two-loops-right-after-each-other-2.ll b/polly/test/CodeGen/two-loops-right-after-each-other-2.ll index 1c68389eaeba8..d97a632fc382e 100644 --- a/polly/test/CodeGen/two-loops-right-after-each-other-2.ll +++ b/polly/test/CodeGen/two-loops-right-after-each-other-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; CHECK: polly.merge_new_and_old: ; CHECK-NEXT: merge = phi diff --git a/polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll b/polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll index 4396c38310dce..845d106d43b0e 100644 --- a/polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll +++ b/polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; CHECK-LABEL: for.cond: ; CHECK: %num.0 = phi i32 [ %add, %for.body15 ], [ 0, %for.cond.pre_entry_bb ] diff --git a/polly/test/CodeGen/two-scops-in-row.ll b/polly/test/CodeGen/two-scops-in-row.ll index dd3f310ef1502..4b9d49cb02ec6 100644 --- a/polly/test/CodeGen/two-scops-in-row.ll +++ b/polly/test/CodeGen/two-scops-in-row.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ignore-aliasing -disable-output < %s | FileCheck %s -check-prefix=SCALAR -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-ignore-aliasing -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ignore-aliasing -disable-output < %s | FileCheck %s -check-prefix=SCALAR +; RUN: opt %loadNPMPolly '-passes=polly' -polly-ignore-aliasing -disable-output < %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; SCALAR: if ( diff --git a/polly/test/CodeGen/udiv_expansion_position.ll b/polly/test/CodeGen/udiv_expansion_position.ll index 354e3cd180107..2a3ba8ae45757 100644 --- a/polly/test/CodeGen/udiv_expansion_position.ll +++ b/polly/test/CodeGen/udiv_expansion_position.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; ; Verify we do not crash when we synthezise code for the udiv in the SCoP. ; diff --git a/polly/test/CodeGen/uninitialized_scalar_memory.ll b/polly/test/CodeGen/uninitialized_scalar_memory.ll index e08af07e604e8..ad0e6ca7e350b 100644 --- a/polly/test/CodeGen/uninitialized_scalar_memory.ll +++ b/polly/test/CodeGen/uninitialized_scalar_memory.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; ; Verify we initialize the scalar locations reserved for the incoming phi ; values. diff --git a/polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll b/polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll index 46706804a81b0..e7f4d601edab5 100644 --- a/polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll +++ b/polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -passes=polly-codegen \ -; RUN: -polly-invariant-load-hoisting=true -disable-output < %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly' -polly-invariant-load-hoisting=true -disable-output < %s ; The loop for.body is a scop with invariant load hoisting, but does not ; terminate predictably for ScalarEvolution. The scalar %1 therefore is not diff --git a/polly/test/CodeGen/variant_load_empty_domain.ll b/polly/test/CodeGen/variant_load_empty_domain.ll index 6f2d3dc582db3..d1f4450d086e0 100644 --- a/polly/test/CodeGen/variant_load_empty_domain.ll +++ b/polly/test/CodeGen/variant_load_empty_domain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s ; ; ; void f(int *A) { diff --git a/polly/test/CodeGen/whole-scop-non-affine-subregion.ll b/polly/test/CodeGen/whole-scop-non-affine-subregion.ll index b342b1cb5aa27..44f6dbcd34d1d 100644 --- a/polly/test/CodeGen/whole-scop-non-affine-subregion.ll +++ b/polly/test/CodeGen/whole-scop-non-affine-subregion.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -passes=polly-codegen -S < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s ; CHECK: polly.start ; int /* pure */ g() diff --git a/polly/test/DeLICM/confused_order.ll b/polly/test/DeLICM/confused_order.ll index 0c19eb6aa605a..de340ef48d16e 100644 --- a/polly/test/DeLICM/confused_order.ll +++ b/polly/test/DeLICM/confused_order.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-delicm' -polly-import-jscop-postfix=transformed -disable-output -pass-remarks-missed=polly-delicm < %s 2>&1 | FileCheck %s -check-prefix=REMARKS +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -disable-output -pass-remarks-missed=polly-delicm < %s 2>&1 | FileCheck %s -check-prefix=REMARKS ; ; ForwardOptree changes the SCoP and may already map some accesses. ; DeLICM must be prepared to encounter implicit reads diff --git a/polly/test/DeLICM/contradicting_assumed_context_and_domain.ll b/polly/test/DeLICM/contradicting_assumed_context_and_domain.ll index 66d9ae889e657..ba42692febab2 100644 --- a/polly/test/DeLICM/contradicting_assumed_context_and_domain.ll +++ b/polly/test/DeLICM/contradicting_assumed_context_and_domain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; The domain of bb14 contradicts the SCoP's assumptions. This leads to ; 'anything goes' inside the statement since it is never executed, diff --git a/polly/test/DeLICM/load-in-cond-inf-loop.ll b/polly/test/DeLICM/load-in-cond-inf-loop.ll index a78a4691bb0d5..19cc334f70054 100644 --- a/polly/test/DeLICM/load-in-cond-inf-loop.ll +++ b/polly/test/DeLICM/load-in-cond-inf-loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; When %b is 0, %for.body13 is an infinite loop. In this case the loaded ; value %1 is not used anywhere. diff --git a/polly/test/DeLICM/map_memset_zero.ll b/polly/test/DeLICM/map_memset_zero.ll index 9a8e5989fdad1..cc4e0ab387d2a 100644 --- a/polly/test/DeLICM/map_memset_zero.ll +++ b/polly/test/DeLICM/map_memset_zero.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck -match-full-lines %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck -match-full-lines %s ; ; Check that PHI mapping works even in presence of a memset whose' ; zero value is used. diff --git a/polly/test/DeLICM/nomap_alreadymapped.ll b/polly/test/DeLICM/nomap_alreadymapped.ll index da5f4ec24a47e..9e49300381b57 100644 --- a/polly/test/DeLICM/nomap_alreadymapped.ll +++ b/polly/test/DeLICM/nomap_alreadymapped.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/nomap_escaping.ll b/polly/test/DeLICM/nomap_escaping.ll index 60955368fe59c..6460dbdb808fb 100644 --- a/polly/test/DeLICM/nomap_escaping.ll +++ b/polly/test/DeLICM/nomap_escaping.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/nomap_occupied.ll b/polly/test/DeLICM/nomap_occupied.ll index 9ba8ce2641231..72eea57b8fdf5 100644 --- a/polly/test/DeLICM/nomap_occupied.ll +++ b/polly/test/DeLICM/nomap_occupied.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/nomap_readonly.ll b/polly/test/DeLICM/nomap_readonly.ll index 7a185d336bad3..67bac06f1505f 100644 --- a/polly/test/DeLICM/nomap_readonly.ll +++ b/polly/test/DeLICM/nomap_readonly.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; fsomeval = 21.0 + 21.0; diff --git a/polly/test/DeLICM/nomap_spuriouswrite.ll b/polly/test/DeLICM/nomap_spuriouswrite.ll index 0ed7f6ee8e239..f3fcb0ccd06e4 100644 --- a/polly/test/DeLICM/nomap_spuriouswrite.ll +++ b/polly/test/DeLICM/nomap_spuriouswrite.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/nomap_storagesize.ll b/polly/test/DeLICM/nomap_storagesize.ll index bf851ac342d20..0f2943a5b1417 100644 --- a/polly/test/DeLICM/nomap_storagesize.ll +++ b/polly/test/DeLICM/nomap_storagesize.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(float *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/nomap_writewrite.ll b/polly/test/DeLICM/nomap_writewrite.ll index 9fcd52aad743c..fc8459a34972c 100644 --- a/polly/test/DeLICM/nomap_writewrite.ll +++ b/polly/test/DeLICM/nomap_writewrite.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/outofquota-reverseDomain.ll b/polly/test/DeLICM/outofquota-reverseDomain.ll index 1f7527c841208..d48665bdc29c1 100644 --- a/polly/test/DeLICM/outofquota-reverseDomain.ll +++ b/polly/test/DeLICM/outofquota-reverseDomain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-delicm-max-ops=1000000 '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-delicm-max-ops=1000000 '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; This causes an assertion to fail on out-of-quota after 1000000 operations. ; (The error was specific to -polly-delicm-max-ops=1000000 and changes diff --git a/polly/test/DeLICM/pass_existence.ll b/polly/test/DeLICM/pass_existence.ll index 64302d9983261..d784655db60f3 100644 --- a/polly/test/DeLICM/pass_existence.ll +++ b/polly/test/DeLICM/pass_existence.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -passes=polly-delicm -disable-output < %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=scop(print)' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; Simple test for the existence of the DeLICM pass. ; diff --git a/polly/test/DeLICM/pr41656.ll b/polly/test/DeLICM/pr41656.ll index 2a92503809a24..82799e4fd1ab8 100644 --- a/polly/test/DeLICM/pr41656.ll +++ b/polly/test/DeLICM/pr41656.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,scop(print)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-print-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; llvm.org/PR41656 ; diff --git a/polly/test/DeLICM/pr48783.ll b/polly/test/DeLICM/pr48783.ll index deba8bfcc5daf..10f8b64c3dd2f 100644 --- a/polly/test/DeLICM/pr48783.ll +++ b/polly/test/DeLICM/pr48783.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,scop(print)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-print-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; llvm.org/PR48783 ; diff --git a/polly/test/DeLICM/reduction.ll b/polly/test/DeLICM/reduction.ll index 29b7a3617300b..5d6531f51d570 100644 --- a/polly/test/DeLICM/reduction.ll +++ b/polly/test/DeLICM/reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-delicm-partial-writes=true '-passes=print' -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-delicm-partial-writes=true '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck -match-full-lines %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_constant_selfconflict.ll b/polly/test/DeLICM/reduction_constant_selfconflict.ll index 012e0a0794b2b..223a429d76343 100644 --- a/polly/test/DeLICM/reduction_constant_selfconflict.ll +++ b/polly/test/DeLICM/reduction_constant_selfconflict.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-flatten-schedule -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate.ll b/polly/test/DeLICM/reduction_looprotate.ll index 341cc091f7e18..b8eefe5e57cf8 100644 --- a/polly/test/DeLICM/reduction_looprotate.ll +++ b/polly/test/DeLICM/reduction_looprotate.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-flatten-schedule -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate_alwaystaken.ll b/polly/test/DeLICM/reduction_looprotate_alwaystaken.ll index a58eabb4fbd82..627a4452c3f90 100644 --- a/polly/test/DeLICM/reduction_looprotate_alwaystaken.ll +++ b/polly/test/DeLICM/reduction_looprotate_alwaystaken.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; Verify that delicm can cope with never taken PHI incoming edges. ; The edge %body -> %body_phi is never taken, hence the access MemoryKind::PHI, diff --git a/polly/test/DeLICM/reduction_looprotate_gvnpre.ll b/polly/test/DeLICM/reduction_looprotate_gvnpre.ll index 5a81441cf0eea..1d3a789f7ce07 100644 --- a/polly/test/DeLICM/reduction_looprotate_gvnpre.ll +++ b/polly/test/DeLICM/reduction_looprotate_gvnpre.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-partial-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck -check-prefix=PARTIAL %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-partial-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck -check-prefix=PARTIAL %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll b/polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll index d9c5268e631df..37499cd73020f 100644 --- a/polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll +++ b/polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s -match-full-lines ; ; Load (but not store) of A[j] hoisted, reduction only over some iterations. ; diff --git a/polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll b/polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll index 6a4223f5af655..79a700ff122e2 100644 --- a/polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll +++ b/polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s -match-full-lines ; ; Load (but not store) of A[j] hoisted, reduction not written in all iterations. ; FIXME: %join is not mapped because the MemoryKind::Value mapping does not diff --git a/polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll b/polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll index bf4b8018d5526..7e82daa9f80fc 100644 --- a/polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll +++ b/polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s -match-full-lines ; ; Hosted reduction load (but not the store) without preheader. ; diff --git a/polly/test/DeLICM/reduction_looprotate_hoisted.ll b/polly/test/DeLICM/reduction_looprotate_hoisted.ll index 795b94912aa42..7dc6e0fa9e408 100644 --- a/polly/test/DeLICM/reduction_looprotate_hoisted.ll +++ b/polly/test/DeLICM/reduction_looprotate_hoisted.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-invariant-load-hoisting -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-invariant-load-hoisting '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(int *A, int* StartPtr) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate_licm.ll b/polly/test/DeLICM/reduction_looprotate_licm.ll index 935f31abced30..a9c55a8f54087 100644 --- a/polly/test/DeLICM/reduction_looprotate_licm.ll +++ b/polly/test/DeLICM/reduction_looprotate_licm.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate_licm2.ll b/polly/test/DeLICM/reduction_looprotate_licm2.ll index 8b06e7466f20a..b98950b71bc85 100644 --- a/polly/test/DeLICM/reduction_looprotate_licm2.ll +++ b/polly/test/DeLICM/reduction_looprotate_licm2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; Use %phi instead of the normal %add; that is, the last last iteration will ; be ignored such the %phi cannot be written to A[3] in %body. diff --git a/polly/test/DeLICM/reduction_looprotate_licm_double_write.ll b/polly/test/DeLICM/reduction_looprotate_licm_double_write.ll index 51bb7291a73ed..4424d904b607d 100644 --- a/polly/test/DeLICM/reduction_looprotate_licm_double_write.ll +++ b/polly/test/DeLICM/reduction_looprotate_licm_double_write.ll @@ -1,7 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule \ -; RUN: -polly-delicm-overapproximate-writes=true \ -; RUN: -polly-delicm-compute-known=true -polly-print-delicm \ -; RUN: -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; Make sure delicm works even in case two stores that store the same value. ; diff --git a/polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll b/polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll index 027df44e86193..7d20b8d5c7cbf 100644 --- a/polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll +++ b/polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; Register-promoted reduction but without preheader. ; diff --git a/polly/test/DeLICM/reduction_looprotate_load.ll b/polly/test/DeLICM/reduction_looprotate_load.ll index 6aa83ae195031..e288a86f30719 100644 --- a/polly/test/DeLICM/reduction_looprotate_load.ll +++ b/polly/test/DeLICM/reduction_looprotate_load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(int *A, double* StartPtr) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll b/polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll index 4ea3fa53a339a..4582f0a36eb5c 100644 --- a/polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll +++ b/polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s -match-full-lines ; ; Reduction over parametric number of elements and a loopguard if the ; reduction loop is not executed at all. Load hoisted before loop. diff --git a/polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll b/polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll index 2e7abe444ad65..7df2885e01339 100644 --- a/polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll +++ b/polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s -match-full-lines ; ; Reduction over parametric number of elements and a loopguard if the ; reduction loop is not executed at all. diff --git a/polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll b/polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll index 60afdeb5fc97e..a1bd5d3f90fe7 100644 --- a/polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll +++ b/polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s -match-full-lines ; ; Reduction over parametric number of elements and a loopguard if the ; reduction loop is not executed at all, such that A[j] is also not written to. diff --git a/polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll b/polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll index e63b457de92db..8329a85ecf13b 100644 --- a/polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll +++ b/polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s -match-full-lines ; ; Reduction over parametric number of elements and a loopguard if the ; reduction loop is not executed at all, such that A[j] is also not accessed. diff --git a/polly/test/DeLICM/reduction_looprotate_readonly.ll b/polly/test/DeLICM/reduction_looprotate_readonly.ll index a9535467b3bde..5227f42ae4824 100644 --- a/polly/test/DeLICM/reduction_looprotate_readonly.ll +++ b/polly/test/DeLICM/reduction_looprotate_readonly.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A, double Start) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate_synthesizable.ll b/polly/test/DeLICM/reduction_looprotate_synthesizable.ll index 3d486910c8612..77d823c8ef6d5 100644 --- a/polly/test/DeLICM/reduction_looprotate_synthesizable.ll +++ b/polly/test/DeLICM/reduction_looprotate_synthesizable.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(int *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_looprotate_undef.ll b/polly/test/DeLICM/reduction_looprotate_undef.ll index 8c0544ed77852..f70df6075c2d3 100644 --- a/polly/test/DeLICM/reduction_looprotate_undef.ll +++ b/polly/test/DeLICM/reduction_looprotate_undef.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(int *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_overapproximate.ll b/polly/test/DeLICM/reduction_overapproximate.ll index 2d33d3a0ece2a..d6cbb70a84a4a 100644 --- a/polly/test/DeLICM/reduction_overapproximate.ll +++ b/polly/test/DeLICM/reduction_overapproximate.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-compute-known=true -polly-delicm-overapproximate-writes=true -polly-delicm-partial-writes=false -polly-print-delicm -disable-output < %s | FileCheck %s --check-prefix=APPROX -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-compute-known=true -polly-delicm-overapproximate-writes=false -polly-delicm-partial-writes=false -polly-print-delicm -disable-output < %s | FileCheck %s --check-prefix=EXACT -; RUN: opt %loadPolly -polly-stmt-granularity=bb -polly-flatten-schedule -polly-delicm-compute-known=true -polly-delicm-partial-writes=true -polly-print-delicm -disable-output < %s | FileCheck %s --check-prefix=PARTIAL +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-compute-known=true -polly-delicm-overapproximate-writes=true -polly-delicm-partial-writes=false -polly-print-delicm -disable-output < %s | FileCheck %s --check-prefix=APPROX +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-compute-known=true -polly-delicm-overapproximate-writes=false -polly-delicm-partial-writes=false -polly-print-delicm -disable-output < %s | FileCheck %s --check-prefix=EXACT +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-delicm-compute-known=true -polly-delicm-partial-writes=true -polly-print-delicm -disable-output < %s | FileCheck %s --check-prefix=PARTIAL ; ; void func(double *A { ; for (int j = -1; j < 3; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_preheader.ll b/polly/test/DeLICM/reduction_preheader.ll index c6e3643797c04..f3ce58b1bc954 100644 --- a/polly/test/DeLICM/reduction_preheader.ll +++ b/polly/test/DeLICM/reduction_preheader.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-flatten-schedule -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reduction_unrelatedunusual.ll b/polly/test/DeLICM/reduction_unrelatedunusual.ll index 97826f603e5d4..542cec71ab855 100644 --- a/polly/test/DeLICM/reduction_unrelatedunusual.ll +++ b/polly/test/DeLICM/reduction_unrelatedunusual.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-delicm-partial-writes=true '-passes=print' -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-delicm-partial-writes=true '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck -match-full-lines %s ; ; Map %add and %phi to A[j]. ; The non-analyzable store to C[0] is unrelated and can be ignored. diff --git a/polly/test/DeLICM/reject_loadafterstore.ll b/polly/test/DeLICM/reject_loadafterstore.ll index 4460620852a85..d56b237aa71d9 100644 --- a/polly/test/DeLICM/reject_loadafterstore.ll +++ b/polly/test/DeLICM/reject_loadafterstore.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output -pass-remarks-missed=polly-delicm < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output -pass-remarks-missed=polly-delicm < %s 2>&1 | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reject_outofquota.ll b/polly/test/DeLICM/reject_outofquota.ll index 9bc6bf1f23733..9b7f8e5f97af3 100644 --- a/polly/test/DeLICM/reject_outofquota.ll +++ b/polly/test/DeLICM/reject_outofquota.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-analysis=polly-delicm -polly-delicm-max-ops=1 -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=polly-delicm,print' -polly-delicm-max-ops=1 -polly-dependences-computeout=0 -disable-output < %s | FileCheck %s -check-prefix=DEP +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -pass-remarks-analysis=polly-delicm -polly-delicm-max-ops=1 -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -polly-delicm-max-ops=1 -polly-dependences-computeout=0 -disable-output < %s | FileCheck %s -check-prefix=DEP ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reject_storeafterstore.ll b/polly/test/DeLICM/reject_storeafterstore.ll index ddd13dad2ed31..0fea4d7bb3960 100644 --- a/polly/test/DeLICM/reject_storeafterstore.ll +++ b/polly/test/DeLICM/reject_storeafterstore.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reject_storeinsubregion.ll b/polly/test/DeLICM/reject_storeinsubregion.ll index c987156b51cd1..0b75c16495c5c 100644 --- a/polly/test/DeLICM/reject_storeinsubregion.ll +++ b/polly/test/DeLICM/reject_storeinsubregion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/reject_unusualstore.ll b/polly/test/DeLICM/reject_unusualstore.ll index 342888c6654f4..311a7351c955b 100644 --- a/polly/test/DeLICM/reject_unusualstore.ll +++ b/polly/test/DeLICM/reject_unusualstore.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -passes=polly-delicm -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=STATS +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-delicm -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=STATS ; REQUIRES: asserts ; ; void func(double *A) { diff --git a/polly/test/DeLICM/skip_maywrite.ll b/polly/test/DeLICM/skip_maywrite.ll index 0d30791cd94e7..14de2b9d0bf84 100644 --- a/polly/test/DeLICM/skip_maywrite.ll +++ b/polly/test/DeLICM/skip_maywrite.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeLICM/skip_multiaccess.ll b/polly/test/DeLICM/skip_multiaccess.ll index a7c79f7524630..a213a91343f3d 100644 --- a/polly/test/DeLICM/skip_multiaccess.ll +++ b/polly/test/DeLICM/skip_multiaccess.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-delicm -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; llvm.org/PR34485 ; llvm.org/PR34989 diff --git a/polly/test/DeLICM/skip_notinloop.ll b/polly/test/DeLICM/skip_notinloop.ll index 8e265e19aefea..3a2dede210083 100644 --- a/polly/test/DeLICM/skip_notinloop.ll +++ b/polly/test/DeLICM/skip_notinloop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; void func(double *A) { ; double phi = 0.0; diff --git a/polly/test/DeLICM/skip_scalaraccess.ll b/polly/test/DeLICM/skip_scalaraccess.ll index 2cf13afe11cdf..a0ed9f76a8ca2 100644 --- a/polly/test/DeLICM/skip_scalaraccess.ll +++ b/polly/test/DeLICM/skip_scalaraccess.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -pass-remarks-missed=polly-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; void func(double *A) { ; for (int j = 0; j < 2; j += 1) { /* outer */ diff --git a/polly/test/DeadCodeElimination/chained_iterations.ll b/polly/test/DeadCodeElimination/chained_iterations.ll index f3bf07bb40d83..f1e47075e2f74 100644 --- a/polly/test/DeadCodeElimination/chained_iterations.ll +++ b/polly/test/DeadCodeElimination/chained_iterations.ll @@ -1,5 +1,5 @@ -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-dce,print' -disable-output < %s | FileCheck %s -check-prefix=CHECK-DCE +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=CHECK-DCE target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; ; for(i = 0; i < 200; i++ ) diff --git a/polly/test/DeadCodeElimination/chained_iterations_2.ll b/polly/test/DeadCodeElimination/chained_iterations_2.ll index 52f034f0e56ca..6ecc07c0f7d21 100644 --- a/polly/test/DeadCodeElimination/chained_iterations_2.ll +++ b/polly/test/DeadCodeElimination/chained_iterations_2.ll @@ -1,5 +1,5 @@ -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-dce,print' -disable-output < %s | FileCheck %s -check-prefix=CHECK-DCE +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=CHECK-DCE target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; ; for(i = 0; i < 200; i++ ) diff --git a/polly/test/DeadCodeElimination/computeout.ll b/polly/test/DeadCodeElimination/computeout.ll index e54df42ed1db0..b43142be2a5c8 100644 --- a/polly/test/DeadCodeElimination/computeout.ll +++ b/polly/test/DeadCodeElimination/computeout.ll @@ -1,5 +1,5 @@ -; RUN: opt -S %loadNPMPolly "-passes=scop(polly-dce,print)" < %s | FileCheck %s -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa "-passes=scop(polly-dce,print)" -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s -check-prefix=TIMEOUT +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-ast < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s -check-prefix=TIMEOUT target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for(i = 0; i < 100; i++ ) diff --git a/polly/test/DeadCodeElimination/dead_iteration_elimination.ll b/polly/test/DeadCodeElimination/dead_iteration_elimination.ll index c102f60abb659..85eea91f99207 100644 --- a/polly/test/DeadCodeElimination/dead_iteration_elimination.ll +++ b/polly/test/DeadCodeElimination/dead_iteration_elimination.ll @@ -1,4 +1,4 @@ -; RUN: opt -S %loadNPMPolly "-passes=scop(polly-dce,print)" -polly-dependences-analysis-type=value-based -polly-dce-precise-steps=2 < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-dependences-analysis-type=value-based -polly-dce-precise-steps=2 < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; ; for(i = 0; i < 200; i++ ) diff --git a/polly/test/DeadCodeElimination/non-affine-affine-mix.ll b/polly/test/DeadCodeElimination/non-affine-affine-mix.ll index 36f55476fed23..21b7c5cf9583b 100644 --- a/polly/test/DeadCodeElimination/non-affine-affine-mix.ll +++ b/polly/test/DeadCodeElimination/non-affine-affine-mix.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-dce,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; void f(int *A) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/DeadCodeElimination/non-affine.ll b/polly/test/DeadCodeElimination/non-affine.ll index ef528b4124c66..86cabe6501393 100644 --- a/polly/test/DeadCodeElimination/non-affine.ll +++ b/polly/test/DeadCodeElimination/non-affine.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-dce,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; CHECK: for (int c0 = 0; c0 <= 1023; c0 += 1) ; diff --git a/polly/test/DeadCodeElimination/null_schedule.ll b/polly/test/DeadCodeElimination/null_schedule.ll index 01d34e95629ba..507d690144e01 100644 --- a/polly/test/DeadCodeElimination/null_schedule.ll +++ b/polly/test/DeadCodeElimination/null_schedule.ll @@ -1,4 +1,4 @@ -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-dce,print' -disable-output < %s | FileCheck %s -check-prefix=CHECK-DCE +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-dependences-analysis-type=value-based '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=CHECK-DCE target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; A[0] = 1; ; diff --git a/polly/test/DependenceInfo/computeout.ll b/polly/test/DependenceInfo/computeout.ll index c2a3456b3dc80..3fdc4008f8474 100644 --- a/polly/test/DependenceInfo/computeout.ll +++ b/polly/test/DependenceInfo/computeout.ll @@ -1,5 +1,5 @@ -; RUN: opt -S %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=VALUE -; RUN: opt -S %loadNPMPolly '-passes=print' -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s -check-prefix=TIMEOUT +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s -check-prefix=VALUE +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-deps -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s -check-prefix=TIMEOUT target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for(i = 0; i < 100; i++ ) diff --git a/polly/test/DependenceInfo/different_schedule_dimensions.ll b/polly/test/DependenceInfo/different_schedule_dimensions.ll index f89791f42f9db..69274f11f567f 100644 --- a/polly/test/DependenceInfo/different_schedule_dimensions.ll +++ b/polly/test/DependenceInfo/different_schedule_dimensions.ll @@ -1,5 +1,4 @@ -; RUN: opt -S %loadNPMPolly '-passes=print' \ -; RUN: -disable-output < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; CHECK: RAW dependences: ; CHECK: { Stmt_bb9[0] -> Stmt_bb10[0] } diff --git a/polly/test/DependenceInfo/do_pluto_matmult.ll b/polly/test/DependenceInfo/do_pluto_matmult.ll index b88cf9bf5475c..2a0027bbc034b 100644 --- a/polly/test/DependenceInfo/do_pluto_matmult.ll +++ b/polly/test/DependenceInfo/do_pluto_matmult.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-dependences-analysis-type=value-based -disable-output < %s | FileCheck %s -check-prefix=VALUE -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-dependences-analysis-type=memory-based -disable-output < %s | FileCheck %s -check-prefix=MEMORY +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-type=value-based -disable-output < %s | FileCheck %s -check-prefix=VALUE +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-type=memory-based -disable-output < %s | FileCheck %s -check-prefix=MEMORY target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/DependenceInfo/fine_grain_dep_0.ll b/polly/test/DependenceInfo/fine_grain_dep_0.ll index 5abbf48136891..06a196822c832 100644 --- a/polly/test/DependenceInfo/fine_grain_dep_0.ll +++ b/polly/test/DependenceInfo/fine_grain_dep_0.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=reference-wise -disable-output < %s | FileCheck %s --check-prefix=REF -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s --check-prefix=ACC +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=reference-wise -disable-output < %s | FileCheck %s --check-prefix=REF +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s --check-prefix=ACC ; REF: RAW dependences: ; REF-NEXT: [N] -> { [Stmt_for_body[i0] -> MemRef_b[]] -> [Stmt_for_body[6 + i0] -> MemRef_b[]] : 0 <= i0 <= -13 + N; Stmt_for_body[i0] -> Stmt_for_body[6 + i0] : 0 <= i0 <= -13 + N; Stmt_for_body[i0] -> Stmt_for_body[4 + i0] : 0 <= i0 <= -11 + N; [Stmt_for_body[i0] -> MemRef_a[]] -> [Stmt_for_body[4 + i0] -> MemRef_a[]] : 0 <= i0 <= -11 + N } diff --git a/polly/test/DependenceInfo/generate_may_write_dependence_info.ll b/polly/test/DependenceInfo/generate_may_write_dependence_info.ll index 677323495476b..9875257694331 100644 --- a/polly/test/DependenceInfo/generate_may_write_dependence_info.ll +++ b/polly/test/DependenceInfo/generate_may_write_dependence_info.ll @@ -1,4 +1,4 @@ -; RUN: opt -S %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=VALUE +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s -check-prefix=VALUE target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" ; for (int i = 0; i < N; i++) { diff --git a/polly/test/DependenceInfo/infeasible_context.ll b/polly/test/DependenceInfo/infeasible_context.ll index cde3102dc3dc9..c9473e614e362 100644 --- a/polly/test/DependenceInfo/infeasible_context.ll +++ b/polly/test/DependenceInfo/infeasible_context.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=FUNC-SCOP -; RUN: opt %loadNPMPolly '-passes=print,scop(print)' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=FUNC-DEPS +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=FUNC-SCOP +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-deps -disable-output < %s 2>&1 | FileCheck %s -check-prefix=FUNC-DEPS ; ; FUNC-SCOP-NOT: Statement ; FUNC-DEPS-NOT: RAW dependences diff --git a/polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll b/polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll index 392a34769cddb..92e6cb89b2a27 100644 --- a/polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll +++ b/polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; Verify that the presence of a may-write (S1) between a read (S0) and a ; must-write (S2) does not block the generation of RAW dependences. This makes diff --git a/polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll b/polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll index ae5fd3beed399..b14759725dde0 100644 --- a/polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll +++ b/polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-allow-nonaffine-loops -polly-allow-nonaffine -debug-only=polly-dependence < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-allow-nonaffine-loops -polly-allow-nonaffine -debug-only=polly-dependence < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; CHECK: MayWriteAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/DependenceInfo/reduction_complex_location.ll b/polly/test/DependenceInfo/reduction_complex_location.ll index 7722ee974c3fa..45789088e57e4 100644 --- a/polly/test/DependenceInfo/reduction_complex_location.ll +++ b/polly/test/DependenceInfo/reduction_complex_location.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -polly-dependences-analysis-level=reference-wise -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-level=reference-wise -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { } diff --git a/polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll b/polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll index 840d1f32dca39..7923975118bb9 100644 --- a/polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll +++ b/polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; This loopnest contains a reduction which imposes the same dependences as the ; accesses to the array A. We need to ensure we keep the dependences of A. diff --git a/polly/test/DependenceInfo/reduction_dependences_not_null.ll b/polly/test/DependenceInfo/reduction_dependences_not_null.ll index 56d84a9aec6d6..fdcd5f311800d 100644 --- a/polly/test/DependenceInfo/reduction_dependences_not_null.ll +++ b/polly/test/DependenceInfo/reduction_dependences_not_null.ll @@ -1,7 +1,7 @@ ; Test that the reduction dependences are always initialised, even in a case ; where we have no reduction. If this object is NULL, then isl operations on ; it will fail. -; RUN: opt -S %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -check-prefix=VALUE +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s -check-prefix=VALUE target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for(i = 0; i < 100; i++ ) diff --git a/polly/test/DependenceInfo/reduction_indirect_access.ll b/polly/test/DependenceInfo/reduction_indirect_access.ll index 3b4bd9ef04b5a..13675ada39b0e 100644 --- a/polly/test/DependenceInfo/reduction_indirect_access.ll +++ b/polly/test/DependenceInfo/reduction_indirect_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-allow-nonaffine -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -polly-allow-nonaffine -disable-output < %s | FileCheck %s ; ; CHECK: Reduction dependences: ; CHECK: [N] -> { Stmt_for_body[i0] -> Stmt_for_body[1 + i0] : 0 <= i0 <= -2 + N } diff --git a/polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll b/polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll index 76c7fc64ae89c..e6ce425719ca9 100644 --- a/polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll +++ b/polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { Stmt_for_body3[i0, i1] -> Stmt_for_body3[i0 + i1, o1] : i0 >= 0 and 0 <= i1 <= 1023 - i0 and i1 <= 1 and 0 < o1 <= 511 } diff --git a/polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll b/polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll index 02b814a0d7c04..820371937a582 100644 --- a/polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll +++ b/polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll @@ -1,6 +1,6 @@ -; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=print' -polly-dependences-analysis-level=reference-wise -disable-output < %s | FileCheck %s -; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=print' -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-level=reference-wise -disable-output < %s | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s ; ; Verify that only the inner reduction like accesses cause reduction dependences ; diff --git a/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll b/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll index 91bd35deebd06..9792f791c6989 100644 --- a/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll +++ b/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { } diff --git a/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll b/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll index 040d513782392..9bde285c64516 100644 --- a/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll +++ b/polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s ; ; CHECK: Reduction dependences: ; CHECK-NEXT: { Stmt_for_inc[i0, i1] -> Stmt_for_inc[i0, 1 + i1] : 0 <= i0 <= 99 and 0 <= i1 <= 98 } diff --git a/polly/test/DependenceInfo/reduction_multiple_reductions.ll b/polly/test/DependenceInfo/reduction_multiple_reductions.ll index 527a8cfc3556e..ac3adb9065462 100644 --- a/polly/test/DependenceInfo/reduction_multiple_reductions.ll +++ b/polly/test/DependenceInfo/reduction_multiple_reductions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; Verify we do not have dependences between the if and the else clause ; diff --git a/polly/test/DependenceInfo/reduction_multiple_reductions_2.ll b/polly/test/DependenceInfo/reduction_multiple_reductions_2.ll index fb5fd96a2e426..16ca85bff9502 100644 --- a/polly/test/DependenceInfo/reduction_multiple_reductions_2.ll +++ b/polly/test/DependenceInfo/reduction_multiple_reductions_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; ; These are the important RAW dependences, as they need to originate/end in only one iteration: diff --git a/polly/test/DependenceInfo/reduction_only_reduction_like_access.ll b/polly/test/DependenceInfo/reduction_only_reduction_like_access.ll index 3ec3920268b49..de506a39485cc 100644 --- a/polly/test/DependenceInfo/reduction_only_reduction_like_access.ll +++ b/polly/test/DependenceInfo/reduction_only_reduction_like_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; FIXME: Change the comment once we allow different pointers ; The statement is "almost" reduction like but should not yield any reduction dependences diff --git a/polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll b/polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll index 23bd8ef25bd7a..fbf1409a1ba30 100644 --- a/polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll +++ b/polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s ; ; CHECK: Reduction dependences: ; CHECK-NEXT: [N] -> { Stmt_for_body3[i0, i1] -> Stmt_for_body3[i0, 1 + i1] : 0 <= i0 <= 1023 and i1 >= 0 and 1024 - N + i0 <= i1 <= 1022 } diff --git a/polly/test/DependenceInfo/reduction_privatization_deps.ll b/polly/test/DependenceInfo/reduction_privatization_deps.ll index 0e0f71737ffd3..0d66f885cd42d 100644 --- a/polly/test/DependenceInfo/reduction_privatization_deps.ll +++ b/polly/test/DependenceInfo/reduction_privatization_deps.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { Stmt_S1[i0, i1] -> Stmt_S2[-1 + i0 + i1] : 0 <= i0 <= 1023 and i1 >= 0 and -i0 < i1 <= 1024 - i0 and i1 <= 1023; Stmt_S0[i0] -> Stmt_S1[o0, i0 - o0] : i0 <= 1023 and 0 <= o0 <= i0 } diff --git a/polly/test/DependenceInfo/reduction_privatization_deps_2.ll b/polly/test/DependenceInfo/reduction_privatization_deps_2.ll index cafa319e2cc7b..81235d6cf02e4 100644 --- a/polly/test/DependenceInfo/reduction_privatization_deps_2.ll +++ b/polly/test/DependenceInfo/reduction_privatization_deps_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; We have privatization dependences from a textually later statement to a ; textually earlier one, but the dependences still go forward in time. diff --git a/polly/test/DependenceInfo/reduction_privatization_deps_3.ll b/polly/test/DependenceInfo/reduction_privatization_deps_3.ll index d86da92fbcab8..6b48ab5afd155 100644 --- a/polly/test/DependenceInfo/reduction_privatization_deps_3.ll +++ b/polly/test/DependenceInfo/reduction_privatization_deps_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { Stmt_S1[i0] -> Stmt_S3[2 + i0] : 0 <= i0 <= 96; Stmt_S2[i0, i1] -> Stmt_S3[o0] : i1 <= 1 - i0 and -i1 < o0 <= 1 and o0 <= 1 + i0 - i1; Stmt_S3[i0] -> Stmt_S2[o0, 1 - i0] : 0 <= i0 <= 1 and i0 < o0 <= 98 } diff --git a/polly/test/DependenceInfo/reduction_privatization_deps_4.ll b/polly/test/DependenceInfo/reduction_privatization_deps_4.ll index d84c04fc309b0..1fef004c4c47a 100644 --- a/polly/test/DependenceInfo/reduction_privatization_deps_4.ll +++ b/polly/test/DependenceInfo/reduction_privatization_deps_4.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { Stmt_S1[i0] -> Stmt_S2[i0, i0] : 0 <= i0 <= 98; Stmt_S2[i0, i0] -> Stmt_S3[i0] : 0 <= i0 <= 98; Stmt_S3[i0] -> Stmt_S2[o0, i0] : i0 >= 0 and i0 < o0 <= 98; Stmt_S2[i0, i1] -> Stmt_S1[i1] : i0 >= 0 and i0 < i1 <= 98 } diff --git a/polly/test/DependenceInfo/reduction_privatization_deps_5.ll b/polly/test/DependenceInfo/reduction_privatization_deps_5.ll index 592c7238c3c59..f40a7c07a3ba4 100644 --- a/polly/test/DependenceInfo/reduction_privatization_deps_5.ll +++ b/polly/test/DependenceInfo/reduction_privatization_deps_5.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { Stmt_S1[i0, 0] -> Stmt_S2[i0, 0] : 0 <= i0 <= 98; Stmt_S2[i0, 0] -> Stmt_S1[1 + i0, 0] : 0 <= i0 <= 97 } diff --git a/polly/test/DependenceInfo/reduction_sequence.ll b/polly/test/DependenceInfo/reduction_sequence.ll index 7ce9d37d395bb..d881a99adc226 100644 --- a/polly/test/DependenceInfo/reduction_sequence.ll +++ b/polly/test/DependenceInfo/reduction_sequence.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; void manyreductions(long *A) { ; for (long i = 0; i < 1024; i++) diff --git a/polly/test/DependenceInfo/reduction_simple_iv.ll b/polly/test/DependenceInfo/reduction_simple_iv.ll index d13d14ecaad92..b811d1593ab02 100644 --- a/polly/test/DependenceInfo/reduction_simple_iv.ll +++ b/polly/test/DependenceInfo/reduction_simple_iv.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { } diff --git a/polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll b/polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll index 4c97fbb1aacb7..0a5d36f9b9f79 100644 --- a/polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll +++ b/polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -debug-only=polly-dependence -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -debug-only=polly-dependence -disable-output < %s 2>&1 | FileCheck %s ; ; REQUIRES: asserts ; diff --git a/polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll b/polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll index 804005cf72a72..90f9d76ef57b2 100644 --- a/polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll +++ b/polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { Stmt_S1[i0, i1] -> Stmt_S2[i0] : 0 <= i0 <= 99 and 0 <= i1 <= 99; Stmt_S0[i0] -> Stmt_S1[i0, o1] : 0 <= i0 <= 99 and 0 <= o1 <= 99; Stmt_S2[i0] -> Stmt_S0[1 + i0] : 0 <= i0 <= 98 } diff --git a/polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll b/polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll index 9596827b4cbbf..2b194bbb51988 100644 --- a/polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll +++ b/polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: [N] -> { Stmt_S1[i0] -> Stmt_S2[] : N >= 11 and 0 <= i0 <= 1023; Stmt_S0[] -> Stmt_S1[o0] : N >= 11 and 0 <= o0 <= 1023 } diff --git a/polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll b/polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll index d67683d11a4b3..70d5bdf64059d 100644 --- a/polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll +++ b/polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s ; ; CHECK: RAW dependences: ; CHECK-NEXT: { } diff --git a/polly/test/DependenceInfo/sequential_loops.ll b/polly/test/DependenceInfo/sequential_loops.ll index 6ae7200303321..023c2d4f29f37 100644 --- a/polly/test/DependenceInfo/sequential_loops.ll +++ b/polly/test/DependenceInfo/sequential_loops.ll @@ -1,6 +1,6 @@ -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-dependences-analysis-type=value-based -disable-output < %s | FileCheck %s -check-prefix=VALUE -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-dependences-analysis-type=memory-based -disable-output < %s | FileCheck %s -check-prefix=MEMORY -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s -check-prefix=VALUE_ACCESS +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-type=value-based -disable-output < %s | FileCheck %s -check-prefix=VALUE +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-type=memory-based -disable-output < %s | FileCheck %s -check-prefix=MEMORY +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-deps -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-wise -disable-output < %s | FileCheck %s -check-prefix=VALUE_ACCESS ; VALUE: RAW dependences: ; VALUE-NEXT: { } diff --git a/polly/test/FlattenSchedule/gemm.ll b/polly/test/FlattenSchedule/gemm.ll index b20293bd315a3..11dc40599bb0e 100644 --- a/polly/test/FlattenSchedule/gemm.ll +++ b/polly/test/FlattenSchedule/gemm.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-flatten-schedule -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-flatten-schedule -disable-output < %s | FileCheck %s ; ; dgemm kernel ; C := alpha*A*B + beta*C diff --git a/polly/test/ForwardOpTree/atax.ll b/polly/test/ForwardOpTree/atax.ll index 6c81fb12e8cdc..3dfe3fa0aa8e6 100644 --- a/polly/test/ForwardOpTree/atax.ll +++ b/polly/test/ForwardOpTree/atax.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-optree-normalize-phi=true '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-optree-normalize-phi=true '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ForwardOpTree/changed-kind.ll b/polly/test/ForwardOpTree/changed-kind.ll index b9081f3734044..ec8869da3ae57 100644 --- a/polly/test/ForwardOpTree/changed-kind.ll +++ b/polly/test/ForwardOpTree/changed-kind.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; In the code below, %0 is known to be equal to the content of @c (constant 0). ; Thus, in order to save a scalar dependency, forward-optree replaces diff --git a/polly/test/ForwardOpTree/forward_from_region.ll b/polly/test/ForwardOpTree/forward_from_region.ll index 767a580dccf95..de47bc4df0076 100644 --- a/polly/test/ForwardOpTree/forward_from_region.ll +++ b/polly/test/ForwardOpTree/forward_from_region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Move instructions from region statements. ; diff --git a/polly/test/ForwardOpTree/forward_hoisted.ll b/polly/test/ForwardOpTree/forward_hoisted.ll index 5d0b0a884b761..39f99545b01ac 100644 --- a/polly/test/ForwardOpTree/forward_hoisted.ll +++ b/polly/test/ForwardOpTree/forward_hoisted.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Move %val to %bodyB, so %bodyA can be removed (by -polly-simplify). ; This involves making the load-hoisted %val1 to be made available in %bodyB. diff --git a/polly/test/ForwardOpTree/forward_instruction.ll b/polly/test/ForwardOpTree/forward_instruction.ll index 50a9b07b8a05b..a9f5d3d85ac0a 100644 --- a/polly/test/ForwardOpTree/forward_instruction.ll +++ b/polly/test/ForwardOpTree/forward_instruction.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Move %val to %bodyB, so %bodyA can be removed (by -polly-simplify) ; diff --git a/polly/test/ForwardOpTree/forward_into_region.ll b/polly/test/ForwardOpTree/forward_into_region.ll index ef71b11dc5716..2279a89cfaeb7 100644 --- a/polly/test/ForwardOpTree/forward_into_region.ll +++ b/polly/test/ForwardOpTree/forward_into_region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Move instructions to region statements. ; diff --git a/polly/test/ForwardOpTree/forward_into_region_redundant_use.ll b/polly/test/ForwardOpTree/forward_into_region_redundant_use.ll index 1c585446ae63a..f7901e1ccf8fd 100644 --- a/polly/test/ForwardOpTree/forward_into_region_redundant_use.ll +++ b/polly/test/ForwardOpTree/forward_into_region_redundant_use.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; define void @foo(ptr %A, i32 %p, ptr %B) { diff --git a/polly/test/ForwardOpTree/forward_load.ll b/polly/test/ForwardOpTree/forward_load.ll index 0bba41833fb19..860e603ef47d2 100644 --- a/polly/test/ForwardOpTree/forward_load.ll +++ b/polly/test/ForwardOpTree/forward_load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Rematerialize a load. ; diff --git a/polly/test/ForwardOpTree/forward_load_differentarray.ll b/polly/test/ForwardOpTree/forward_load_differentarray.ll index 364bf3ef37133..24b008cfae384 100644 --- a/polly/test/ForwardOpTree/forward_load_differentarray.ll +++ b/polly/test/ForwardOpTree/forward_load_differentarray.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; To forward %val, B[j] cannot be reused in bodyC because it is overwritten ; between. Verify that instead the alternative C[j] is used. diff --git a/polly/test/ForwardOpTree/forward_load_double_write.ll b/polly/test/ForwardOpTree/forward_load_double_write.ll index 4c30c7f8da56f..522e803b2d0a0 100644 --- a/polly/test/ForwardOpTree/forward_load_double_write.ll +++ b/polly/test/ForwardOpTree/forward_load_double_write.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Rematerialize a load even in case two writes of identical values are in ; one scop statement. diff --git a/polly/test/ForwardOpTree/forward_load_fromloop.ll b/polly/test/ForwardOpTree/forward_load_fromloop.ll index 1494e872a8942..5c64221d882b9 100644 --- a/polly/test/ForwardOpTree/forward_load_fromloop.ll +++ b/polly/test/ForwardOpTree/forward_load_fromloop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Forward a the LoadInst %val into %bodyB. %val is executed multiple times, ; we must get the last loaded values. diff --git a/polly/test/ForwardOpTree/forward_load_indirect.ll b/polly/test/ForwardOpTree/forward_load_indirect.ll index 51ce94d267277..5b06c357f02ba 100644 --- a/polly/test/ForwardOpTree/forward_load_indirect.ll +++ b/polly/test/ForwardOpTree/forward_load_indirect.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Forward an operand tree consisting of a speculatable instruction (%add) ; and a load (%val). diff --git a/polly/test/ForwardOpTree/forward_load_memset_after.ll b/polly/test/ForwardOpTree/forward_load_memset_after.ll index bd2cad411eccf..b889783d531e6 100644 --- a/polly/test/ForwardOpTree/forward_load_memset_after.ll +++ b/polly/test/ForwardOpTree/forward_load_memset_after.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Rematerialize a load in the presence of a non-store WRITE access. ; diff --git a/polly/test/ForwardOpTree/forward_load_memset_before.ll b/polly/test/ForwardOpTree/forward_load_memset_before.ll index 3e89dea37775c..c8f0e0e5814fb 100644 --- a/polly/test/ForwardOpTree/forward_load_memset_before.ll +++ b/polly/test/ForwardOpTree/forward_load_memset_before.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Rematerialize a load in the presence of a non-store WRITE access. ; diff --git a/polly/test/ForwardOpTree/forward_load_tripleuse.ll b/polly/test/ForwardOpTree/forward_load_tripleuse.ll index 7526a8313945d..df57bf70cc53b 100644 --- a/polly/test/ForwardOpTree/forward_load_tripleuse.ll +++ b/polly/test/ForwardOpTree/forward_load_tripleuse.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print,polly-codegen' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; %val1 is used three times: Twice by its own operand tree of %val2 and once ; more by the store in %bodyB. diff --git a/polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll b/polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll index daf289d8b0da1..ba84a1a16748f 100644 --- a/polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll +++ b/polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Rematerialize a load. ; The non-analyzable store to C[0] is unrelated and can be ignored. diff --git a/polly/test/ForwardOpTree/forward_phi_load.ll b/polly/test/ForwardOpTree/forward_phi_load.ll index 1457aa96e2de7..c763af4269c89 100644 --- a/polly/test/ForwardOpTree/forward_phi_load.ll +++ b/polly/test/ForwardOpTree/forward_phi_load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-optree-normalize-phi=true '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-optree-normalize-phi=true '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Rematerialize a load. ; diff --git a/polly/test/ForwardOpTree/forward_readonly.ll b/polly/test/ForwardOpTree/forward_readonly.ll index 646121c4efeff..69c7f10be4e56 100644 --- a/polly/test/ForwardOpTree/forward_readonly.ll +++ b/polly/test/ForwardOpTree/forward_readonly.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=true '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines -check-prefixes=STATS,MODEL -; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=false '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines -check-prefixes=STATS,NOMODEL +; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=true '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines -check-prefixes=STATS,MODEL +; RUN: opt %loadNPMPolly -polly-analyze-read-only-scalars=false '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines -check-prefixes=STATS,NOMODEL ; ; Move %val to %bodyB, so %bodyA can be removed (by -polly-simplify) ; diff --git a/polly/test/ForwardOpTree/forward_reusue.ll b/polly/test/ForwardOpTree/forward_reusue.ll index d8ad31782ecb9..e39e7b51dc689 100644 --- a/polly/test/ForwardOpTree/forward_reusue.ll +++ b/polly/test/ForwardOpTree/forward_reusue.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Move operand tree without duplicating values used multiple times. ; diff --git a/polly/test/ForwardOpTree/forward_store.ll b/polly/test/ForwardOpTree/forward_store.ll index 17cb8b395eb30..8cd6e2446ff93 100644 --- a/polly/test/ForwardOpTree/forward_store.ll +++ b/polly/test/ForwardOpTree/forward_store.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Rematerialize a load. ; diff --git a/polly/test/ForwardOpTree/forward_synthesizable_definloop.ll b/polly/test/ForwardOpTree/forward_synthesizable_definloop.ll index 57b68180bb121..f70965f3c5d1b 100644 --- a/polly/test/ForwardOpTree/forward_synthesizable_definloop.ll +++ b/polly/test/ForwardOpTree/forward_synthesizable_definloop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Copy %val to bodyB, assuming the exit value of %i. ; diff --git a/polly/test/ForwardOpTree/forward_synthesizable_indvar.ll b/polly/test/ForwardOpTree/forward_synthesizable_indvar.ll index b4828e4c2c423..c95c45856ac36 100644 --- a/polly/test/ForwardOpTree/forward_synthesizable_indvar.ll +++ b/polly/test/ForwardOpTree/forward_synthesizable_indvar.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Test support for (synthesizable) inducation variables. ; diff --git a/polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll b/polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll index 3228bb60d2ca2..14fb8d8dcc0ab 100644 --- a/polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll +++ b/polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Synthesizable values defined outside of a loop can be used ; inside the loop. diff --git a/polly/test/ForwardOpTree/forward_transitive.ll b/polly/test/ForwardOpTree/forward_transitive.ll index aacf1358648f5..7b55d9e0cf9b2 100644 --- a/polly/test/ForwardOpTree/forward_transitive.ll +++ b/polly/test/ForwardOpTree/forward_transitive.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Move %v and %val to %bodyB, so %bodyA can be removed (by -polly-simplify) ; diff --git a/polly/test/ForwardOpTree/jacobi-1d.ll b/polly/test/ForwardOpTree/jacobi-1d.ll index cb035bb749c7b..3bc504d88c0eb 100644 --- a/polly/test/ForwardOpTree/jacobi-1d.ll +++ b/polly/test/ForwardOpTree/jacobi-1d.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-optree-normalize-phi=true '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-optree-normalize-phi=true '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ForwardOpTree/noforward_from_region.ll b/polly/test/ForwardOpTree/noforward_from_region.ll index bd5864c25f543..0729241c3f7d9 100644 --- a/polly/test/ForwardOpTree/noforward_from_region.ll +++ b/polly/test/ForwardOpTree/noforward_from_region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Ensure we do not move instructions from region statements in case the ; instruction to move loads from an array which is also written to from diff --git a/polly/test/ForwardOpTree/noforward_load_conditional.ll b/polly/test/ForwardOpTree/noforward_load_conditional.ll index 5474e740de800..d33ef99ae6bed 100644 --- a/polly/test/ForwardOpTree/noforward_load_conditional.ll +++ b/polly/test/ForwardOpTree/noforward_load_conditional.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; B[j] is overwritten by at least one statement between the ; definition of %val and its use. Hence, it cannot be forwarded. diff --git a/polly/test/ForwardOpTree/noforward_load_writebetween.ll b/polly/test/ForwardOpTree/noforward_load_writebetween.ll index 697c940be4fdd..e7deb381de87a 100644 --- a/polly/test/ForwardOpTree/noforward_load_writebetween.ll +++ b/polly/test/ForwardOpTree/noforward_load_writebetween.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Cannot rematerialize %val from B[0] at bodyC because B[0] has been ; overwritten in bodyB. diff --git a/polly/test/ForwardOpTree/noforward_outofquota.ll b/polly/test/ForwardOpTree/noforward_outofquota.ll index 306bb8d7558d1..5e30cf88de4cf 100644 --- a/polly/test/ForwardOpTree/noforward_outofquota.ll +++ b/polly/test/ForwardOpTree/noforward_outofquota.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-optree-max-ops=1 '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines -; RUN: opt %loadNPMPolly -polly-optree-max-ops=1 -passes=polly-optree -disable-output -stats < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=STATS +; RUN: opt %loadNPMPolly -polly-optree-max-ops=1 '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-optree-max-ops=1 '-passes=polly-custom' -disable-output -stats < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=STATS ; REQUIRES: asserts ; ; for (int j = 0; j < n; j += 1) { diff --git a/polly/test/ForwardOpTree/noforward_partial.ll b/polly/test/ForwardOpTree/noforward_partial.ll index edb5d34801cc5..f95bb77f70b67 100644 --- a/polly/test/ForwardOpTree/noforward_partial.ll +++ b/polly/test/ForwardOpTree/noforward_partial.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Not the entire operand tree can be forwarded, ; some scalar dependencies would remain. diff --git a/polly/test/ForwardOpTree/noforward_phi.ll b/polly/test/ForwardOpTree/noforward_phi.ll index 755abad4336ef..025fe64724151 100644 --- a/polly/test/ForwardOpTree/noforward_phi.ll +++ b/polly/test/ForwardOpTree/noforward_phi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Do not move PHI nodes. ; diff --git a/polly/test/ForwardOpTree/noforward_selfrefphi.ll b/polly/test/ForwardOpTree/noforward_selfrefphi.ll index be7e82f726331..8b30137858243 100644 --- a/polly/test/ForwardOpTree/noforward_selfrefphi.ll +++ b/polly/test/ForwardOpTree/noforward_selfrefphi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-optree-normalize-phi=true '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-optree-normalize-phi=true '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Contains a self-referencing PHINode that would require a ; transitive closure to handle. diff --git a/polly/test/ForwardOpTree/noforward_sideffects.ll b/polly/test/ForwardOpTree/noforward_sideffects.ll index c01b72a1c1420..179b02a259025 100644 --- a/polly/test/ForwardOpTree/noforward_sideffects.ll +++ b/polly/test/ForwardOpTree/noforward_sideffects.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Do not forward instructions with side-effects (here: function call). ; diff --git a/polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll b/polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll index 776d848072a23..6baec6d9e1c6c 100644 --- a/polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll +++ b/polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines ; ; Do not try to forward %i.trunc, it is not synthesizable in %body. ; diff --git a/polly/test/ForwardOpTree/out-of-quota1.ll b/polly/test/ForwardOpTree/out-of-quota1.ll index ee3e32698dd02..95df49a5c061a 100644 --- a/polly/test/ForwardOpTree/out-of-quota1.ll +++ b/polly/test/ForwardOpTree/out-of-quota1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-optree -disable-output %s | FileCheck %s ; This used to loop infinitely because of UINT_MAX returned by ISL on out-of-quota. diff --git a/polly/test/IstAstInfo/OpenMP/multiple_loops_outer_parallel.ll b/polly/test/IstAstInfo/OpenMP/multiple_loops_outer_parallel.ll index ec1ccdce94508..a5102b3557f0c 100644 --- a/polly/test/IstAstInfo/OpenMP/multiple_loops_outer_parallel.ll +++ b/polly/test/IstAstInfo/OpenMP/multiple_loops_outer_parallel.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s ; ; void jd(int *A) { ; CHECK: #pragma omp parallel for diff --git a/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel.ll b/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel.ll index 9c00690605408..d086b59f97a5a 100644 --- a/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel.ll +++ b/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for (i = 0; i < 1024; i++) diff --git a/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel_parametric.ll b/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel_parametric.ll index 356762a2ae5b9..49a6b0531de56 100644 --- a/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel_parametric.ll +++ b/polly/test/IstAstInfo/OpenMP/nested_loop_both_parallel_parametric.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; int A[1024][1024]; ; void bar(int n) { diff --git a/polly/test/IstAstInfo/OpenMP/nested_loop_inner_parallel.ll b/polly/test/IstAstInfo/OpenMP/nested_loop_inner_parallel.ll index 066fc39def6ac..d2d7917b08528 100644 --- a/polly/test/IstAstInfo/OpenMP/nested_loop_inner_parallel.ll +++ b/polly/test/IstAstInfo/OpenMP/nested_loop_inner_parallel.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for (i = 0; i < n; i++) diff --git a/polly/test/IstAstInfo/OpenMP/nested_loop_outer_parallel.ll b/polly/test/IstAstInfo/OpenMP/nested_loop_outer_parallel.ll index 77dd55cb7605e..c03189a211256 100644 --- a/polly/test/IstAstInfo/OpenMP/nested_loop_outer_parallel.ll +++ b/polly/test/IstAstInfo/OpenMP/nested_loop_outer_parallel.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for (i = 0; i < n; i++) diff --git a/polly/test/IstAstInfo/OpenMP/single_loop_param_non_parallel.ll b/polly/test/IstAstInfo/OpenMP/single_loop_param_non_parallel.ll index b61ebc9379b7f..6829211cc76b9 100644 --- a/polly/test/IstAstInfo/OpenMP/single_loop_param_non_parallel.ll +++ b/polly/test/IstAstInfo/OpenMP/single_loop_param_non_parallel.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for (i = 0; i < n; i++) diff --git a/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel.ll b/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel.ll index 5c92a91681867..7199a337d8a4f 100644 --- a/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel.ll +++ b/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for (i = 0; i < n; i++) diff --git a/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel_computeout.ll b/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel_computeout.ll index 352d879199675..41d35bfdb3631 100644 --- a/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel_computeout.ll +++ b/polly/test/IstAstInfo/OpenMP/single_loop_param_parallel_computeout.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-parallel -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-parallel -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for (i = 0; i < n; i++) diff --git a/polly/test/IstAstInfo/alias_checks_with_empty_context.ll b/polly/test/IstAstInfo/alias_checks_with_empty_context.ll index 81c29536010b6..356269cefad36 100644 --- a/polly/test/IstAstInfo/alias_checks_with_empty_context.ll +++ b/polly/test/IstAstInfo/alias_checks_with_empty_context.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/polly/test/IstAstInfo/alias_simple_1.ll b/polly/test/IstAstInfo/alias_simple_1.ll index 904f55dc32ce4..039c5f74fabfe 100644 --- a/polly/test/IstAstInfo/alias_simple_1.ll +++ b/polly/test/IstAstInfo/alias_simple_1.ll @@ -1,8 +1,8 @@ -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s --check-prefix=BASI -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=scev-aa -disable-output < %s | FileCheck %s --check-prefix=SCEV -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=globals-aa -disable-output < %s | FileCheck %s --check-prefix=GLOB +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s --check-prefix=BASI +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=scev-aa -disable-output < %s | FileCheck %s --check-prefix=SCEV +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=globals-aa -disable-output < %s | FileCheck %s --check-prefix=GLOB ; ; int A[1024]; ; diff --git a/polly/test/IstAstInfo/alias_simple_2.ll b/polly/test/IstAstInfo/alias_simple_2.ll index 5fae579995b23..1783a04f02be9 100644 --- a/polly/test/IstAstInfo/alias_simple_2.ll +++ b/polly/test/IstAstInfo/alias_simple_2.ll @@ -1,9 +1,9 @@ -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s --check-prefix=BASI -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=scev-aa -disable-output < %s | FileCheck %s --check-prefix=SCEV -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=globals-aa -disable-output < %s | FileCheck %s --check-prefix=GLOB -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=globals-aa -polly-allow-nonaffine -disable-output < %s | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s --check-prefix=BASI +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=scev-aa -disable-output < %s | FileCheck %s --check-prefix=SCEV +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=globals-aa -disable-output < %s | FileCheck %s --check-prefix=GLOB +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=globals-aa -polly-allow-nonaffine -disable-output < %s | FileCheck %s --check-prefix=NONAFFINE ; ; int A[1024], B[1024]; ; diff --git a/polly/test/IstAstInfo/alias_simple_3.ll b/polly/test/IstAstInfo/alias_simple_3.ll index 8599c29934744..8d507fb82cb2d 100644 --- a/polly/test/IstAstInfo/alias_simple_3.ll +++ b/polly/test/IstAstInfo/alias_simple_3.ll @@ -1,8 +1,8 @@ -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s --check-prefix=BASI -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=scev-aa -disable-output < %s | FileCheck %s --check-prefix=SCEV -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=globals-aa -disable-output < %s | FileCheck %s --check-prefix=GLOB +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=basic-aa -disable-output < %s | FileCheck %s --check-prefix=BASI +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=scev-aa -disable-output < %s | FileCheck %s --check-prefix=SCEV +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=globals-aa -disable-output < %s | FileCheck %s --check-prefix=GLOB ; ; int A[1024]; ; float B[1024]; diff --git a/polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll b/polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll index dc21dc1f96a48..01b5372917358 100644 --- a/polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll +++ b/polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output -polly-invariant-load-hoisting < %s | FileCheck %s ; CHECK: if (1 && 1 && (&MemRef_X[1] <= &MemRef_BaseA[0] || &MemRef_BaseA[1024] <= &MemRef_X[0]) && (&MemRef_X[1] <= &MemRef_BaseB[0] || &MemRef_BaseB[1024] <= &MemRef_X[0])) diff --git a/polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll b/polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll index 8d4adfa405f07..3835c23fecddb 100644 --- a/polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll +++ b/polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA -; RUN: opt %loadNPMPolly '-passes=print' -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline= -disable-output < %s | FileCheck %s --check-prefix=NOAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -aa-pipeline=tbaa -disable-output < %s | FileCheck %s --check-prefix=TBAA ; ; void jd(int *Int0, int *Int1, float *Float0, float *Float1) { ; for (int i = 0; i < 1024; i++) { diff --git a/polly/test/IstAstInfo/aliasing_parametric_simple_1.ll b/polly/test/IstAstInfo/aliasing_parametric_simple_1.ll index be37b27b6e375..71bac9a2bb141 100644 --- a/polly/test/IstAstInfo/aliasing_parametric_simple_1.ll +++ b/polly/test/IstAstInfo/aliasing_parametric_simple_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output %s | FileCheck %s ; ; void jd(int *A, int *B, int c) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/IstAstInfo/aliasing_parametric_simple_2.ll b/polly/test/IstAstInfo/aliasing_parametric_simple_2.ll index 15550583340db..e5ece1f57a85e 100644 --- a/polly/test/IstAstInfo/aliasing_parametric_simple_2.ll +++ b/polly/test/IstAstInfo/aliasing_parametric_simple_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; void jd(int *A, int *B, int c) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/IstAstInfo/dependence_distance_constant.ll b/polly/test/IstAstInfo/dependence_distance_constant.ll index 9b7fb93f2f676..43b13eef9a95b 100644 --- a/polly/test/IstAstInfo/dependence_distance_constant.ll +++ b/polly/test/IstAstInfo/dependence_distance_constant.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; void f(int *A, int N) { ; CHECK: #pragma minimal dependence distance: 1 diff --git a/polly/test/IstAstInfo/dependence_distance_minimal.ll b/polly/test/IstAstInfo/dependence_distance_minimal.ll index d69cc3f9fc3f8..35a503ce7eb8d 100644 --- a/polly/test/IstAstInfo/dependence_distance_minimal.ll +++ b/polly/test/IstAstInfo/dependence_distance_minimal.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; The minimal dependence distance of the innermost loop should be 1 instead of 250. ; CHECK: #pragma minimal dependence distance: 1 diff --git a/polly/test/IstAstInfo/dependence_distance_multiple_constant.ll b/polly/test/IstAstInfo/dependence_distance_multiple_constant.ll index bc21e9e07ad89..a7de5c4876385 100644 --- a/polly/test/IstAstInfo/dependence_distance_multiple_constant.ll +++ b/polly/test/IstAstInfo/dependence_distance_multiple_constant.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-stmt-granularity=bb -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; void f(int *restrict A, int *restrict B, int N) { ; CHECK: #pragma minimal dependence distance: 5 diff --git a/polly/test/IstAstInfo/dependence_distance_parametric.ll b/polly/test/IstAstInfo/dependence_distance_parametric.ll index fa569a8386b86..fa05e4c889031 100644 --- a/polly/test/IstAstInfo/dependence_distance_parametric.ll +++ b/polly/test/IstAstInfo/dependence_distance_parametric.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; void f(int *A, int N, int c) { ; CHECK: #pragma minimal dependence distance: 1 diff --git a/polly/test/IstAstInfo/dependence_distance_parametric_expr.ll b/polly/test/IstAstInfo/dependence_distance_parametric_expr.ll index 7f280e0c542ca..73f74b3bce0b1 100644 --- a/polly/test/IstAstInfo/dependence_distance_parametric_expr.ll +++ b/polly/test/IstAstInfo/dependence_distance_parametric_expr.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; void f(int *A, int N, int c, int v) { ; CHECK: #pragma minimal dependence distance: 1 diff --git a/polly/test/IstAstInfo/dependence_distance_varying.ll b/polly/test/IstAstInfo/dependence_distance_varying.ll index d609c2f210f8d..e908954536600 100644 --- a/polly/test/IstAstInfo/dependence_distance_varying.ll +++ b/polly/test/IstAstInfo/dependence_distance_varying.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; void f(int *A, int N) { ; CHECK: #pragma minimal dependence distance: -(N % 2) + 2 diff --git a/polly/test/IstAstInfo/dependence_distance_varying_in_outer_loop.ll b/polly/test/IstAstInfo/dependence_distance_varying_in_outer_loop.ll index 8ed3220353c1b..1668fc0515441 100644 --- a/polly/test/IstAstInfo/dependence_distance_varying_in_outer_loop.ll +++ b/polly/test/IstAstInfo/dependence_distance_varying_in_outer_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-canonicalize -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; void f(int *restrict A, int *restrict sum) { ; CHECK: #pragma minimal dependence distance: 1 diff --git a/polly/test/IstAstInfo/dependence_distance_varying_multiple.ll b/polly/test/IstAstInfo/dependence_distance_varying_multiple.ll index 73768e9c308a4..0d0aa8bea31d8 100644 --- a/polly/test/IstAstInfo/dependence_distance_varying_multiple.ll +++ b/polly/test/IstAstInfo/dependence_distance_varying_multiple.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-stmt-granularity=bb -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; void f(int *restrict A, int *restrict B, int *restrict C, int *restrict D, ; int *restrict E, int N) { diff --git a/polly/test/IstAstInfo/domain_bounded_only_with_context.ll b/polly/test/IstAstInfo/domain_bounded_only_with_context.ll index e2cf0bd9c0df2..2ed94e59e8087 100644 --- a/polly/test/IstAstInfo/domain_bounded_only_with_context.ll +++ b/polly/test/IstAstInfo/domain_bounded_only_with_context.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; CHECK: { ; CHECK-NEXT: if (p <= -1 || p >= 1) diff --git a/polly/test/IstAstInfo/non_affine_access.ll b/polly/test/IstAstInfo/non_affine_access.ll index 98e8d2db959f8..a285a8f032f5e 100644 --- a/polly/test/IstAstInfo/non_affine_access.ll +++ b/polly/test/IstAstInfo/non_affine_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-print-accesses -polly-allow-nonaffine -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-print-accesses -polly-allow-nonaffine -disable-output < %s | FileCheck %s ; ; void non_affine_access(float A[]) { ; for (long i = 0; i < 1024; i++) diff --git a/polly/test/IstAstInfo/reduction_clauses_multidimensional_access.ll b/polly/test/IstAstInfo/reduction_clauses_multidimensional_access.ll index 697b6ca50d444..3fefc74efbef0 100644 --- a/polly/test/IstAstInfo/reduction_clauses_multidimensional_access.ll +++ b/polly/test/IstAstInfo/reduction_clauses_multidimensional_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: #pragma known-parallel reduction (^ : MemRef_sum) ; void f(int N, int M, int P, int sum[P][M]) { diff --git a/polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll b/polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll index c20a7d6db13c9..41bd178c73c2a 100644 --- a/polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll +++ b/polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: #pragma known-parallel reduction (^ : MemRef_sum) ; void f(int N, int M, int *sum) { diff --git a/polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll b/polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll index e6092f0b068f8..5aa8a0c244423 100644 --- a/polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll +++ b/polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; This loopnest contains a reduction which imposes the same dependences as the ; accesses to the array A. We need to ensure we do __not__ parallelize anything diff --git a/polly/test/IstAstInfo/reduction_different_reduction_clauses.ll b/polly/test/IstAstInfo/reduction_different_reduction_clauses.ll index 14de70f9357c3..91f7c9d9601bc 100644 --- a/polly/test/IstAstInfo/reduction_different_reduction_clauses.ll +++ b/polly/test/IstAstInfo/reduction_different_reduction_clauses.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: #pragma simd reduction (+ : MemRef_sum{{[1,2]}}, MemRef_sum{{[1,2]}}) reduction (* : MemRef_prod) reduction (| : MemRef_or) reduction (& : MemRef_and) ; CHECK: #pragma known-parallel reduction (+ : MemRef_sum{{[1,2]}}, MemRef_sum{{[1,2]}}) reduction (* : MemRef_prod) reduction (| : MemRef_or) reduction (& : MemRef_and) diff --git a/polly/test/IstAstInfo/reduction_in_one_dimension.ll b/polly/test/IstAstInfo/reduction_in_one_dimension.ll index 797115b6f8d70..d0173bcd978ca 100644 --- a/polly/test/IstAstInfo/reduction_in_one_dimension.ll +++ b/polly/test/IstAstInfo/reduction_in_one_dimension.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; Verify that we won't privatize anything in the outer dimension ; diff --git a/polly/test/IstAstInfo/reduction_loop_reversal.ll b/polly/test/IstAstInfo/reduction_loop_reversal.ll index d30119787d8e0..d010e26f739a6 100644 --- a/polly/test/IstAstInfo/reduction_loop_reversal.ll +++ b/polly/test/IstAstInfo/reduction_loop_reversal.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-import-jscop -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK-NOT: #pragma simd{{\s*$}} ; CHECK: #pragma simd reduction diff --git a/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll b/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll index 15fca884c2b63..7f78badfcb93c 100644 --- a/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll +++ b/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: #pragma known-parallel reduction (+ : MemRef_A) ; CHECK-NEXT: for (int c0 = 0; c0 <= 2; c0 += 1) { diff --git a/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll b/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll index 44e9aa4d1e569..42e9c3b19eb1b 100644 --- a/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll +++ b/polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: #pragma known-parallel reduction ; CHECK: for (int c0 = 0; c0 <= 2; c0 += 1) { diff --git a/polly/test/IstAstInfo/reduction_modulo_schedule.ll b/polly/test/IstAstInfo/reduction_modulo_schedule.ll index c39ffa591484d..8bdd5299986eb 100644 --- a/polly/test/IstAstInfo/reduction_modulo_schedule.ll +++ b/polly/test/IstAstInfo/reduction_modulo_schedule.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-import-jscop -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: #pragma known-parallel reduction (+ : MemRef_A) ; CHECK-NEXT: for (int c0 = 0; c0 <= 2; c0 += 1) { diff --git a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll index 266753555cab1..4811069e4f399 100644 --- a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll +++ b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK: #pragma known-parallel ; CHECK: for (int c0 = 0; c0 <= 1; c0 += 1) diff --git a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll index d7f9029fd347a..4f5ac24a0b005 100644 --- a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll +++ b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; Verify that the outer dimension doesn't carry reduction dependences ; diff --git a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll index f18060a2e20a8..472a04847ec95 100644 --- a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll +++ b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; Verify that the outer dimension doesn't carry reduction dependences ; diff --git a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll index 8e2a590c5f57c..2cc911d78234b 100644 --- a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll +++ b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; Verify that the outer dimension doesn't carry reduction dependences ; diff --git a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll index b889db4819cd5..1b2d0eb75c12c 100644 --- a/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll +++ b/polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; Verify that only the outer dimension needs privatization ; diff --git a/polly/test/IstAstInfo/reduction_multiple_dimensions.ll b/polly/test/IstAstInfo/reduction_multiple_dimensions.ll index 2a8fd7a4f670e..884cea7918031 100644 --- a/polly/test/IstAstInfo/reduction_multiple_dimensions.ll +++ b/polly/test/IstAstInfo/reduction_multiple_dimensions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK-NOT:#pragma known-parallel reduction ; CHECK: #pragma known-parallel diff --git a/polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll b/polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll index 25f2fa597e34e..013a7d4f3ad27 100644 --- a/polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll +++ b/polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK-NOT:#pragma known-parallel reduction ; CHECK: #pragma known-parallel diff --git a/polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll b/polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll index 0d6be9a9da9bf..2dc6d8680b36a 100644 --- a/polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll +++ b/polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK-NOT:#pragma known-parallel reduction ; CHECK: #pragma known-parallel diff --git a/polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll b/polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll index 8b537513cc8d7..dcd75945d25a8 100644 --- a/polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll +++ b/polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ast-detect-parallel -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s ; ; CHECK-NOT:#pragma known-parallel reduction ; CHECK: #pragma known-parallel diff --git a/polly/test/IstAstInfo/run-time-condition.ll b/polly/test/IstAstInfo/run-time-condition.ll index 44d3534f651ce..67fc4b74571da 100644 --- a/polly/test/IstAstInfo/run-time-condition.ll +++ b/polly/test/IstAstInfo/run-time-condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; for (i = 0; i < 1024; i++) ; A[i] = B[i]; diff --git a/polly/test/IstAstInfo/runtime_context_with_error_blocks.ll b/polly/test/IstAstInfo/runtime_context_with_error_blocks.ll index aef509a865b6a..d674f429c0d48 100644 --- a/polly/test/IstAstInfo/runtime_context_with_error_blocks.ll +++ b/polly/test/IstAstInfo/runtime_context_with_error_blocks.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s ; ; Verify we do not simplify the runtime check to "true" due to the domain ; constraints as the test contains an error block that influenced the domains diff --git a/polly/test/IstAstInfo/simple-run-time-condition.ll b/polly/test/IstAstInfo/simple-run-time-condition.ll index 488cd180b899a..73a7c596cea0b 100644 --- a/polly/test/IstAstInfo/simple-run-time-condition.ll +++ b/polly/test/IstAstInfo/simple-run-time-condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-precise-inbounds -polly-precise-fold-accesses -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-precise-inbounds -polly-precise-fold-accesses -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" diff --git a/polly/test/IstAstInfo/single_loop_strip_mine.ll b/polly/test/IstAstInfo/single_loop_strip_mine.ll index afe6179188c01..f546972fb370c 100644 --- a/polly/test/IstAstInfo/single_loop_strip_mine.ll +++ b/polly/test/IstAstInfo/single_loop_strip_mine.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-ast-print-accesses -polly-ast-detect-parallel '-passes=polly-import-jscop,print' -disable-output < %s | FileCheck %s -check-prefix=CHECK-VECTOR +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-ast-print-accesses -polly-ast-detect-parallel '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=CHECK-VECTOR ; for (i = 0; i < 1024; i++) ; A[i] = B[i]; diff --git a/polly/test/IstAstInfo/single_loop_uint_max_iterations.ll b/polly/test/IstAstInfo/single_loop_uint_max_iterations.ll index f614f90fc3fc9..c9ae9e8f4e52e 100644 --- a/polly/test/IstAstInfo/single_loop_uint_max_iterations.ll +++ b/polly/test/IstAstInfo/single_loop_uint_max_iterations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; XFAIL: * ;#include "limits.h" diff --git a/polly/test/IstAstInfo/single_loop_ull_max_iterations.ll b/polly/test/IstAstInfo/single_loop_ull_max_iterations.ll index e91ea13278692..45227160e8699 100644 --- a/polly/test/IstAstInfo/single_loop_ull_max_iterations.ll +++ b/polly/test/IstAstInfo/single_loop_ull_max_iterations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; XFAIL: * ;#include "limits.h" diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll index 49a962592bb9d..28b6a7ca12799 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: expecting other token ; diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll index 749b962b260f5..f19a632815795 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: Statement from JScop file has no key name 'accesses' for index 1. ; diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll index 1d97e3ebca625..77b9acfbb0989 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: The number of memory accesses in the JSop file and the number of memory accesses differ for index 0. ; diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll index f4b739398f9f6..0a06ff671c298 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: The number of indices and the number of statements differ. ; diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll index 1f5cda3518a2f..35b7af098ae42 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: Memory access number 0 has no key name 'relation' for statement number 1. ; diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll index 0c750849b51eb..109665a85c607 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: JScop file has no key name 'statements'. ; diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll index d8c9c3f4ab2ea..f345d1c31796e 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: JScop file contains access function with undeclared ScopArrayInfo ; diff --git a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll index f8d7cb8c1453e..a66d5c8c69b55 100644 --- a/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll +++ b/polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: JScop file changes the number of parameter dimensions. ; diff --git a/polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll b/polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll index 6e13a5e413d76..ae0b4edffb5fc 100644 --- a/polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll +++ b/polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll @@ -1,4 +1,4 @@ - ; RUN: not --crash opt %loadNPMPolly -passes=polly-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Array has not a valid type. ; diff --git a/polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll b/polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll index 7f6578776e0bd..6c434e15a38d2 100644 --- a/polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll +++ b/polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly -polly-stmt-granularity=bb -passes=polly-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s +; RUN: not --crash opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s ; ; #define Ni 1056 ; #define Nj 1056 diff --git a/polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll b/polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll index e698bdc488c2c..b004c4725176a 100644 --- a/polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll +++ b/polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly -passes=polly-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Array has no key 'name'. ; diff --git a/polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll b/polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll index f130b6556e3e5..5f62a457f63eb 100644 --- a/polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll +++ b/polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly -passes=polly-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Array has no key 'sizes'. ; diff --git a/polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll b/polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll index 68d2e50c6730d..029fde10f5a4a 100644 --- a/polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll +++ b/polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly -passes=polly-import-jscop -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Array has no key 'type'. ; diff --git a/polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll b/polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll index 94c77dc2a0138..9ac371b655146 100644 --- a/polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll +++ b/polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: JScop file has no key named 'context'. ; diff --git a/polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll b/polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll index c20d5c02d662e..82afcd95c871f 100644 --- a/polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll +++ b/polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: The isl_set is not a parameter set. ; diff --git a/polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll b/polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll index 92f4d61212e93..0308452c6f955 100644 --- a/polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll +++ b/polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: unexpected isl_token ; diff --git a/polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll b/polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll index 89668d8d573b1..debb9bc604110 100644 --- a/polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll +++ b/polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: Imported context has the wrong number of parameters : Found 2 Expected 1 ; diff --git a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll index efe15c14ce90d..6eee0056ba0b5 100644 --- a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll +++ b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: Statement 0 has no 'schedule' key. ; diff --git a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll index db516f6d7d335..59feb0085e6de 100644 --- a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll +++ b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: expecting other token ; diff --git a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll index b93c984d7d9dd..78d5243d34e00 100644 --- a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll +++ b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: JScop file has no key name 'statements'. ; diff --git a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll index 3fa14c64cd639..877547c8f317f 100644 --- a/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll +++ b/polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll @@ -1,4 +1,4 @@ -; RUN: not --crash opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s +; RUN: not --crash opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s 2>&1 >/dev/null | FileCheck %s ; ; CHECK: The number of indices and the number of statements differ. ; diff --git a/polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll b/polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll index 1d81ff7ef2dc8..9f999204f59bf 100644 --- a/polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll +++ b/polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -pass-remarks-analysis="polly-mse" -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-mse -pass-remarks-analysis=polly-mse -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE ; ; Verify that the expansion of an array with load after store in a same statement is not done. ; diff --git a/polly/test/MaximalStaticExpansion/read_from_original.ll b/polly/test/MaximalStaticExpansion/read_from_original.ll index 57017381c661a..1a733c113626d 100644 --- a/polly/test/MaximalStaticExpansion/read_from_original.ll +++ b/polly/test/MaximalStaticExpansion/read_from_original.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly "-passes=scop(print)" -pass-remarks-analysis="polly-mse" -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -pass-remarks-analysis=polly-mse -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE ; ; Verify that Polly detects problems and does not expand the array ; diff --git a/polly/test/MaximalStaticExpansion/too_many_writes.ll b/polly/test/MaximalStaticExpansion/too_many_writes.ll index 7e33de17a1749..a7aa162aa83da 100644 --- a/polly/test/MaximalStaticExpansion/too_many_writes.ll +++ b/polly/test/MaximalStaticExpansion/too_many_writes.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly "-passes=scop(print)" -pass-remarks-analysis="polly-mse" -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -pass-remarks-analysis=polly-mse -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE ; ; Verify that Polly detects problems and does not expand the array ; diff --git a/polly/test/MaximalStaticExpansion/working_deps_between_inners.ll b/polly/test/MaximalStaticExpansion/working_deps_between_inners.ll index 355fc02600d54..06e08c43e3492 100644 --- a/polly/test/MaximalStaticExpansion/working_deps_between_inners.ll +++ b/polly/test/MaximalStaticExpansion/working_deps_between_inners.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s ; ; Verify that the accesses are correctly expanded for MemoryKind::Array ; diff --git a/polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll b/polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll index 930539547cc97..076f47143dbcc 100644 --- a/polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll +++ b/polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -pass-remarks-analysis="polly-mse" -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-mse -pass-remarks-analysis=polly-mse -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE ; ; Verify that the accesses are correctly expanded for MemoryKind::Array and MemoryKind::PHI. ; tmp_06_phi is not expanded because it need copy in. diff --git a/polly/test/MaximalStaticExpansion/working_expansion.ll b/polly/test/MaximalStaticExpansion/working_expansion.ll index a055e50225e91..2b040f3f1f4e3 100644 --- a/polly/test/MaximalStaticExpansion/working_expansion.ll +++ b/polly/test/MaximalStaticExpansion/working_expansion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s ; ; Verify that the accesses are correctly expanded for MemoryKind::Array ; diff --git a/polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll b/polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll index 77338c9aac200..f863c0e1d6edf 100644 --- a/polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll +++ b/polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s ; ; Verify that the accesses are correctly expanded ; diff --git a/polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll b/polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll index 9cfa5536072b7..a823bdb4e7682 100644 --- a/polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll +++ b/polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s ; ; Verify that the accesses are correctly expanded ; diff --git a/polly/test/MaximalStaticExpansion/working_phi_expansion.ll b/polly/test/MaximalStaticExpansion/working_phi_expansion.ll index 63e4d48046275..0898f99c896d4 100644 --- a/polly/test/MaximalStaticExpansion/working_phi_expansion.ll +++ b/polly/test/MaximalStaticExpansion/working_phi_expansion.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly "-passes=scop(print)" -pass-remarks-analysis="polly-mse" -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -pass-remarks-analysis=polly-mse -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE ; ; Verify that the accesses are correctly expanded for MemoryKind::PHI ; tmp_04 is not expanded because it need copy-in. diff --git a/polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll b/polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll index 87bd57abab8d1..2a332ba7ce77b 100644 --- a/polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll +++ b/polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -pass-remarks-analysis="polly-mse" -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-mse -pass-remarks-analysis=polly-mse -disable-output < %s 2>&1 | FileCheck %s --check-prefix=MSE ; ; Verify that the accesses are correctly expanded for MemoryKind::PHI ; tmp_05 and tmp2_06 are not expanded because they need copy-in. diff --git a/polly/test/MaximalStaticExpansion/working_value_expansion.ll b/polly/test/MaximalStaticExpansion/working_value_expansion.ll index cc28a78c38671..77f20bb163a8b 100644 --- a/polly/test/MaximalStaticExpansion/working_value_expansion.ll +++ b/polly/test/MaximalStaticExpansion/working_value_expansion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-mse -disable-output < %s | FileCheck %s ; ; Verify that the accesses are correctly expanded for MemoryKind::Value ; diff --git a/polly/test/PruneUnprofitable/prune_only_scalardeps.ll b/polly/test/PruneUnprofitable/prune_only_scalardeps.ll index 9cc2aecf002dd..b4524c21a35ee 100644 --- a/polly/test/PruneUnprofitable/prune_only_scalardeps.ll +++ b/polly/test/PruneUnprofitable/prune_only_scalardeps.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-process-unprofitable=false -polly-unprofitable-scalar-accs=false "-passes=scop(polly-prune-unprofitable)" -disable-output -stats < %s 2>&1 | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-process-unprofitable=false -polly-unprofitable-scalar-accs=false '-passes=polly-custom' -disable-output -stats < %s 2>&1 | FileCheck -match-full-lines %s ; REQUIRES: asserts ; ; Skip this SCoP for having scalar dependencies between all statements, diff --git a/polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll b/polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll index 38facb1688c46..c8c006c94d1d4 100644 --- a/polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll +++ b/polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -S < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -S < %s target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-a0:0-n32" define void @sdbout_label() nounwind { diff --git a/polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll b/polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll index 835986049899b..23033faa380af 100644 --- a/polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll +++ b/polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -S < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -S < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; Check that we handle statements with an empty iteration domain correctly. diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll index 5e4ce8225a236..fdaed3c543673 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s define void @func(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B) { entry: diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll index de4c387a1d879..65d495722c2bd 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK,OPT +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK,OPT define void @func(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B, i32 %k) { entry: diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll index 91bd549c3c7e4..06d55f46a977f 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK define void @func(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B, i32 %k) { entry: diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll index 8b69d9e12c0fe..0af703ccf5ffe 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK,OPT +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK,OPT define void @func(i32 %n, ptr noalias nonnull %A) { entry: diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll index 49d1124740340..ca6840b900e7f 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefixes=CHECK +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK,RAW +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefixes=CHECK define void @func(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B, i32 %k) { entry: diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll index a449a2fda9ba3..f96e4baba71eb 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s define void @func(i32 %n, ptr noalias nonnull %A) { entry: diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll index 798e9b9a7c14f..229d13aaf1a4d 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s define void @func(i32 %n, ptr noalias nonnull %A) { entry: diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll b/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll index 4d0ccc988a5cc..9bc9a25ac588e 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s ; This could theoretically be fused by adjusting the offset of the second loop by %k (instead of relying on schedule dimensions). diff --git a/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll b/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll index bf470b91a7022..5b0cefbe686f6 100644 --- a/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll +++ b/polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=1 -polly-loopfusion-greedy=1 -polly-postopts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s define void @func(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B, i32 %k) { entry: diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll b/polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll index b0f75dd50ef83..2225f05f6717d 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s -match-full-lines ; ; Check that the disable_nonforced metadata is honored; optimization ; heuristics/rescheduling must not be applied. diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll b/polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll index 900360d7533f8..4add219214aa3 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-pragma-based-opts=1 '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines --check-prefix=ON -; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-pragma-based-opts=0 '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines --check-prefix=OFF +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-pragma-based-opts=1 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines --check-prefix=ON +; RUN: opt %loadNPMPolly -polly-reschedule=0 -polly-pragma-based-opts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines --check-prefix=OFF ; define void @func(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B) { entry: diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll b/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll index d45b62433dbbc..d59f9e58e2785 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-reschedule=0 -polly-pragma-based-opts=1 -disable-output < %s 2>&1 | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-reschedule=0 -polly-pragma-based-opts=1 -disable-output < %s 2>&1 | FileCheck %s --match-full-lines ; ; CHECK: warning: distribute_illegal.c:2:3: not applying loop fission/distribution: cannot ensure semantic equivalence due to possible dependency violations ; diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll b/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll index d835e66693fb4..a1caaf5db5a61 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-reschedule=0 -polly-pragma-based-opts=1 -disable-output < %s 2>&1 | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-reschedule=0 -polly-pragma-based-opts=1 -disable-output < %s 2>&1 | FileCheck %s --match-full-lines ; ; CHECK: warning: distribute_illegal.c:1:42: not applying loop fission/distribution: cannot ensure semantic equivalence due to possible dependency violations ; diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll index a5781a7f60365..b05710203fd37 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pragma-based-opts=1 '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly -polly-pragma-based-opts=1 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines ; ; Override unroll metadata with llvm.loop.unroll.disable. ; diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll index cccf136a1c4ac..8992bc942646e 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines ; ; Apply two loop transformations. First partial, then full unrolling. ; diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll index 4d499078a4364..7bea96f791a80 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines ; ; Full unroll of a loop with 5 iterations. ; diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll index d67472ab86936..34a6f486e646c 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-pragma-based-opts=1 '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines -; RUN: opt %loadNPMPolly -polly-pragma-based-opts=0 '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly -polly-pragma-based-opts=1 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly -polly-pragma-based-opts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines ; ; Unrolling with heuristic factor. ; Currently not supported and expected to be handled by LLVM's unroll pass. diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll index 90101b4fde390..ce2281372a20d 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-pragma-based-opts=1 '-passes=print' -disable-output < %s | FileCheck %s --match-full-lines -; RUN: opt %loadNPMPolly -polly-pragma-based-opts=0 '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=OFF --match-full-lines +; RUN: opt %loadNPMPolly -polly-pragma-based-opts=1 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --match-full-lines +; RUN: opt %loadNPMPolly -polly-pragma-based-opts=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefix=OFF --match-full-lines ; ; Partial unroll by a factor of 4. ; diff --git a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll index 4cfa3fb911515..f6810ba6c48fb 100644 --- a/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll +++ b/polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=OPT --match-full-lines -; RUN: opt %loadNPMPolly '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s --check-prefix=AST --match-full-lines -; RUN: opt %loadNPMPolly '-passes=scop(polly-opt-isl,polly-codegen),simplifycfg' -S < %s | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s --check-prefix=OPT --match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --check-prefix=AST --match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s --check-prefix=CODEGEN ; ; Partial unroll by a factor of 4. ; @@ -54,6 +54,6 @@ return: ; AST-NEXT: for (int c0 = 0; c0 < n; c0 += 4) { -; CODEGEN: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.exiting, !llvm.loop ![[LOOPID:[0-9]+]] +; CODEGEN: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit, !llvm.loop ![[LOOPID:[0-9]+]] ; CODEGEN: ![[LOOPID]] = distinct !{![[LOOPID]], ![[LOOPNAME:[0-9]+]]} ; CODEGEN: ![[LOOPNAME]] = !{!"llvm.loop.id", !"This-is-the-unrolled-loop"} diff --git a/polly/test/ScheduleOptimizer/SIMDInParallelFor.ll b/polly/test/ScheduleOptimizer/SIMDInParallelFor.ll index 3f6f50e34775d..b03d475dd42ee 100644 --- a/polly/test/ScheduleOptimizer/SIMDInParallelFor.ll +++ b/polly/test/ScheduleOptimizer/SIMDInParallelFor.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-parallel -polly-vectorizer=stripmine -passes=polly-codegen-verify '-passes=polly-opt-isl,print,polly-codegen' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-parallel -polly-vectorizer=stripmine -passes=polly-codegen-verify '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; Check that there are no nested #pragma omp parallel for inside a ; #pragma omp parallel for loop. diff --git a/polly/test/ScheduleOptimizer/computeout.ll b/polly/test/ScheduleOptimizer/computeout.ll index a3286b481ffb3..6f34f4efc0a6d 100644 --- a/polly/test/ScheduleOptimizer/computeout.ll +++ b/polly/test/ScheduleOptimizer/computeout.ll @@ -1,5 +1,5 @@ -; RUN: opt -S %loadNPMPolly "-passes=scop(polly-opt-isl,print)" -polly-isl-arg=--no-schedule-serialize-sccs -disable-output < %s | FileCheck %s -; RUN: opt -S %loadNPMPolly "-passes=scop(polly-opt-isl,print)" -polly-isl-arg=--no-schedule-serialize-sccs -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s -check-prefix=TIMEOUT +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-isl-arg=--no-schedule-serialize-sccs -disable-output < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-isl-arg=--no-schedule-serialize-sccs -polly-dependences-computeout=1 -disable-output < %s | FileCheck %s -check-prefix=TIMEOUT target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" ; for(i = 0; i < 100; i++ ) diff --git a/polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll b/polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll index 928ee858ae6d2..4be0b948d09a0 100644 --- a/polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll +++ b/polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll @@ -1,9 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable -polly-remarks-minimal \ -; RUN: '-passes=polly-opt-isl,print' -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=1 \ -; RUN: -polly-target-vector-register-bitwidth=4096 \ -; RUN: -polly-target-1st-cache-level-associativity=3 -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable -polly-remarks-minimal '-passes=polly-custom' -polly-print-ast -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=1 -polly-target-vector-register-bitwidth=4096 -polly-target-1st-cache-level-associativity=3 -disable-output < %s | FileCheck %s ; ; /* Test that Polly does not crash due to configurations that can lead to ; incorrect tile size computations. diff --git a/polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll b/polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll index b533cb870bdcb..548a8aa94afbf 100644 --- a/polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll +++ b/polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -polly-vectorizer=stripmine -polly-invariant-load-hoisting -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-opt-isl -polly-vectorizer=stripmine -polly-invariant-load-hoisting -disable-output < %s | FileCheck %s ; ; llvm.org/PR46578 ; diff --git a/polly/test/ScheduleOptimizer/full_partial_tile_separation.ll b/polly/test/ScheduleOptimizer/full_partial_tile_separation.ll index 3dd579ed736f7..6de5e3a606aa3 100644 --- a/polly/test/ScheduleOptimizer/full_partial_tile_separation.ll +++ b/polly/test/ScheduleOptimizer/full_partial_tile_separation.ll @@ -1,4 +1,4 @@ -; RUN: opt -S %loadNPMPolly -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; CHECK: // 1st level tiling - Tiles ; CHECK-NEXT: #pragma known-parallel ; CHECK-NEXT: for (int c0 = 0; c0 <= floord(ni - 1, 32); c0 += 1) diff --git a/polly/test/ScheduleOptimizer/line-tiling-2.ll b/polly/test/ScheduleOptimizer/line-tiling-2.ll index 3a2c566d19d3d..6256adfcd6917 100644 --- a/polly/test/ScheduleOptimizer/line-tiling-2.ll +++ b/polly/test/ScheduleOptimizer/line-tiling-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-tile-sizes=1,64 '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-tile-sizes=1,64 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; CHECK: for (int c0 = 0; c0 <= 1023; c0 += 1) ; CHECK: for (int c1 = 0; c1 <= 7; c1 += 1) diff --git a/polly/test/ScheduleOptimizer/line-tiling.ll b/polly/test/ScheduleOptimizer/line-tiling.ll index 0dbdeff4742b9..51e02594aa880 100644 --- a/polly/test/ScheduleOptimizer/line-tiling.ll +++ b/polly/test/ScheduleOptimizer/line-tiling.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-tile-sizes=64,1 '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-tile-sizes=64,1 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; CHECK: for (int c0 = 0; c0 <= 15; c0 += 1) ; CHECK: for (int c1 = 0; c1 <= 511; c1 += 1) diff --git a/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll b/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll index 8f270b94617fe..79deedc7cd830 100644 --- a/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll +++ b/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll @@ -1,13 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: -polly-optimized-scops \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-2nd-cache-level-size=262144 -polly-optimized-scops -polly-target-vector-register-bitwidth=256 -disable-output < %s ; ; /* C := alpha*A*B + beta*C */ ; for (i = 0; i < _PB_NI; i++) diff --git a/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll b/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll index de1c815f92350..e3ae1a02bd347 100644 --- a/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll +++ b/polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll @@ -1,12 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-2nd-cache-level-size=262144 -polly-target-vector-register-bitwidth=256 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; /* C := alpha*A*B + beta*C */ ; /* _PB_NK % Kc != 0 */ diff --git a/polly/test/ScheduleOptimizer/one-dimensional-band.ll b/polly/test/ScheduleOptimizer/one-dimensional-band.ll index a097d4a43cfd2..f37f1e5119a9f 100644 --- a/polly/test/ScheduleOptimizer/one-dimensional-band.ll +++ b/polly/test/ScheduleOptimizer/one-dimensional-band.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; void jacobi1d(long T, long N, float *A, float *B) { ; long t, i, j; diff --git a/polly/test/ScheduleOptimizer/outer_coincidence.ll b/polly/test/ScheduleOptimizer/outer_coincidence.ll index 7c1af80c9ffae..e0a7a63cda80d 100644 --- a/polly/test/ScheduleOptimizer/outer_coincidence.ll +++ b/polly/test/ScheduleOptimizer/outer_coincidence.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-tiling=0 -polly-parallel -polly-opt-outer-coincidence=no '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-tiling=0 -polly-parallel -polly-opt-outer-coincidence=yes '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s --check-prefix=OUTER +; RUN: opt %loadNPMPolly -polly-tiling=0 -polly-parallel -polly-opt-outer-coincidence=no '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-tiling=0 -polly-parallel -polly-opt-outer-coincidence=yes '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --check-prefix=OUTER ; By skewing, the diagonal can be made parallel. ISL does this when the Check ; the 'outer_coincidence' option is enabled. diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll index a19b93d9915dd..84f1ca0dba652 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll @@ -1,8 +1,4 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -polly-pattern-matching-based-opts=true \ -; RUN: '-passes=polly-optree,polly-delicm,polly-simplify,polly-opt-isl' \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true '-passes=polly-custom' -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; Check that the pattern matching detects the matrix multiplication pattern diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll index 4ef0605a0ba75..72fb4f1b4e41c 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-delicm,polly-simplify,polly-opt-isl' \ -; RUN: -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; Check that the pattern matching detects the tensor contraction pattern diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll index 09118e252233b..933b2d4d258e7 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll @@ -1,8 +1,7 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=false \ -; RUN: -debug -polly-tc-opt -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true -debug -polly-tc-opt -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PATTERN-MATCHING-OPTS -; RUN: opt %loadNPMPolly '-passes=polly-opt-isl,print' -polly-pattern-matching-based-opts=true -polly-ast-detect-parallel -disable-output < %s | FileCheck %s --check-prefix=PARALLEL-AST -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true -stats -disable-output < %s 2>&1 | FileCheck %s --check-prefix=STATS -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=false -debug -polly-tc-opt -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -debug -polly-tc-opt -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PATTERN-MATCHING-OPTS +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-pattern-matching-based-opts=true -polly-ast-detect-parallel -disable-output < %s | FileCheck %s --check-prefix=PARALLEL-AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -stats -disable-output < %s 2>&1 | FileCheck %s --check-prefix=STATS -match-full-lines ; REQUIRES: asserts ; ; /* C := alpha*A*B + beta*C */ diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll index b771d1f87537e..03e23038877e5 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll @@ -1,16 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-opt-isl' \ -; RUN: -polly-import-jscop-postfix=transformed \ -; RUN: -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: -debug \ -; RUN: -polly-tc-opt=true -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-import-jscop-postfix=transformed -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 -debug -polly-tc-opt=true -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; Check that the pattern matching detects the matrix multiplication pattern diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll index 238f6dd798e68..4e174e3c9723d 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll @@ -1,12 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: -passes=polly-opt-isl -disable-output < %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -disable-output < %s ; ; Test whether isolation works as expected. ; diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll index 0e4540eb7ba3c..c3d8b6ed3fee5 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll @@ -1,12 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=2 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=128 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=2 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=128 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; Test whether isolation works as expected. ; diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll index 9678ad83ff048..3705c3fd27ed9 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll @@ -1,13 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,polly-opt-isl,polly-codegen' \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: -polly-import-jscop-postfix=transformed -S < %s \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s ; ; Check that we disable the Loop Vectorizer. ; diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll index e74884d59c311..7ada105828b27 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -debug-only=polly-opt-isl -disable-output \ -; RUN: -polly-tc-opt=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -debug-only=polly-opt-isl -disable-output -polly-tc-opt=true < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (i = 0; i < _PB_NI; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll index 9c99a090b69e7..6647380b2d070 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (i = 0; i < 1024; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll index 8e14035ce8629..fba77d5e4f82d 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (i = 0; i < 32; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll index 4f562c306f96a..488436064ae83 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (i = 0; i < 32; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll index 32ded897d4ff9..c7a5d475bef31 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (i = 0; i < 8; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll index f0c0177da84b0..1dba8bece8072 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; /* C := alpha*A*B + beta*C */ diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll index 155177bdfade0..3656a9457cef2 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (i = 0; i < 16; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll index 3d21ac3859a7e..bd0cb054957af 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (int i = 0; i < 32; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll index 00a4bf885aef8..6e6788be2973f 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (int i = 0; i < 32; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll index bfe5c5249a3a8..82356ae0a398d 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-reschedule=0 -passes=polly-opt-isl \ -; RUN: -polly-pattern-matching-based-opts=true -polly-tc-opt=true \ -; RUN: -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-reschedule=0 '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (i = 0; i < 1024; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll index a2e1ced3e6320..ea28bb8c0bdb6 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -polly-tc-opt=true -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; for (int i = 0; i < 32; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll index 9844d377e609d..f80d63cd4d66c 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll @@ -1,19 +1,6 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-size=0 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-size=0 -polly-target-vector-register-bitwidth=256 '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=EXTRACTION-OF-MACRO-KERNEL +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=EXTRACTION-OF-MACRO-KERNEL ; ; /* C := alpha*A*B + beta*C */ ; for (i = 0; i < _PB_NI; i++) diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll index 250641d57bac5..100b17e2ccd21 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll @@ -1,13 +1,5 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ -; RUN: -debug -polly-tc-opt=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=polly-opt-isl,print' -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: -polly-tc-opt=true -disable-output < %s | \ -; RUN: FileCheck %s --check-prefix=PATTERN-MATCHING-OPTS +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-pattern-matching-based-opts=true -debug -polly-tc-opt=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 -polly-tc-opt=true -disable-output < %s | FileCheck %s --check-prefix=PATTERN-MATCHING-OPTS ; REQUIRES: asserts ; ; C := A * B + C diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll index ad2c195ba1e8e..050af1b2377d3 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll @@ -1,12 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ ; -polly-target-throughput-vector-fma=1 \ diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll index 1d3cdbdbfdd85..ba1ddfef6a4e4 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll @@ -1,12 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; opt %loadNPMPolly -passes=polly-opt-isl -polly-pattern-matching-based-opts=true \ ; -polly-target-throughput-vector-fma=1 \ diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll index 59eaa4a0928e9..e50b3a0a3f2b0 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll @@ -1,12 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; /* C := A * B + C */ ; /* Elements of the matrices A, B, C have the float type. */ diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll index 2544d502a2dc5..3f57fe8cf6c73 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll @@ -1,12 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; /* C := A * B + C */ ; /* Elements of the matrices B, C have the double type. */ diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll index 85c143562f5af..b87ed4fb1ec3c 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll @@ -1,14 +1,6 @@ -; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true \ -; RUN: -polly-target-throughput-vector-fma=1 \ -; RUN: -polly-target-latency-vector-fma=8 \ -; RUN: -polly-target-1st-cache-level-associativity=8 \ -; RUN: -polly-target-2nd-cache-level-associativity=8 \ -; RUN: -polly-target-1st-cache-level-size=32768 \ -; RUN: -polly-target-vector-register-bitwidth=256 \ -; RUN: -polly-target-2nd-cache-level-size=262144 \ -; RUN: -passes=polly-opt-isl -disable-output < %s +; RUN: opt %loadNPMPolly -polly-pattern-matching-based-opts=true -polly-target-throughput-vector-fma=1 -polly-target-latency-vector-fma=8 -polly-target-1st-cache-level-associativity=8 -polly-target-2nd-cache-level-associativity=8 -polly-target-1st-cache-level-size=32768 -polly-target-vector-register-bitwidth=256 -polly-target-2nd-cache-level-size=262144 '-passes=polly-custom' -disable-output < %s ; -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=DEPENDENCES +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-deps -disable-output < %s | FileCheck %s --check-prefix=DEPENDENCES ; ; /* C := A * B + C */ ; /* Elements of the matrices A, B, C have the char type. */ diff --git a/polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll b/polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll index 64285891a16c7..98c1db6d36fbe 100644 --- a/polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll +++ b/polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-import-jscop -polly-import-jscop-postfix=transformed -passes=polly-opt-isl -debug-only=polly-opt-isl -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-import-jscop-postfix=transformed '-passes=polly-custom' -debug-only=polly-opt-isl -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; ; void pattern_matching_based_opts_splitmap(double C[static const restrict 2][2], double A[static const restrict 2][784], double B[static const restrict 784][2]) { diff --git a/polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll b/polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll index 1c6d289744e39..4784dc88cd307 100644 --- a/polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll +++ b/polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll @@ -1,4 +1,4 @@ -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-tiling=false -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-tiling=false -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" @C = common global [1536 x [1536 x float]] zeroinitializer, align 16 diff --git a/polly/test/ScheduleOptimizer/prevectorization.ll b/polly/test/ScheduleOptimizer/prevectorization.ll index 1ff20d165ce5e..6d1592c4ba8fa 100644 --- a/polly/test/ScheduleOptimizer/prevectorization.ll +++ b/polly/test/ScheduleOptimizer/prevectorization.ll @@ -1,5 +1,5 @@ -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s -; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine -polly-prevect-width=16 '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s -check-prefix=VEC16 +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt -S %loadNPMPolly -aa-pipeline=basic-aa -polly-pattern-matching-based-opts=false -polly-vectorizer=stripmine -polly-prevect-width=16 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s -check-prefix=VEC16 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScheduleOptimizer/prevectorization_islbound.ll b/polly/test/ScheduleOptimizer/prevectorization_islbound.ll index 0bc3c2cf642e8..f346e5365b198 100644 --- a/polly/test/ScheduleOptimizer/prevectorization_islbound.ll +++ b/polly/test/ScheduleOptimizer/prevectorization_islbound.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -polly-vectorizer=stripmine -passes=polly-opt-isl -polly-debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S -polly-vectorizer=stripmine '-passes=polly-custom' -polly-debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts define void @ham(ptr %arg, ptr %arg1, i32 %arg2, i32 %arg3, ptr %arg4, i32 %arg5, i32 %arg6) { diff --git a/polly/test/ScheduleOptimizer/rectangular-tiling.ll b/polly/test/ScheduleOptimizer/rectangular-tiling.ll index e1d768b351d7d..3fd4907909419 100644 --- a/polly/test/ScheduleOptimizer/rectangular-tiling.ll +++ b/polly/test/ScheduleOptimizer/rectangular-tiling.ll @@ -1,7 +1,7 @@ -; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s -; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 -polly-tiling=false '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s --check-prefix=NOTILING -; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 -polly-2nd-level-tiling -polly-2nd-level-tile-sizes=16,8 '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s --check-prefix=TWOLEVEL -; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 -polly-2nd-level-tiling -polly-2nd-level-tile-sizes=16,8 -polly-register-tiling '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s --check-prefix=TWO-PLUS-REGISTER +; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 -polly-tiling=false '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --check-prefix=NOTILING +; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 -polly-2nd-level-tiling -polly-2nd-level-tile-sizes=16,8 '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --check-prefix=TWOLEVEL +; RUN: opt %loadNPMPolly -polly-tile-sizes=256,16 -polly-2nd-level-tiling -polly-2nd-level-tile-sizes=16,8 -polly-register-tiling '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s --check-prefix=TWO-PLUS-REGISTER ; CHECK: // 1st level tiling - Tiles ; CHECK: for (int c0 = 0; c0 <= 3; c0 += 1) diff --git a/polly/test/ScheduleOptimizer/schedule_computeout.ll b/polly/test/ScheduleOptimizer/schedule_computeout.ll index 1e1359e3ecc6a..1ee8a90473bd3 100644 --- a/polly/test/ScheduleOptimizer/schedule_computeout.ll +++ b/polly/test/ScheduleOptimizer/schedule_computeout.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-optree -passes=polly-delicm -passes=polly-opt-isl -polly-schedule-computeout=10000 -debug-only="polly-opt-isl" < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly-custom' -polly-schedule-computeout=10000 -debug-only=polly-opt-isl < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; Bailout if the computations of schedule compute exceeds the max scheduling quota. diff --git a/polly/test/ScheduleOptimizer/statistics.ll b/polly/test/ScheduleOptimizer/statistics.ll index 84eb59341d273..bb705ac6abf38 100644 --- a/polly/test/ScheduleOptimizer/statistics.ll +++ b/polly/test/ScheduleOptimizer/statistics.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-opt-isl -stats -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -stats -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; REQUIRES: asserts diff --git a/polly/test/ScheduleOptimizer/tile_after_fusion.ll b/polly/test/ScheduleOptimizer/tile_after_fusion.ll index 50a46d66176ea..e3d7c24ebef77 100644 --- a/polly/test/ScheduleOptimizer/tile_after_fusion.ll +++ b/polly/test/ScheduleOptimizer/tile_after_fusion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-isl-arg=--no-schedule-serialize-sccs '-passes=polly-opt-isl,print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-isl-arg=--no-schedule-serialize-sccs '-passes=polly-custom' -polly-print-ast -disable-output < %s | FileCheck %s ; ; ; void tf(int C[256][256][256], int A0[256][256][256], int A1[256][256][256]) { diff --git a/polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll b/polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll index e59a31665d77b..bb472b9c3763f 100644 --- a/polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll +++ b/polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-vectorizer=stripmine -polly-isl-arg=--no-schedule-serialize-sccs -polly-tiling=0 '-passes=print' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-vectorizer=stripmine -polly-isl-arg=--no-schedule-serialize-sccs -polly-tiling=0 '-passes=polly-custom' -polly-print-opt-isl -disable-output < %s | FileCheck %s ; isl_schedule_node_band_sink may sink into multiple children. ; https://llvm.org/PR52637 diff --git a/polly/test/ScopDetect/aliasing_parametric_simple_1.ll b/polly/test/ScopDetect/aliasing_parametric_simple_1.ll index cee1c06cf7aa0..d83c822371b6e 100644 --- a/polly/test/ScopDetect/aliasing_parametric_simple_1.ll +++ b/polly/test/ScopDetect/aliasing_parametric_simple_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Valid Region for Scop: ; diff --git a/polly/test/ScopDetect/aliasing_parametric_simple_2.ll b/polly/test/ScopDetect/aliasing_parametric_simple_2.ll index 5506b3c626cfd..63c9addd0b6e1 100644 --- a/polly/test/ScopDetect/aliasing_parametric_simple_2.ll +++ b/polly/test/ScopDetect/aliasing_parametric_simple_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Valid Region for Scop: ; diff --git a/polly/test/ScopDetect/aliasing_simple_1.ll b/polly/test/ScopDetect/aliasing_simple_1.ll index 5f43ec1856a7f..ea8a7688f3d25 100644 --- a/polly/test/ScopDetect/aliasing_simple_1.ll +++ b/polly/test/ScopDetect/aliasing_simple_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Valid Region for Scop: ; diff --git a/polly/test/ScopDetect/aliasing_simple_2.ll b/polly/test/ScopDetect/aliasing_simple_2.ll index e853dfcc64485..df68289ff7352 100644 --- a/polly/test/ScopDetect/aliasing_simple_2.ll +++ b/polly/test/ScopDetect/aliasing_simple_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Valid Region for Scop: ; diff --git a/polly/test/ScopDetect/base_pointer.ll b/polly/test/ScopDetect/base_pointer.ll index e500f9bc20bc6..0f0e219bd90d1 100644 --- a/polly/test/ScopDetect/base_pointer.ll +++ b/polly/test/ScopDetect/base_pointer.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -disable-basic-aa -polly-invariant-load-hoisting=true -polly-print-detect -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly --aa-pipeline= -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-detect -disable-output < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" diff --git a/polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll b/polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll index eeb9e11f812c3..b00ec77679063 100644 --- a/polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll +++ b/polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true '-passes=print,scop(polly-import-jscop,polly-codegen)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true '-passes=polly' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; This violated an assertion in setNewAccessRelation that assumed base pointers ; to be load-hoisted. Without this assertion, it codegen would generate invalid diff --git a/polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll b/polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll index 16976e6313275..1cd04b639fc99 100644 --- a/polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll +++ b/polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,scop(polly-import-jscop,polly-codegen)' -disable-output < %s 2>&1 | FileCheck %s --allow-empty +; RUN: opt %loadNPMPolly '-passes=polly' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --allow-empty ; ; Polly codegen used to generate invalid code (referring to %ptr from the ; original region) when regeneration of the access function is necessary. @@ -35,3 +35,5 @@ exit: ; CHECK-NOT: Valid Region for Scop +; CHECK: Detected Scops in Function base_pointer_is_inst_inside_invariant_1 +; CHECK-NOT: Valid Region for Scop diff --git a/polly/test/ScopDetect/callbr.ll b/polly/test/ScopDetect/callbr.ll index 4182974693678..4200339a04a13 100644 --- a/polly/test/ScopDetect/callbr.ll +++ b/polly/test/ScopDetect/callbr.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-detect-track-failures -disable-output -pass-remarks-missed=polly-detect < %s 2>&1 | FileCheck %s --check-prefix=REMARK -; RUN: opt %loadNPMPolly '-passes=print' -polly-detect-track-failures -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=STAT +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-detect-track-failures -disable-output -pass-remarks-missed=polly-detect < %s 2>&1 | FileCheck %s --check-prefix=REMARK +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-detect-track-failures -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=STAT ; REQUIRES: asserts ; REMARK: Branch from indirect terminator. diff --git a/polly/test/ScopDetect/collective_invariant_loads.ll b/polly/test/ScopDetect/collective_invariant_loads.ll index f451bccec706f..f5263e4e4c40a 100644 --- a/polly/test/ScopDetect/collective_invariant_loads.ll +++ b/polly/test/ScopDetect/collective_invariant_loads.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting -disable-output< %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting -disable-output < %s 2>&1 | FileCheck %s ;CHECK: Function: test_init_chpl ;CHECK-NEXT: Region: %bb1---%bb16 diff --git a/polly/test/ScopDetect/cross_loop_non_single_exit.ll b/polly/test/ScopDetect/cross_loop_non_single_exit.ll index fe3922174c07c..d7605c36d449c 100644 --- a/polly/test/ScopDetect/cross_loop_non_single_exit.ll +++ b/polly/test/ScopDetect/cross_loop_non_single_exit.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll b/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll index 4cac173932a6f..c3a2ad4791ba7 100644 --- a/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll +++ b/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll b/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll index 7d7476471bb6e..e896e18589e94 100644 --- a/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll +++ b/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" define void @f(ptr %A, i64 %N, i64 %M) nounwind { diff --git a/polly/test/ScopDetect/detect-full-functions.ll b/polly/test/ScopDetect/detect-full-functions.ll index 178ef32827cab..adad0e89ffa42 100644 --- a/polly/test/ScopDetect/detect-full-functions.ll +++ b/polly/test/ScopDetect/detect-full-functions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-process-unprofitable=false -disable-output -polly-detect-full-functions < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-process-unprofitable=false -disable-output -polly-detect-full-functions < %s 2>&1 | FileCheck %s ; Verify if a simple function with basic block not part of loop doesn't crash with polly-process-unprofitable=false and polly-detect-full-functions flags. diff --git a/polly/test/ScopDetect/dom-tree-crash.ll b/polly/test/ScopDetect/dom-tree-crash.ll index efc732c50e177..0f670ca230824 100644 --- a/polly/test/ScopDetect/dom-tree-crash.ll +++ b/polly/test/ScopDetect/dom-tree-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Detected Scops in Function foo diff --git a/polly/test/ScopDetect/dot-scops-npm.ll b/polly/test/ScopDetect/dot-scops-npm.ll index d14bf8a23a166..de1f52813475a 100644 --- a/polly/test/ScopDetect/dot-scops-npm.ll +++ b/polly/test/ScopDetect/dot-scops-npm.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-scop-printer' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-dot -disable-output < %s ; RUN: FileCheck %s -input-file=scops.func_npm.dot ; ; Check that the ScopPrinter does not crash. diff --git a/polly/test/ScopDetect/dot-scops.ll b/polly/test/ScopDetect/dot-scops.ll index 63163b23617cf..a719d21300b15 100644 --- a/polly/test/ScopDetect/dot-scops.ll +++ b/polly/test/ScopDetect/dot-scops.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,polly-scop-printer' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; Check that the ScopPrinter does not crash. ; ScopPrinter needs the ScopDetection pass, which should depend on diff --git a/polly/test/ScopDetect/error-block-always-executed.ll b/polly/test/ScopDetect/error-block-always-executed.ll index 20d02b1c1ae0b..0e82e37d10095 100644 --- a/polly/test/ScopDetect/error-block-always-executed.ll +++ b/polly/test/ScopDetect/error-block-always-executed.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK-NOT: Valid Region for Scop: diff --git a/polly/test/ScopDetect/error-block-referenced-from-scop.ll b/polly/test/ScopDetect/error-block-referenced-from-scop.ll index 6c66f6df14af5..338fe20679bcf 100644 --- a/polly/test/ScopDetect/error-block-referenced-from-scop.ll +++ b/polly/test/ScopDetect/error-block-referenced-from-scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK-NOT: Valid Region for Scop: diff --git a/polly/test/ScopDetect/error-block-unreachable.ll b/polly/test/ScopDetect/error-block-unreachable.ll index 6ba7698a972bb..85f248da9be18 100644 --- a/polly/test/ScopDetect/error-block-unreachable.ll +++ b/polly/test/ScopDetect/error-block-unreachable.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s ; Verify that the scop detection does not crash on inputs with unreachable ; blocks. Earlier we crashed when detecting error blocks. diff --git a/polly/test/ScopDetect/expand-region-correctly-2.ll b/polly/test/ScopDetect/expand-region-correctly-2.ll index a5c9626d28361..43fdda8321cbe 100644 --- a/polly/test/ScopDetect/expand-region-correctly-2.ll +++ b/polly/test/ScopDetect/expand-region-correctly-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Valid Region for Scop: if.end.1631 => for.cond.1647.outer ; diff --git a/polly/test/ScopDetect/expand-region-correctly.ll b/polly/test/ScopDetect/expand-region-correctly.ll index a8c90c08fde0c..b4caac4478d1d 100644 --- a/polly/test/ScopDetect/expand-region-correctly.ll +++ b/polly/test/ScopDetect/expand-region-correctly.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Valid Region for Scop: if.end.1631 => for.cond.1647.outer diff --git a/polly/test/ScopDetect/ignore_func_flag_regex.ll b/polly/test/ScopDetect/ignore_func_flag_regex.ll index a75e705995a75..ef1c66686251a 100644 --- a/polly/test/ScopDetect/ignore_func_flag_regex.ll +++ b/polly/test/ScopDetect/ignore_func_flag_regex.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-ignore-func=f.*,g.* '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-polly-ignore-func=f.*,g.*' '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that the flag `-polly-ignore-func` works with regexes. ; diff --git a/polly/test/ScopDetect/index_from_unpredictable_loop.ll b/polly/test/ScopDetect/index_from_unpredictable_loop.ll index f6d6cfab0eede..a6f7079f68407 100644 --- a/polly/test/ScopDetect/index_from_unpredictable_loop.ll +++ b/polly/test/ScopDetect/index_from_unpredictable_loop.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=AFFINE -; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s --check-prefix=AFFINE +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s --check-prefix=NONAFFINE ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopDetect/index_from_unpredictable_loop2.ll b/polly/test/ScopDetect/index_from_unpredictable_loop2.ll index 16d47619b0ff2..be76e0b138933 100644 --- a/polly/test/ScopDetect/index_from_unpredictable_loop2.ll +++ b/polly/test/ScopDetect/index_from_unpredictable_loop2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=AFFINE -; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=print' -disable-output < %s | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s --check-prefix=AFFINE +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s --check-prefix=NONAFFINE ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopDetect/indvars.ll b/polly/test/ScopDetect/indvars.ll index 3fbc4d65bbe20..e45e4fb016155 100644 --- a/polly/test/ScopDetect/indvars.ll +++ b/polly/test/ScopDetect/indvars.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,scop(polly-codegen)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopDetect/intrinsics_1.ll b/polly/test/ScopDetect/intrinsics_1.ll index 58c9197f7f799..43fa4ca619ed7 100644 --- a/polly/test/ScopDetect/intrinsics_1.ll +++ b/polly/test/ScopDetect/intrinsics_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Valid Region for Scop: for.cond => for.end ; diff --git a/polly/test/ScopDetect/intrinsics_2.ll b/polly/test/ScopDetect/intrinsics_2.ll index f71016e6d04cd..b4cc3df7c746b 100644 --- a/polly/test/ScopDetect/intrinsics_2.ll +++ b/polly/test/ScopDetect/intrinsics_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that we allow the lifetime markers for the tmp array. ; diff --git a/polly/test/ScopDetect/intrinsics_3.ll b/polly/test/ScopDetect/intrinsics_3.ll index 579d5bd481d44..08fdee573ba0f 100644 --- a/polly/test/ScopDetect/intrinsics_3.ll +++ b/polly/test/ScopDetect/intrinsics_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that we allow the misc intrinsics. ; diff --git a/polly/test/ScopDetect/invalid-latch-conditions.ll b/polly/test/ScopDetect/invalid-latch-conditions.ll index db4898c9c7bd7..c7d7c51e7d220 100644 --- a/polly/test/ScopDetect/invalid-latch-conditions.ll +++ b/polly/test/ScopDetect/invalid-latch-conditions.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NALOOPS -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops -polly-process-unprofitable=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadNPMPolly -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NALOOPS +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT ; The latch conditions of the outer loop are not affine, thus the loop cannot ; handled by the domain generation and needs to be overapproximated. diff --git a/polly/test/ScopDetect/invalidate_scalar_evolution.ll b/polly/test/ScopDetect/invalidate_scalar_evolution.ll index ddef510ad4d9f..977918eb5168d 100644 --- a/polly/test/ScopDetect/invalidate_scalar_evolution.ll +++ b/polly/test/ScopDetect/invalidate_scalar_evolution.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PHI +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PHI ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/invariant-load-before-scop.ll b/polly/test/ScopDetect/invariant-load-before-scop.ll index 10479643959cb..932c218170caf 100644 --- a/polly/test/ScopDetect/invariant-load-before-scop.ll +++ b/polly/test/ScopDetect/invariant-load-before-scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; The LoadInst %.b761 is defined outside the SCoP, hence is always constant ; within it. It is no "required invariant load". diff --git a/polly/test/ScopDetect/keep_going_expansion.ll b/polly/test/ScopDetect/keep_going_expansion.ll index 074aae9ae95c9..efd81c695ca0d 100644 --- a/polly/test/ScopDetect/keep_going_expansion.ll +++ b/polly/test/ScopDetect/keep_going_expansion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-detect-track-failures -polly-detect-keep-going '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-detect-track-failures -polly-detect-keep-going '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopDetect/mod_ref_read_pointer.ll b/polly/test/ScopDetect/mod_ref_read_pointer.ll index 64535d85f2ab1..c7972cc47a68d 100644 --- a/polly/test/ScopDetect/mod_ref_read_pointer.ll +++ b/polly/test/ScopDetect/mod_ref_read_pointer.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-modref-calls '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=MODREF -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-modref-calls '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=MODREF +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK-NOT: Valid Region for Scop: for.body => for.end ; MODREF: Valid Region for Scop: for.body => for.end diff --git a/polly/test/ScopDetect/more-than-one-loop.ll b/polly/test/ScopDetect/more-than-one-loop.ll index 30090652326d2..1835342812b1f 100644 --- a/polly/test/ScopDetect/more-than-one-loop.ll +++ b/polly/test/ScopDetect/more-than-one-loop.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-process-unprofitable=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable=true '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Valid Region for Scop: diff --git a/polly/test/ScopDetect/multidim-with-undef-size.ll b/polly/test/ScopDetect/multidim-with-undef-size.ll index 2a5f8b15534fa..e89cea98ad21a 100644 --- a/polly/test/ScopDetect/multidim-with-undef-size.ll +++ b/polly/test/ScopDetect/multidim-with-undef-size.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: Valid Region for Scop: bb14 => bb17 diff --git a/polly/test/ScopDetect/multidim.ll b/polly/test/ScopDetect/multidim.ll index 91202373263f0..cbe7d0708b853 100644 --- a/polly/test/ScopDetect/multidim.ll +++ b/polly/test/ScopDetect/multidim.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: Valid Region for Scop: bb19 => bb20 diff --git a/polly/test/ScopDetect/multidim_indirect_access.ll b/polly/test/ScopDetect/multidim_indirect_access.ll index a9cd446d27670..4af37ba064558 100644 --- a/polly/test/ScopDetect/multidim_indirect_access.ll +++ b/polly/test/ScopDetect/multidim_indirect_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we will recognize this SCoP. ; diff --git a/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll b/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll index 9c91fbfbe0b64..0286642f3c7a7 100644 --- a/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll +++ b/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; Derived from the following code: diff --git a/polly/test/ScopDetect/nested_loop_single_exit.ll b/polly/test/ScopDetect/nested_loop_single_exit.ll index a0742112b6e12..89071df596807 100644 --- a/polly/test/ScopDetect/nested_loop_single_exit.ll +++ b/polly/test/ScopDetect/nested_loop_single_exit.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s ; void f(long A[], long N) { ; long i, j; diff --git a/polly/test/ScopDetect/non-affine-conditional.ll b/polly/test/ScopDetect/non-affine-conditional.ll index e74619cd87756..b20828d9a7679 100644 --- a/polly/test/ScopDetect/non-affine-conditional.ll +++ b/polly/test/ScopDetect/non-affine-conditional.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/ScopDetect/non-affine-float-compare.ll b/polly/test/ScopDetect/non-affine-float-compare.ll index 9326cd4290380..77427397bac9d 100644 --- a/polly/test/ScopDetect/non-affine-float-compare.ll +++ b/polly/test/ScopDetect/non-affine-float-compare.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; void f(float *A) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll index 1ab6b35ae93f1..f6ae9fe8dd544 100644 --- a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll +++ b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll @@ -1,7 +1,7 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine -polly-process-unprofitable=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT ; ; Here we have a non-affine loop but also a non-affine access which should ; be rejected as long as -polly-allow-nonaffine isn't given. diff --git a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll index 921f6ab535499..23c1765caecac 100644 --- a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll +++ b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES ; ; Here we have a non-affine loop (in the context of the loop nest) ; and also a non-affine access (A[k]). While we can always detect the diff --git a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll index 78774d92e0a46..6e239a6570668 100644 --- a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll +++ b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES ; ; Here we have a non-affine loop (in the context of the loop nest) ; and also a non-affine access (A[k]). While we can always detect the diff --git a/polly/test/ScopDetect/non-affine-loop.ll b/polly/test/ScopDetect/non-affine-loop.ll index 5136b3b8779b1..dd675ccec5999 100644 --- a/polly/test/ScopDetect/non-affine-loop.ll +++ b/polly/test/ScopDetect/non-affine-loop.ll @@ -1,8 +1,8 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINEREGIONSANDACCESSES -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine -polly-process-unprofitable=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false -polly-allow-nonaffine '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINEREGIONSANDACCESSES +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT ; ; This function/region does contain a loop, however it is non-affine, hence the access ; A[i] is also. Furthermore, it is the only loop, thus when we over approximate diff --git a/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll b/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll index fd52c5df7b27e..63b1cdb420b71 100644 --- a/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll +++ b/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK-NOT: Valid ; diff --git a/polly/test/ScopDetect/non-constant-add-rec-start-expr.ll b/polly/test/ScopDetect/non-constant-add-rec-start-expr.ll index d0c1f7a613332..ff4ad3218ffa5 100644 --- a/polly/test/ScopDetect/non-constant-add-rec-start-expr.ll +++ b/polly/test/ScopDetect/non-constant-add-rec-start-expr.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Valid Region for Scop: bb11 => bb25 diff --git a/polly/test/ScopDetect/non-simple-memory-accesses.ll b/polly/test/ScopDetect/non-simple-memory-accesses.ll index bdc48984f9961..5b9ed2b2ecae7 100644 --- a/polly/test/ScopDetect/non-simple-memory-accesses.ll +++ b/polly/test/ScopDetect/non-simple-memory-accesses.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that we do not model atomic memory accesses. We did not reason about ; how to handle them correctly and the Alias Set Tracker models some of them diff --git a/polly/test/ScopDetect/non_affine_loop_condition.ll b/polly/test/ScopDetect/non_affine_loop_condition.ll index 63bd7b3a2f1f2..3c487374c1973 100644 --- a/polly/test/ScopDetect/non_affine_loop_condition.ll +++ b/polly/test/ScopDetect/non_affine_loop_condition.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops -polly-process-unprofitable=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT ; ; void f(int *A) { ; for (int i = 0; i < 1024; i++) { diff --git a/polly/test/ScopDetect/only-one-affine-loop.ll b/polly/test/ScopDetect/only-one-affine-loop.ll index 1d36f4df35bc3..a8ce5bc636833 100644 --- a/polly/test/ScopDetect/only-one-affine-loop.ll +++ b/polly/test/ScopDetect/only-one-affine-loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable=false -polly-allow-nonaffine-loops '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable=false -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; Even if we allow non-affine loops we can only model the outermost loop, all ; other loops are boxed in non-affine regions. However, the inner loops can be diff --git a/polly/test/ScopDetect/only_func_flag.ll b/polly/test/ScopDetect/only_func_flag.ll index 4742375fec5cf..f4f35048fa8a0 100644 --- a/polly/test/ScopDetect/only_func_flag.ll +++ b/polly/test/ScopDetect/only_func_flag.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-only-func=f,g '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-only-func=f,g '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that the flag `-polly-only-func` limits analysis to `f` and `g`. ; diff --git a/polly/test/ScopDetect/only_func_flag_regex.ll b/polly/test/ScopDetect/only_func_flag_regex.ll index 2ad22c9f7a7f5..f180fa765f4b0 100644 --- a/polly/test/ScopDetect/only_func_flag_regex.ll +++ b/polly/test/ScopDetect/only_func_flag_regex.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-only-func=f.*,g.* '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-polly-only-func=f.*,g.*' '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that the flag `-polly-only-func` works with regexes. ; diff --git a/polly/test/ScopDetect/parametric-multiply-in-scev-2.ll b/polly/test/ScopDetect/parametric-multiply-in-scev-2.ll index 271825a58c399..71d1ba0accd32 100644 --- a/polly/test/ScopDetect/parametric-multiply-in-scev-2.ll +++ b/polly/test/ScopDetect/parametric-multiply-in-scev-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK-NOT: Valid Region diff --git a/polly/test/ScopDetect/parametric-multiply-in-scev.ll b/polly/test/ScopDetect/parametric-multiply-in-scev.ll index 2ab8997c63331..6768c969a7428 100644 --- a/polly/test/ScopDetect/parametric-multiply-in-scev.ll +++ b/polly/test/ScopDetect/parametric-multiply-in-scev.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; foo(float *A, long n, long k) { ; if (true) diff --git a/polly/test/ScopDetect/phi_with_multi_exiting_edges.ll b/polly/test/ScopDetect/phi_with_multi_exiting_edges.ll index 248bb43aacd98..2e16b75ee3106 100644 --- a/polly/test/ScopDetect/phi_with_multi_exiting_edges.ll +++ b/polly/test/ScopDetect/phi_with_multi_exiting_edges.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; Region with an exit node that has a PHI node multiple incoming edges from ; inside the region. Motivation for supporting such cases in Polly. diff --git a/polly/test/ScopDetect/profitability-large-basic-blocks.ll b/polly/test/ScopDetect/profitability-large-basic-blocks.ll index d74185b45c752..ac27016e3622d 100644 --- a/polly/test/ScopDetect/profitability-large-basic-blocks.ll +++ b/polly/test/ScopDetect/profitability-large-basic-blocks.ll @@ -1,12 +1,8 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable=false \ -; RUN: -polly-detect-profitability-min-per-loop-insts=40 \ -; RUN: '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PROFITABLE +; RUN: opt %loadNPMPolly -polly-process-unprofitable=false -polly-detect-profitability-min-per-loop-insts=40 '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PROFITABLE -; RUN: opt %loadNPMPolly -polly-process-unprofitable=true \ -; RUN: '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PROFITABLE +; RUN: opt %loadNPMPolly -polly-process-unprofitable=true '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PROFITABLE -; RUN: opt %loadNPMPolly -polly-process-unprofitable=false \ -; RUN: '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=UNPROFITABLE +; RUN: opt %loadNPMPolly -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=UNPROFITABLE ; UNPROFITABLE-NOT: Valid Region for Scop: ; PROFITABLE: Valid Region for Scop: diff --git a/polly/test/ScopDetect/profitability-two-nested-loops.ll b/polly/test/ScopDetect/profitability-two-nested-loops.ll index 0291d3be452a1..80379bcc5d412 100644 --- a/polly/test/ScopDetect/profitability-two-nested-loops.ll +++ b/polly/test/ScopDetect/profitability-two-nested-loops.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Valid Region for Scop: next => bb3 ; diff --git a/polly/test/ScopDetect/remove_all_children.ll b/polly/test/ScopDetect/remove_all_children.ll index d95e9bde0b384..1c77d730ed418 100644 --- a/polly/test/ScopDetect/remove_all_children.ll +++ b/polly/test/ScopDetect/remove_all_children.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" diff --git a/polly/test/ScopDetect/report-scop-location.ll b/polly/test/ScopDetect/report-scop-location.ll index 5e4c38db5e53c..530a22f9ac3d4 100644 --- a/polly/test/ScopDetect/report-scop-location.ll +++ b/polly/test/ScopDetect/report-scop-location.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-report -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-report -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-i64:64-f80:128-s:64-n8:16:32:64-S128" ; Function Attrs: nounwind uwtable diff --git a/polly/test/ScopDetect/restrict-undef-size-scopdetect.ll b/polly/test/ScopDetect/restrict-undef-size-scopdetect.ll index f49190b33ccf7..2ade0a97a5991 100644 --- a/polly/test/ScopDetect/restrict-undef-size-scopdetect.ll +++ b/polly/test/ScopDetect/restrict-undef-size-scopdetect.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK-NOT: Valid Region for Scop: target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopDetect/run_time_alias_check.ll b/polly/test/ScopDetect/run_time_alias_check.ll index 74cbedb34e5c6..6f327e318082c 100644 --- a/polly/test/ScopDetect/run_time_alias_check.ll +++ b/polly/test/ScopDetect/run_time_alias_check.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" diff --git a/polly/test/ScopDetect/scev_remove_max.ll b/polly/test/ScopDetect/scev_remove_max.ll index f76c832ff08f5..4f03845795c9c 100644 --- a/polly/test/ScopDetect/scev_remove_max.ll +++ b/polly/test/ScopDetect/scev_remove_max.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect < %s ; This test case helps to determine whether SCEVRemoveMax::remove produces ; an infinite loop and a segmentation fault, if it processes, for example, diff --git a/polly/test/ScopDetect/sequential_loops.ll b/polly/test/ScopDetect/sequential_loops.ll index 4a84f356f3e81..338a9ae6b6b0e 100644 --- a/polly/test/ScopDetect/sequential_loops.ll +++ b/polly/test/ScopDetect/sequential_loops.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" diff --git a/polly/test/ScopDetect/simple_loop.ll b/polly/test/ScopDetect/simple_loop.ll index 33823b21fb8fb..5da4898517e22 100644 --- a/polly/test/ScopDetect/simple_loop.ll +++ b/polly/test/ScopDetect/simple_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/simple_loop_non_single_entry.ll b/polly/test/ScopDetect/simple_loop_non_single_entry.ll index 1bba2c21c7473..00e11ab252e73 100644 --- a/polly/test/ScopDetect/simple_loop_non_single_entry.ll +++ b/polly/test/ScopDetect/simple_loop_non_single_entry.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/simple_loop_non_single_exit.ll b/polly/test/ScopDetect/simple_loop_non_single_exit.ll index 93ec84e911c5d..9f75b80f58cef 100644 --- a/polly/test/ScopDetect/simple_loop_non_single_exit.ll +++ b/polly/test/ScopDetect/simple_loop_non_single_exit.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll b/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll index 33b0d8d7d6fc0..c6ce482403400 100644 --- a/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll +++ b/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll b/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll index 9b47b7c946caf..c90c4915e866d 100644 --- a/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll +++ b/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/simple_loop_with_param.ll b/polly/test/ScopDetect/simple_loop_with_param.ll index 4a0a3adab661d..67f677892313c 100644 --- a/polly/test/ScopDetect/simple_loop_with_param.ll +++ b/polly/test/ScopDetect/simple_loop_with_param.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PHI +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PHI ; void f(long A[], long N, long *init_ptr) { ; long i, j; diff --git a/polly/test/ScopDetect/simple_loop_with_param_2.ll b/polly/test/ScopDetect/simple_loop_with_param_2.ll index 670936b6fee80..9e7b55efc48d9 100644 --- a/polly/test/ScopDetect/simple_loop_with_param_2.ll +++ b/polly/test/ScopDetect/simple_loop_with_param_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], int N, int *init_ptr) { ; long i, j; diff --git a/polly/test/ScopDetect/simple_non_single_entry.ll b/polly/test/ScopDetect/simple_non_single_entry.ll index 6ace3b636019b..e56c022aa5466 100644 --- a/polly/test/ScopDetect/simple_non_single_entry.ll +++ b/polly/test/ScopDetect/simple_non_single_entry.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetect/skip_function_attribute.ll b/polly/test/ScopDetect/skip_function_attribute.ll index 2150a3e8c35dd..789942a950051 100644 --- a/polly/test/ScopDetect/skip_function_attribute.ll +++ b/polly/test/ScopDetect/skip_function_attribute.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; Verify polly skips this function ; diff --git a/polly/test/ScopDetect/srem_with_parametric_divisor.ll b/polly/test/ScopDetect/srem_with_parametric_divisor.ll index 66c3b045f62a4..471602968055e 100644 --- a/polly/test/ScopDetect/srem_with_parametric_divisor.ll +++ b/polly/test/ScopDetect/srem_with_parametric_divisor.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK-NOT: Valid Region for Scop: ; diff --git a/polly/test/ScopDetect/statistics.ll b/polly/test/ScopDetect/statistics.ll index a1dcebec63ff8..5d87599da29f7 100644 --- a/polly/test/ScopDetect/statistics.ll +++ b/polly/test/ScopDetect/statistics.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -stats -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -stats -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts diff --git a/polly/test/ScopDetect/switch-in-loop-patch.ll b/polly/test/ScopDetect/switch-in-loop-patch.ll index 2f9b670384db2..1e825f4950afa 100644 --- a/polly/test/ScopDetect/switch-in-loop-patch.ll +++ b/polly/test/ScopDetect/switch-in-loop-patch.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK-NOT: Valid diff --git a/polly/test/ScopDetect/tlr_is_hoistable_load.ll b/polly/test/ScopDetect/tlr_is_hoistable_load.ll index 5c33522f62325..24a3f55a519e2 100644 --- a/polly/test/ScopDetect/tlr_is_hoistable_load.ll +++ b/polly/test/ScopDetect/tlr_is_hoistable_load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-invariant-load-hoisting -polly-detect-full-functions -polly-print-scops -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting -polly-detect-full-functions '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s ; ; This testcase checks for compatibility of the -detect-full-functions ; flag in combination with the -invariant-load-hoisting option. More diff --git a/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll b/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll index 4ae86a940e0c8..e7245d80b60ed 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-use-runtime-alias-checks=false -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly -polly-use-runtime-alias-checks=false -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ;void f(int A[], int B[]) { ; for (int i=0; i<42; i++) diff --git a/polly/test/ScopDetectionDiagnostics/ReportEntry.ll b/polly/test/ScopDetectionDiagnostics/ReportEntry.ll index adb14b5b017d4..2a0b281073f59 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportEntry.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportEntry.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed="polly-detect" -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -pass-remarks-missed=polly-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: remark: :0:0: Scop contains function entry (not yet supported). diff --git a/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll b/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll index 428a7cf855f6e..fc4c1fbcef484 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; #define N 1024 ; double invalidCall(double A[N]); diff --git a/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll b/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll index 30e5fb9fdeba8..7a540d606eadf 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed="polly-detect" -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -pass-remarks-missed=polly-detect -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ;void foo(int a, int b) { diff --git a/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll b/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll index 2bc515e0ae5e1..512366f1bc7ce 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed="polly-detect" -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -pass-remarks-missed=polly-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: remark: :0:0: Irreducible region encountered in control flow. diff --git a/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll b/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll index a96b64e4e0d54..e844aea24ac26 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll @@ -1,16 +1,6 @@ -; RUN: opt %loadNPMPolly \ -; RUN: -pass-remarks-missed="polly-detect" -polly-detect-track-failures \ -; RUN: -polly-allow-nonaffine-loops=false '-passes=print' -disable-output \ -; RUN: < %s 2>&1| FileCheck %s --check-prefix=REJECTNONAFFINELOOPS -; RUN: opt %loadNPMPolly \ -; RUN: -pass-remarks-missed="polly-detect" -polly-detect-track-failures \ -; RUN: -polly-allow-nonaffine-loops=true '-passes=print' -disable-output \ -; RUN: < %s 2>&1| FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" \ -; RUN: -polly-process-unprofitable=false \ -; RUN: -polly-detect-track-failures -polly-allow-nonaffine-loops=true \ -; RUN: -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s --check-prefix=ALLOWNONAFFINEALL +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-process-unprofitable=false -polly-detect-track-failures -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALLOWNONAFFINEALL ; void f(int A[], int n) { ; for (int i = 0; i < A[n+i]; i++) diff --git a/polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll b/polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll index 6156efaea1909..d80911cc0ec9a 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll @@ -4,8 +4,8 @@ ; the PostDominatorTree. Infinite loops are postdominated only by the virtual ; root, which causes them not to appear in regions in ScopDetection anymore. -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-allow-nonaffine-loops '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-allow-nonaffine-loops=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void func (int param0, int N, int *A) ; { diff --git a/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll b/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll index dd95bd6ede715..d8c2916cc23bb 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll @@ -1,9 +1,9 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -disable-output < %s 2>&1| FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -polly-delinearize=false -polly-detect-keep-going -disable-output < %s 2>&1| FileCheck %s -check-prefix=ALL -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -disable-output < %s 2>&1| FileCheck %s -check-prefix=DELIN -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -polly-detect-keep-going -disable-output < %s 2>&1| FileCheck %s -check-prefix=DELIN-ALL -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -polly-allow-nonaffine -disable-output < %s 2>&1| FileCheck %s -check-prefix=NONAFFINE -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -polly-allow-nonaffine -disable-output < %s 2>&1| FileCheck %s -check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -polly-delinearize=false -polly-detect-keep-going -disable-output < %s 2>&1 | FileCheck %s -check-prefix=ALL +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DELIN +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -polly-detect-keep-going -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DELIN-ALL +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NONAFFINE ; 1 void manyaccesses(float A[restrict], long n, float B[restrict][n]) ; 2 { diff --git a/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll b/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll index 13ac9d5ace2d3..ee0aa743f434b 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; void f(int A[]) { ; for(int i=0; i<42; ++i) diff --git a/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll b/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll index 93e9e8b14038b..ad2c813c4b7ce 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll @@ -1,10 +1,6 @@ -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" \ -; RUN: -polly-detect-track-failures '-passes=print' -disable-output \ -; RUN: -polly-process-unprofitable=false < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output -polly-process-unprofitable=false < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" \ -; RUN: -polly-detect-track-failures '-passes=print' -disable-output \ -; RUN: -polly-process-unprofitable=false < %s 2>&1 -pass-remarks-output=%t.yaml +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output -polly-process-unprofitable=false -pass-remarks-output=%t.yaml < %s 2>&1 ; RUN: cat %t.yaml | FileCheck -check-prefix=YAML %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll b/polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll index d110cfefc27dd..d97032c8f8eaf 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s \ -; RUN: -pass-remarks-missed="polly-detect" 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output -pass-remarks-missed=polly-detect < %s 2>&1 | FileCheck %s ; void f(long A[], long N) { ; long i; diff --git a/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll b/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll index 5f296fae9532b..7a5025c0c2fbe 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s ; struct b { ; double **b; diff --git a/polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll b/polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll index 3cdeed13ec285..e15c045907ddf 100644 --- a/polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll +++ b/polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print' -disable-output 2>&1 < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -pass-remarks-missed=polly-detect -polly-detect-track-failures '-passes=polly-custom' -polly-print-detect -disable-output 2>&1 < %s | FileCheck %s -match-full-lines ; ; Derived from test-suite/MultiSource/Benchmarks/BitBench/uuencode/uuencode.c ; diff --git a/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll b/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll index 4a9a200d67dfd..b5918d9f7a2d4 100644 --- a/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll +++ b/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed="polly-detect" -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -pass-remarks-missed=polly-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: remark: :0:0: Loop cannot be handled because not all latches are part of loop region. diff --git a/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll b/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll index 61ff033d9f934..502abf8dab6d7 100644 --- a/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll +++ b/polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-missed="polly-detect" -disable-output < %s 2>&1| FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -pass-remarks-missed=polly-detect -disable-output < %s 2>&1 | FileCheck %s ; CHECK: remark: :0:0: Loop cannot be handled because not all latches are part of loop region. ; CHECK: remark: :0:0: Loop cannot be handled because not all latches are part of loop region. diff --git a/polly/test/ScopInfo/20110312-Fail-without-basicaa.ll b/polly/test/ScopInfo/20110312-Fail-without-basicaa.ll index c5efec3f50c58..accb562771819 100644 --- a/polly/test/ScopInfo/20110312-Fail-without-basicaa.ll +++ b/polly/test/ScopInfo/20110312-Fail-without-basicaa.ll @@ -1,5 +1,5 @@ ; This should be run without alias analysis enabled. -;RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" define i32 @main() nounwind { diff --git a/polly/test/ScopInfo/20111108-Parameter-not-detected.ll b/polly/test/ScopInfo/20111108-Parameter-not-detected.ll index 81c7efb963652..57ae977a1a13f 100644 --- a/polly/test/ScopInfo/20111108-Parameter-not-detected.ll +++ b/polly/test/ScopInfo/20111108-Parameter-not-detected.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" declare void @foo() diff --git a/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll b/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll index 5abf8ff29ef85..3cb63cc4f952c 100644 --- a/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll +++ b/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-a0:0-n32" diff --git a/polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll b/polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll index d16ba453f9815..668fcd8fabcaf 100644 --- a/polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll +++ b/polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-scops -disable-output < %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/Alias-0.ll b/polly/test/ScopInfo/Alias-0.ll index ebbe744627ef8..50c1b65727eaf 100644 --- a/polly/test/ScopInfo/Alias-0.ll +++ b/polly/test/ScopInfo/Alias-0.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=RTA -; RUN: opt %loadNPMPolly '-passes=print' -polly-use-runtime-alias-checks=false -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=NORTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=RTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-use-runtime-alias-checks=false -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=NORTA ; REQUIRES: asserts target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/Alias-1.ll b/polly/test/ScopInfo/Alias-1.ll index b1711c25857d0..15fd6c936fc47 100644 --- a/polly/test/ScopInfo/Alias-1.ll +++ b/polly/test/ScopInfo/Alias-1.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=RTA -; RUN: opt %loadNPMPolly '-passes=print' -polly-use-runtime-alias-checks=false -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=NORTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=RTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-use-runtime-alias-checks=false -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=NORTA ; REQUIRES: asserts target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/Alias-2.ll b/polly/test/ScopInfo/Alias-2.ll index b94f130c94ebd..598ad0fe8cf1c 100644 --- a/polly/test/ScopInfo/Alias-2.ll +++ b/polly/test/ScopInfo/Alias-2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=RTA -; RUN: opt %loadNPMPolly '-passes=print' -polly-use-runtime-alias-checks=false -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=NORTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=RTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-use-runtime-alias-checks=false -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=NORTA ; REQUIRES: asserts target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/Alias-3.ll b/polly/test/ScopInfo/Alias-3.ll index af7816546b4ab..388a2defec395 100644 --- a/polly/test/ScopInfo/Alias-3.ll +++ b/polly/test/ScopInfo/Alias-3.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=RTA -; RUN: opt %loadNPMPolly '-passes=print' -polly-use-runtime-alias-checks=false -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=NORTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=RTA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-use-runtime-alias-checks=false -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=NORTA ; REQUIRES: asserts target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/Alias-4.ll b/polly/test/ScopInfo/Alias-4.ll index fe651c87b241c..e9f4f95a9997f 100644 --- a/polly/test/ScopInfo/Alias-4.ll +++ b/polly/test/ScopInfo/Alias-4.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline= '-passes=print,print' -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=RTA -; RUN: opt %loadNPMPolly -aa-pipeline= '-passes=print,print' -polly-use-runtime-alias-checks=false -disable-output < %s -stats 2>&1 | FileCheck %s --check-prefix=NORTA +; RUN: opt %loadNPMPolly -aa-pipeline= '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=RTA +; RUN: opt %loadNPMPolly -aa-pipeline= '-passes=polly-custom' -polly-print-detect -polly-print-scops -polly-use-runtime-alias-checks=false -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=NORTA ; REQUIRES: asserts target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/BoundChecks/single-loop.ll b/polly/test/ScopInfo/BoundChecks/single-loop.ll index 0b69beaaf3f9c..d44c18cf49e36 100644 --- a/polly/test/ScopInfo/BoundChecks/single-loop.ll +++ b/polly/test/ScopInfo/BoundChecks/single-loop.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; This only works after the post-dominator tree has been fixed. ; diff --git a/polly/test/ScopInfo/BoundChecks/two-loops.ll b/polly/test/ScopInfo/BoundChecks/two-loops.ll index f2ba17d33c0ea..9034f75f13792 100644 --- a/polly/test/ScopInfo/BoundChecks/two-loops.ll +++ b/polly/test/ScopInfo/BoundChecks/two-loops.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output< %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; This only works after the post-dominator tree has fixed. ; XFAIL: * diff --git a/polly/test/ScopInfo/NonAffine/div_backedge.ll b/polly/test/ScopInfo/NonAffine/div_backedge.ll index 3b0c673ece38b..e8edad9494075 100644 --- a/polly/test/ScopInfo/NonAffine/div_backedge.ll +++ b/polly/test/ScopInfo/NonAffine/div_backedge.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(float *A) { ; for (long i = 1;; i++) { diff --git a/polly/test/ScopInfo/NonAffine/div_domain.ll b/polly/test/ScopInfo/NonAffine/div_domain.ll index 34a5cecdfe3df..c195bb42dac9f 100644 --- a/polly/test/ScopInfo/NonAffine/div_domain.ll +++ b/polly/test/ScopInfo/NonAffine/div_domain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(float *A) { ; for (long i = 0; i < 16; i++) { diff --git a/polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll b/polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll index 7d02fae7f98f3..31ecdaa0ef3e4 100644 --- a/polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll +++ b/polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int *B, int *C) { ; for (int i = 0; i < 1000; i++) diff --git a/polly/test/ScopInfo/NonAffine/modulo_backedge.ll b/polly/test/ScopInfo/NonAffine/modulo_backedge.ll index d5c808d9021f2..e0cd1e51a095c 100644 --- a/polly/test/ScopInfo/NonAffine/modulo_backedge.ll +++ b/polly/test/ScopInfo/NonAffine/modulo_backedge.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Domain := ; CHECK: { Stmt_for_body[i0] : 0 <= i0 <= 6 }; diff --git a/polly/test/ScopInfo/NonAffine/modulo_domain.ll b/polly/test/ScopInfo/NonAffine/modulo_domain.ll index 13fe53f11633d..53bbe15799e61 100644 --- a/polly/test/ScopInfo/NonAffine/modulo_domain.ll +++ b/polly/test/ScopInfo/NonAffine/modulo_domain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; TODO: The new domain generation cannot handle modulo domain constraints, ; hence modulo handling has been disabled completely. Once this is diff --git a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll index 2b8427d74ec84..7d34ef9644b5a 100644 --- a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll +++ b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCALAR -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-process-unprofitable=false '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PROFIT +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCALAR +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=PROFIT ; ; SCALAR: Function: f ; SCALAR-NEXT: Region: %bb1---%bb13 diff --git a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll index 30f756e81e474..a40afdde1237f 100644 --- a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll +++ b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALL +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALL ; ; Here we have a non-affine loop (in the context of the loop nest) ; and also a non-affine access (A[k]). While we can always model the diff --git a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll index 6dacd719862ef..f3678d3245f57 100644 --- a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll +++ b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALL +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALL ; ; Here we have a non-affine loop (in the context of the loop nest) ; and also a non-affine access (A[k]). While we can always model the diff --git a/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll b/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll index 8a13f791ed6de..85a1081159d59 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A) { ; for (int i = 0; i < 128; i++) diff --git a/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll b/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll index 1e70d2c9db87e..65513a5d9d1fb 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_for_body diff --git a/polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll b/polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll index dcfaa9280dcb8..0185774d6274c 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void pos(float *A, long n) { ; for (long i = 0; i < 100; i++) diff --git a/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll b/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll index 24bfe60502163..ab47dc0b78260 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll b/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll index 931ad36d15f34..51a7d54562780 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll @@ -1,12 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-allow-nonaffine-loops=true \ -; RUN: '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST -; RUN: opt %loadNPMPolly -polly-allow-nonaffine \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \ -; RUN: '-passes=print' -disable-output < %s 2>&1 | FileCheck %s \ -; RUN: --check-prefix=ALL +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-invariant-load-hoisting=true -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-invariant-load-hoisting=true -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALL ; ; Negative test for INNERMOST. ; At the moment we will optimistically assume A[i] in the conditional before the inner diff --git a/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll b/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll index 37b51cebd74d5..b1f7e65e9dd25 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll @@ -1,16 +1,6 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-allow-nonaffine-loops=true \ -; RUN: '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST -; RUN: opt %loadNPMPolly -polly-allow-nonaffine \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \ -; RUN: '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALL -; RUN: opt %loadNPMPolly -polly-allow-nonaffine \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-process-unprofitable=false \ -; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \ -; RUN: '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-invariant-load-hoisting=true -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=INNERMOST +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-invariant-load-hoisting=true -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=ALL +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-invariant-load-hoisting=true -polly-process-unprofitable=false -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT ; ; Negative test for INNERMOST. ; At the moment we will optimistically assume A[i] in the conditional before the inner diff --git a/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll b/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll index 7bfd7f86efcdb..ac77dfb7454d3 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(float *A) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll b/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll index fc779d544e62f..db08544aa559c 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll @@ -1,6 +1,6 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -polly-process-unprofitable=false '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -polly-detect-reductions=false '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NO-REDUCTION +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -polly-detect-reductions=false '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NO-REDUCTION ; ; void f(int *A, int *C) { ; for (int i = 0; i < 1024; i++) { diff --git a/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll b/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll index 63ff354d7e5f7..cde2dc495d549 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -polly-unprofitable-scalar-accs=true -polly-process-unprofitable=false '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -polly-unprofitable-scalar-accs=true -polly-process-unprofitable=false '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=PROFIT ; ; Verify that we over approximate the read access of A[j] in the last statement as j is ; computed in a non-affine loop we do not model. diff --git a/polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll b/polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll index d33befe2c66e0..ce4cc6189d45c 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long n, double A[], int INDEX[]) { diff --git a/polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll b/polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll index 77c2df48d6514..b46ce87a45e2d 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops -polly-detect '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops -polly-detect '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll b/polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll index 9ed340d1d304b..58e5ccd9b6e36 100644 --- a/polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll +++ b/polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; Regression test that triggered a memory leak at some point (24947). ; diff --git a/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll b/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll index cbd024ba7a392..d94fc5f8a8823 100644 --- a/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll +++ b/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that there is no alias group because we either access A or B never both. ; diff --git a/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll b/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll index 3858d8a7bb1d6..df7f75dd8d95e 100644 --- a/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll +++ b/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we create two alias groups since the minimal/maximal accesses ; depend on %b. diff --git a/polly/test/ScopInfo/aliasing_dead_access.ll b/polly/test/ScopInfo/aliasing_dead_access.ll index 7baa3dce1f9db..0ebc39c0e5a78 100644 --- a/polly/test/ScopInfo/aliasing_dead_access.ll +++ b/polly/test/ScopInfo/aliasing_dead_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we do not create a SCoP if there is no statement executed. ; diff --git a/polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll b/polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll index 7265aab22a490..8e5bab661e18c 100644 --- a/polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll +++ b/polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll @@ -1,8 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output \ -; RUN: < %s 2>&1 | FileCheck %s --check-prefix=FOUND -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output \ -; RUN: -polly-rtc-max-arrays-per-group=3 < %s 2>&1 | FileCheck %s \ -; RUN: --check-prefix=IGNORED +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=FOUND +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output -polly-rtc-max-arrays-per-group=3 < %s 2>&1 | FileCheck %s --check-prefix=IGNORED ; ; FOUND: Function: foo ; IGNORED-NOT: Function: foo diff --git a/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll b/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll index c7592bcb09fcf..aec6ea0bf1441 100644 --- a/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll +++ b/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadPolly -polly-analysis-computeout=0 -polly-print-scops -polly-rtc-max-parameters=8 -disable-output < %s | FileCheck %s --check-prefix=MAX8 -; RUN: opt %loadPolly -polly-analysis-computeout=0 -polly-print-scops -polly-rtc-max-parameters=7 -disable-output < %s | FileCheck %s --check-prefix=MAX7 +; RUN: opt %loadNPMPolly -polly-analysis-computeout=0 '-passes=polly-custom' -polly-print-scops -polly-rtc-max-parameters=8 -disable-output < %s | FileCheck %s --check-prefix=MAX8 +; RUN: opt %loadNPMPolly -polly-analysis-computeout=0 '-passes=polly-custom' -polly-print-scops -polly-rtc-max-parameters=7 -disable-output < %s | FileCheck %s --check-prefix=MAX7 ; ; Check that we allow this SCoP even though it has 10 parameters involved in possibly aliasing accesses. ; However, only 7 are involved in accesses through B, 8 through C and none in accesses through A. diff --git a/polly/test/ScopInfo/aliasing_many_read_only_acesses.ll b/polly/test/ScopInfo/aliasing_many_read_only_acesses.ll index d66a10bc511b1..a7dbe0baeae5d 100644 --- a/polly/test/ScopInfo/aliasing_many_read_only_acesses.ll +++ b/polly/test/ScopInfo/aliasing_many_read_only_acesses.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Assumed Context: ; CHECK-NEXT: { : } diff --git a/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll b/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll index 9943802ec8595..db54a1687b4d5 100644 --- a/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll +++ b/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output -aa-pipeline= < %s 2>&1 | FileCheck %s --check-prefix=NOAA -; RUN: opt %loadNPMPolly '-passes=print' -disable-output -aa-pipeline=tbaa < %s 2>&1 | FileCheck %s --check-prefix=TBAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -aa-pipeline= < %s 2>&1 | FileCheck %s --check-prefix=NOAA +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -aa-pipeline=tbaa < %s 2>&1 | FileCheck %s --check-prefix=TBAA ; ; void jd(int *Int0, int *Int1, float *Float0, float *Float1) { ; for (int i = 0; i < 1024; i++) { diff --git a/polly/test/ScopInfo/aliasing_with_non_affine_access.ll b/polly/test/ScopInfo/aliasing_with_non_affine_access.ll index 900d5d40d96f5..0001b8adb41e1 100644 --- a/polly/test/ScopInfo/aliasing_with_non_affine_access.ll +++ b/polly/test/ScopInfo/aliasing_with_non_affine_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-process-unprofitable -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -polly-process-unprofitable -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s ; ; @test1 ; Make sure we generate the correct aliasing check for a fixed-size memset operation. diff --git a/polly/test/ScopInfo/allow-all-parameters-dereferencable.ll b/polly/test/ScopInfo/allow-all-parameters-dereferencable.ll index 70c3c56fb3112..93253b7e65d4a 100644 --- a/polly/test/ScopInfo/allow-all-parameters-dereferencable.ll +++ b/polly/test/ScopInfo/allow-all-parameters-dereferencable.ll @@ -1,14 +1,9 @@ -; RUN: opt %loadNPMPolly -disable-output -polly-invariant-load-hoisting \ -; RUN: -polly-allow-dereference-of-all-function-parameters \ -; RUN: '-passes=print' < %s 2>&1 | FileCheck %s --check-prefix=SCOP +; RUN: opt %loadNPMPolly -disable-output -polly-invariant-load-hoisting -polly-allow-dereference-of-all-function-parameters '-passes=polly-custom' -polly-print-scops < %s 2>&1 | FileCheck %s --check-prefix=SCOP -; RUN: opt %loadNPMPolly -S -polly-invariant-load-hoisting \ -; RUN: -passes=polly-codegen < %s 2>&1 | FileCheck %s --check-prefix=CODE-RTC +; RUN: opt %loadNPMPolly -S -polly-invariant-load-hoisting '-passes=polly' < %s 2>&1 | FileCheck %s --check-prefix=CODE-RTC -; RUN: opt %loadNPMPolly -S -polly-invariant-load-hoisting \ -; RUN: -polly-allow-dereference-of-all-function-parameters \ -; RUN: -passes=polly-codegen < %s 2>&1 | FileCheck %s --check-prefix=CODE +; RUN: opt %loadNPMPolly -S -polly-invariant-load-hoisting -polly-allow-dereference-of-all-function-parameters '-passes=polly' < %s 2>&1 | FileCheck %s --check-prefix=CODE ; SCOP: Function: hoge ; SCOP-NEXT: Region: %bb15---%bb37 diff --git a/polly/test/ScopInfo/assume_gep_bounds.ll b/polly/test/ScopInfo/assume_gep_bounds.ll index bd14e3868d525..994d49e5b887f 100644 --- a/polly/test/ScopInfo/assume_gep_bounds.ll +++ b/polly/test/ScopInfo/assume_gep_bounds.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void foo(float A[][20][30], long n, long m, long p) { ; for (long i = 0; i < n; i++) diff --git a/polly/test/ScopInfo/assume_gep_bounds_2.ll b/polly/test/ScopInfo/assume_gep_bounds_2.ll index 7a8c1870abe25..be43be598bd3d 100644 --- a/polly/test/ScopInfo/assume_gep_bounds_2.ll +++ b/polly/test/ScopInfo/assume_gep_bounds_2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-precise-inbounds | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -disable-output -polly-precise-inbounds < %s 2>&1 | FileCheck %s ; ; void foo(float A[restrict][20], float B[restrict][20], long n, long m, ; long p) { diff --git a/polly/test/ScopInfo/assume_gep_bounds_many.ll b/polly/test/ScopInfo/assume_gep_bounds_many.ll index 01fc12cd7f108..cfd9008741c3a 100644 --- a/polly/test/ScopInfo/assume_gep_bounds_many.ll +++ b/polly/test/ScopInfo/assume_gep_bounds_many.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -disable-output '-passes=print' -polly-ignore-aliasing \ -; RUN: < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -disable-output '-passes=polly-custom' -polly-print-scops -polly-ignore-aliasing < %s 2>&1 | FileCheck %s ; CHECK: Assumed Context: ; CHECK-NEXT: [n1_a, n1_b, n1_c, n1_d, n2_a, n2_b, n2_c, n2_d, n3_a, n3_b, n3_c, n3_d, n4_a, n4_b, n4_c, n4_d, n5_a, n5_b, n5_c, n5_d, n6_a, n6_b, n6_c, n6_d, n7_a, n7_b, n7_c, n7_d, n8_a, n8_b, n8_c, n8_d, n9_a, n9_b, n9_c, n9_d, p1_b, p1_c, p1_d, p2_b, p2_c, p2_d, p3_b, p3_c, p3_d, p4_b, p4_c, p4_d, p5_b, p5_c, p5_d, p6_b, p6_c, p6_d, p7_b, p7_c, p7_d, p8_b, p8_c, p8_d, p9_b, p9_c, p9_d] -> { : p1_b >= n1_b and p1_c >= n1_c and p1_d >= n1_d and p2_b >= n2_b and p2_c >= n2_c and p2_d >= n2_d and p3_b >= n3_b and p3_c >= n3_c and p3_d >= n3_d and p4_b >= n4_b and p4_c >= n4_c and p4_d >= n4_d and p5_b >= n5_b and p5_c >= n5_c and p5_d >= n5_d and p6_b >= n6_b and p6_c >= n6_c and p6_d >= n6_d and p7_b >= n7_b and p7_c >= n7_c and p7_d >= n7_d and p8_b >= n8_b and p8_c >= n8_c and p8_d >= n8_d and p9_b >= n9_b and p9_c >= n9_c and p9_d >= n9_d } diff --git a/polly/test/ScopInfo/avoid_new_parameters_from_geps.ll b/polly/test/ScopInfo/avoid_new_parameters_from_geps.ll index 3fb7a1329c745..b3aa7686d3010 100644 --- a/polly/test/ScopInfo/avoid_new_parameters_from_geps.ll +++ b/polly/test/ScopInfo/avoid_new_parameters_from_geps.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we do no introduce a parameter here that is actually not needed. ; diff --git a/polly/test/ScopInfo/bool-addrec.ll b/polly/test/ScopInfo/bool-addrec.ll index 81fcade08f65a..01c6d52c30f76 100644 --- a/polly/test/ScopInfo/bool-addrec.ll +++ b/polly/test/ScopInfo/bool-addrec.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -disable-output '-passes=print' -polly-process-unprofitable < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -disable-output '-passes=polly-custom' -polly-print-ast -polly-process-unprofitable < %s 2>&1 | FileCheck %s ; CHECK: for (int c0 = 0; c0 <= 19999; c0 += 1) { ; CHECK-NEXT: if (c0 % 2 == 0) diff --git a/polly/test/ScopInfo/bounded_loop_assumptions.ll b/polly/test/ScopInfo/bounded_loop_assumptions.ll index 5628092de7765..21ba391f4fc1a 100644 --- a/polly/test/ScopInfo/bounded_loop_assumptions.ll +++ b/polly/test/ScopInfo/bounded_loop_assumptions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The assumed context is tricky here as the equality test for the inner loop ; allows an "unbounded" loop trip count. We assume that does not happen, thus diff --git a/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll b/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll index 83743e4e4ecc7..d25a8e666b525 100644 --- a/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll +++ b/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll @@ -1,8 +1,6 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | \ -; RUN: FileCheck %s -check-prefix=DETECT +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DETECT -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | \ -; RUN: FileCheck %s -check-prefix=SCOP +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOP ; DETECT: Valid Region for Scop: loop => barrier ; DETECT-NEXT: Valid Region for Scop: branch => end diff --git a/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll b/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll index 9685ba37a49a1..91aa96e0f3501 100644 --- a/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll +++ b/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll @@ -1,8 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | \ -; RUN: FileCheck %s -check-prefix=NONAFFINE -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output \ -; RUN: -polly-allow-nonaffine-branches=false < %s 2>&1 | \ -; RUN: FileCheck %s -check-prefix=NO-NONEAFFINE +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output -polly-allow-nonaffine-branches=false < %s 2>&1 | FileCheck %s -check-prefix=NO-NONEAFFINE ; NONAFFINE: Statements { ; NONAFFINE-NEXT: Stmt_loop diff --git a/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll b/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll index f41e6500fb30a..22a60c764eb4d 100644 --- a/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll +++ b/polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll @@ -1,8 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | \ -; RUN: FileCheck %s -check-prefix=NONAFFINE -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output \ -; RUN: -polly-allow-nonaffine-branches=false < %s 2>&1 | \ -; RUN: FileCheck %s -check-prefix=NO-NONEAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output -polly-allow-nonaffine-branches=false < %s 2>&1 | FileCheck %s -check-prefix=NO-NONEAFFINE ; NONAFFINE-NOT: Statements diff --git a/polly/test/ScopInfo/bug_2010_10_22.ll b/polly/test/ScopInfo/bug_2010_10_22.ll index 71e7051922b53..1d248891dfd09 100644 --- a/polly/test/ScopInfo/bug_2010_10_22.ll +++ b/polly/test/ScopInfo/bug_2010_10_22.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/bug_2011_1_5.ll b/polly/test/ScopInfo/bug_2011_1_5.ll index f4a24e06f46ae..7c76c3eaa565a 100644 --- a/polly/test/ScopInfo/bug_2011_1_5.ll +++ b/polly/test/ScopInfo/bug_2011_1_5.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; Bug description: Alias Analysis thinks IntToPtrInst aliases with alloca instructions created by IndependentBlocks Pass. ; This will trigger the assertion when we are verifying the SCoP after IndependentBlocks. diff --git a/polly/test/ScopInfo/bug_scev_not_fully_eval.ll b/polly/test/ScopInfo/bug_scev_not_fully_eval.ll index ed6bbafdac1f0..6e1ef2339a81d 100644 --- a/polly/test/ScopInfo/bug_scev_not_fully_eval.ll +++ b/polly/test/ScopInfo/bug_scev_not_fully_eval.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | not FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | not FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" @edge.8265 = external global [72 x i32], align 32 ; [#uses=1] diff --git a/polly/test/ScopInfo/cfg_consequences.ll b/polly/test/ScopInfo/cfg_consequences.ll index 9161d3db4167a..2b702e235ca6c 100644 --- a/polly/test/ScopInfo/cfg_consequences.ll +++ b/polly/test/ScopInfo/cfg_consequences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void consequences(int *A, int bool_cond, int lhs, int rhs) { ; diff --git a/polly/test/ScopInfo/complex-branch-structure.ll b/polly/test/ScopInfo/complex-branch-structure.ll index de79c2226e68d..f48089afb93b9 100644 --- a/polly/test/ScopInfo/complex-branch-structure.ll +++ b/polly/test/ScopInfo/complex-branch-structure.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; We build a scop of the following form to check that the domain construction ; does not take a huge amount of time, but that we instead just bail out. diff --git a/polly/test/ScopInfo/complex-condition.ll b/polly/test/ScopInfo/complex-condition.ll index c3b8d2bb0ef88..9164959c1f6dc 100644 --- a/polly/test/ScopInfo/complex-condition.ll +++ b/polly/test/ScopInfo/complex-condition.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Low complexity assumption: { : false } ; diff --git a/polly/test/ScopInfo/complex-expression.ll b/polly/test/ScopInfo/complex-expression.ll index 4a2a1d2a64a6d..456edb04e0c2b 100644 --- a/polly/test/ScopInfo/complex-expression.ll +++ b/polly/test/ScopInfo/complex-expression.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; This test case has an SCEVSMax expression with a very high arity. The ; piecewise affine function we would create for it would have a huge amount of diff --git a/polly/test/ScopInfo/complex-loop-nesting.ll b/polly/test/ScopInfo/complex-loop-nesting.ll index 36cb078f19fff..4ffd8689f1a4a 100644 --- a/polly/test/ScopInfo/complex-loop-nesting.ll +++ b/polly/test/ScopInfo/complex-loop-nesting.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/complex-successor-structure-2.ll b/polly/test/ScopInfo/complex-successor-structure-2.ll index f4a78bf753853..32425d7598bc9 100644 --- a/polly/test/ScopInfo/complex-successor-structure-2.ll +++ b/polly/test/ScopInfo/complex-successor-structure-2.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; We build a scop for the region for.body->B13. The CFG is of the following ; form and the branch conditions are build from "smax" SCEVs. However, in diff --git a/polly/test/ScopInfo/complex-successor-structure-3.ll b/polly/test/ScopInfo/complex-successor-structure-3.ll index 6da1fe3a8b9f3..c01eca534bcf1 100644 --- a/polly/test/ScopInfo/complex-successor-structure-3.ll +++ b/polly/test/ScopInfo/complex-successor-structure-3.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -disable-output '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -disable-output '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; ; Check that propagation of domains from A(X) to A(X+1) will keep the ; domains small and concise. diff --git a/polly/test/ScopInfo/complex-successor-structure.ll b/polly/test/ScopInfo/complex-successor-structure.ll index 6c87ba3e98505..1b39f4cf192eb 100644 --- a/polly/test/ScopInfo/complex-successor-structure.ll +++ b/polly/test/ScopInfo/complex-successor-structure.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; We build a scop from the region for.body->B13. The CFG is of the ; following form. The test checks that the condition construction does not take diff --git a/polly/test/ScopInfo/complex_domain_binary_condition.ll b/polly/test/ScopInfo/complex_domain_binary_condition.ll index 6e28c9dfee06a..42a114eaa6ec1 100644 --- a/polly/test/ScopInfo/complex_domain_binary_condition.ll +++ b/polly/test/ScopInfo/complex_domain_binary_condition.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Low complexity assumption: { : false } ; diff --git a/polly/test/ScopInfo/complex_execution_context.ll b/polly/test/ScopInfo/complex_execution_context.ll index 9880a1dd67d19..9896fba8904b8 100644 --- a/polly/test/ScopInfo/complex_execution_context.ll +++ b/polly/test/ScopInfo/complex_execution_context.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Low complexity assumption: ; diff --git a/polly/test/ScopInfo/cond_constant_in_loop.ll b/polly/test/ScopInfo/cond_constant_in_loop.ll index 552fddc6ff08c..ecc2767fd6ecd 100644 --- a/polly/test/ScopInfo/cond_constant_in_loop.ll +++ b/polly/test/ScopInfo/cond_constant_in_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ;void f(long a[], long N, long M) { ; long i, j, k; diff --git a/polly/test/ScopInfo/cond_in_loop.ll b/polly/test/ScopInfo/cond_in_loop.ll index c06dcd955bac1..0f31904133719 100644 --- a/polly/test/ScopInfo/cond_in_loop.ll +++ b/polly/test/ScopInfo/cond_in_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ;void f(long a[], long N, long M) { ; long i, j, k; diff --git a/polly/test/ScopInfo/condition-after-error-block-2.ll b/polly/test/ScopInfo/condition-after-error-block-2.ll index 8c4b2170ad69b..257b2ede236d9 100644 --- a/polly/test/ScopInfo/condition-after-error-block-2.ll +++ b/polly/test/ScopInfo/condition-after-error-block-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Verify that we do not allow PHI nodes such as %phi, if they reference an error ; block and are used by anything else than a terminator instruction. diff --git a/polly/test/ScopInfo/condition-after-error-block-before-scop.ll b/polly/test/ScopInfo/condition-after-error-block-before-scop.ll index d5069da916fa1..d86b48ed24963 100644 --- a/polly/test/ScopInfo/condition-after-error-block-before-scop.ll +++ b/polly/test/ScopInfo/condition-after-error-block-before-scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/polly/test/ScopInfo/condtion-after-error-block.ll b/polly/test/ScopInfo/condtion-after-error-block.ll index d9de4fc40a208..8ad98b4a4a78e 100644 --- a/polly/test/ScopInfo/condtion-after-error-block.ll +++ b/polly/test/ScopInfo/condtion-after-error-block.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Verify that we allow scops containing uniform branch conditions, where all ; but one incoming block comes from an error condition. diff --git a/polly/test/ScopInfo/const_srem_sdiv.ll b/polly/test/ScopInfo/const_srem_sdiv.ll index b4c2f119fe053..b50c4bd910dda 100644 --- a/polly/test/ScopInfo/const_srem_sdiv.ll +++ b/polly/test/ScopInfo/const_srem_sdiv.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; ; See http://research.microsoft.com/pubs/151917/divmodnote-letter.pdf ; diff --git a/polly/test/ScopInfo/constant-non-integer-branch-condition.ll b/polly/test/ScopInfo/constant-non-integer-branch-condition.ll index 86dd94e3371b2..f09f82f32c93a 100644 --- a/polly/test/ScopInfo/constant-non-integer-branch-condition.ll +++ b/polly/test/ScopInfo/constant-non-integer-branch-condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; At some point this caused a problem in the domain generation as we ; assumed any constant branch condition to be valid. However, only constant diff --git a/polly/test/ScopInfo/constant_factor_in_parameter.ll b/polly/test/ScopInfo/constant_factor_in_parameter.ll index b58d413e074e7..26c73bd72271b 100644 --- a/polly/test/ScopInfo/constant_factor_in_parameter.ll +++ b/polly/test/ScopInfo/constant_factor_in_parameter.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -disable-output '-passes=print' < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -disable-output '-passes=print' < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -disable-output '-passes=polly-custom' -polly-print-scops < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -disable-output '-passes=polly-custom' -polly-print-scops < %s 2>&1 | FileCheck %s ; ; Check that the constant part of the N * M * 4 expression is not part of the ; parameter but explicit in the access function. This can avoid existentially diff --git a/polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll b/polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll index 62e6cd4641de1..762132f9edd78 100644 --- a/polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll +++ b/polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" diff --git a/polly/test/ScopInfo/constant_start_integer.ll b/polly/test/ScopInfo/constant_start_integer.ll index 8991f8250f0b7..6d17288b28227 100644 --- a/polly/test/ScopInfo/constant_start_integer.ll +++ b/polly/test/ScopInfo/constant_start_integer.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(float *input) { diff --git a/polly/test/ScopInfo/debug_call.ll b/polly/test/ScopInfo/debug_call.ll index a6761ecebe6a7..63c1baca5accc 100644 --- a/polly/test/ScopInfo/debug_call.ll +++ b/polly/test/ScopInfo/debug_call.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-debug-func=dbg_printf '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-debug-func=dbg_printf '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; Check that the call to dbg_printf is accepted as a debug-function. ; diff --git a/polly/test/ScopInfo/delinearize-together-all-data-refs.ll b/polly/test/ScopInfo/delinearize-together-all-data-refs.ll index 676c8a27e5749..7126fb95cd00c 100644 --- a/polly/test/ScopInfo/delinearize-together-all-data-refs.ll +++ b/polly/test/ScopInfo/delinearize-together-all-data-refs.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void foo(long n, long m, long o, double A[n][m][o]) { ; for (long i = 0; i < n-3; i++) diff --git a/polly/test/ScopInfo/div_by_zero.ll b/polly/test/ScopInfo/div_by_zero.ll index aecd16833b84e..62a13de7ceac0 100644 --- a/polly/test/ScopInfo/div_by_zero.ll +++ b/polly/test/ScopInfo/div_by_zero.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/do-not-model-error-block-accesses.ll b/polly/test/ScopInfo/do-not-model-error-block-accesses.ll index a3ca59563ab1f..333175b417ade 100644 --- a/polly/test/ScopInfo/do-not-model-error-block-accesses.ll +++ b/polly/test/ScopInfo/do-not-model-error-block-accesses.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; Check that we do not crash on this input. Earlier this indeed crashed as ; we tried to model the access functions in an error block. diff --git a/polly/test/ScopInfo/eager-binary-and-or-conditions.ll b/polly/test/ScopInfo/eager-binary-and-or-conditions.ll index a988b3f8c2b01..b111851939d06 100644 --- a/polly/test/ScopInfo/eager-binary-and-or-conditions.ll +++ b/polly/test/ScopInfo/eager-binary-and-or-conditions.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output< %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s ; ; void or(float *A, long n, long m) { ; for (long i = 0; i < 100; i++) { diff --git a/polly/test/ScopInfo/early_exit_for_complex_domains.ll b/polly/test/ScopInfo/early_exit_for_complex_domains.ll index 9a1edcbfb7796..3ee6ff7889c84 100644 --- a/polly/test/ScopInfo/early_exit_for_complex_domains.ll +++ b/polly/test/ScopInfo/early_exit_for_complex_domains.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; Check we do not crash. ; diff --git a/polly/test/ScopInfo/error-blocks-1.ll b/polly/test/ScopInfo/error-blocks-1.ll index 047b095a95947..902ea15752980 100644 --- a/polly/test/ScopInfo/error-blocks-1.ll +++ b/polly/test/ScopInfo/error-blocks-1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Context: ; CHECK-NEXT: [N] -> { : -2147483648 <= N <= 2147483647 } diff --git a/polly/test/ScopInfo/error-blocks-2.ll b/polly/test/ScopInfo/error-blocks-2.ll index 6fa12947540c0..613b00a1a9ba7 100644 --- a/polly/test/ScopInfo/error-blocks-2.ll +++ b/polly/test/ScopInfo/error-blocks-2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/error-blocks-3.ll b/polly/test/ScopInfo/error-blocks-3.ll index e7643601356db..9521037888075 100644 --- a/polly/test/ScopInfo/error-blocks-3.ll +++ b/polly/test/ScopInfo/error-blocks-3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-scops -polly-detect-keep-going -polly-allow-nonaffine -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-detect-keep-going -polly-allow-nonaffine -disable-output < %s | FileCheck %s ; ; The instruction ; diff --git a/polly/test/ScopInfo/escaping_empty_scop.ll b/polly/test/ScopInfo/escaping_empty_scop.ll index 2efaef3fb99b8..d47b2865b4ee0 100644 --- a/polly/test/ScopInfo/escaping_empty_scop.ll +++ b/polly/test/ScopInfo/escaping_empty_scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void g(); ; int f(int *A) { diff --git a/polly/test/ScopInfo/exit-phi-1.ll b/polly/test/ScopInfo/exit-phi-1.ll index cbd6c280e8caa..21f13cf4f4e4d 100644 --- a/polly/test/ScopInfo/exit-phi-1.ll +++ b/polly/test/ScopInfo/exit-phi-1.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -passes=polly-codegen -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly' -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN ; ; Check for correct code generation of exit PHIs, even if the same PHI value ; is used again inside the the SCoP. diff --git a/polly/test/ScopInfo/exit-phi-2.ll b/polly/test/ScopInfo/exit-phi-2.ll index 695c617b14c1f..b8da9ab5b64f9 100644 --- a/polly/test/ScopInfo/exit-phi-2.ll +++ b/polly/test/ScopInfo/exit-phi-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that there is no MK_ExitPHI READ access. ; diff --git a/polly/test/ScopInfo/exit_phi_accesses-2.ll b/polly/test/ScopInfo/exit_phi_accesses-2.ll index b3b7cb1c65993..928b564c7cef5 100644 --- a/polly/test/ScopInfo/exit_phi_accesses-2.ll +++ b/polly/test/ScopInfo/exit_phi_accesses-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK-LABEL: Function: foo ; diff --git a/polly/test/ScopInfo/exit_phi_accesses.ll b/polly/test/ScopInfo/exit_phi_accesses.ll index 77b038ec8e4af..a54ca4a185ae2 100644 --- a/polly/test/ScopInfo/exit_phi_accesses.ll +++ b/polly/test/ScopInfo/exit_phi_accesses.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Check that PHI nodes only create PHI access and nothing else (e.g. unnecessary ; SCALAR accesses). In this case, for a PHI in the exit node, hence there is no diff --git a/polly/test/ScopInfo/expensive-boundary-context.ll b/polly/test/ScopInfo/expensive-boundary-context.ll index 95212f83acdca..c0d2dcd16289d 100644 --- a/polly/test/ScopInfo/expensive-boundary-context.ll +++ b/polly/test/ScopInfo/expensive-boundary-context.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output \ -; RUN: < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK-NOT: Assumed Context: target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll b/polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll index 5e833e7ae0f4f..2f446b630168a 100644 --- a/polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll +++ b/polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; CHECK: Valid Region for Scop: bb10 => bb16 diff --git a/polly/test/ScopInfo/full-function.ll b/polly/test/ScopInfo/full-function.ll index 596c3d0af66a9..20cb137181697 100644 --- a/polly/test/ScopInfo/full-function.ll +++ b/polly/test/ScopInfo/full-function.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output -polly-detect-full-functions < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=FULL -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=WITHOUT-FULL +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-detect-full-functions < %s 2>&1 | FileCheck %s -check-prefix=FULL +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=WITHOUT-FULL ; FULL: Region: %bb---FunctionExit ; FULL: Statements { diff --git a/polly/test/ScopInfo/granularity_same_name.ll b/polly/test/ScopInfo/granularity_same_name.ll index 17f75fbf8a979..638b09879ce39 100644 --- a/polly/test/ScopInfo/granularity_same_name.ll +++ b/polly/test/ScopInfo/granularity_same_name.ll @@ -1,7 +1,7 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-use-llvm-names=0 '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=IDX -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-use-llvm-names=1 '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=BB -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-use-llvm-names=0 '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=IDX -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-use-llvm-names=1 '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=BB +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-use-llvm-names=0 '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=IDX +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-use-llvm-names=1 '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=BB +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-use-llvm-names=0 '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=IDX +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-use-llvm-names=1 '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines -check-prefix=BB ; ; Check that the statement has the same name, regardless of how the ; basic block is split into multiple statements. diff --git a/polly/test/ScopInfo/granularity_scalar-indep.ll b/polly/test/ScopInfo/granularity_scalar-indep.ll index 5c4484f9d4579..f4d864d2c6543 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; Split a block into two independent statements that share no scalar. ; This case has the instructions of the two statements interleaved, such that diff --git a/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll b/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll index 7ae0d961b38fb..f2c37f6293d62 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; Two PHIs, cross-referencing each other. The PHI READs must be carried-out ; before the PHI WRITEs to ensure that the value when entering the block is diff --git a/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll b/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll index 7839e51c163ae..f7bd882da96e2 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; Two PHIs, cross-referencing each other. The PHI READs must be carried-out ; before the PHI WRITEs to ensure that the value when entering the block is diff --git a/polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll b/polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll index 8643e85e05593..80aa9fb6deb7c 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; Split a block into two independent statements that share no scalar. ; This case has an independent statement just for PHI writes. diff --git a/polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll b/polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll index bc71cbe45cd98..66ef9fa9429e9 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; Check that the PHI Write of value that is defined in the same basic ; block is in the statement where it is defined. diff --git a/polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll b/polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll index f3864bac519b9..3837219e5d818 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; This case has no explicit epilogue for PHI writes because it would ; have a scalar dependency to the previous statement. diff --git a/polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll b/polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll index 43101a8a0abfc..c43ad76d079d8 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; This case should be split into two statements because {X[0], Y[0]} ; and {A[0], B[0]} do not intersect. diff --git a/polly/test/ScopInfo/granularity_scalar-indep_ordered.ll b/polly/test/ScopInfo/granularity_scalar-indep_ordered.ll index 4974f7e9b28ca..cfa7739d743f7 100644 --- a/polly/test/ScopInfo/granularity_scalar-indep_ordered.ll +++ b/polly/test/ScopInfo/granularity_scalar-indep_ordered.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; ; This case cannot be split into two statements because the order of ; loads and store would be violated. diff --git a/polly/test/ScopInfo/i1_params.ll b/polly/test/ScopInfo/i1_params.ll index be3e287372017..cf5b533c02682 100644 --- a/polly/test/ScopInfo/i1_params.ll +++ b/polly/test/ScopInfo/i1_params.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that both a signed as well as an unsigned extended i1 parameter ; is represented correctly. diff --git a/polly/test/ScopInfo/infeasible-rtc.ll b/polly/test/ScopInfo/infeasible-rtc.ll index 7a0bfe0fa4d84..9221ddf5fc910 100644 --- a/polly/test/ScopInfo/infeasible-rtc.ll +++ b/polly/test/ScopInfo/infeasible-rtc.ll @@ -1,8 +1,6 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=DETECT +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DETECT -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=SCOPS +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOPS target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/infeasible_invalid_context.ll b/polly/test/ScopInfo/infeasible_invalid_context.ll index 006901ab05b79..7ab6477460721 100644 --- a/polly/test/ScopInfo/infeasible_invalid_context.ll +++ b/polly/test/ScopInfo/infeasible_invalid_context.ll @@ -1,8 +1,6 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=DETECT +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DETECT -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=SCOPS +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOPS ; DETECT: Valid Region for Scop: if.end116 => for.inc216 ; SCOPS-NOT: Statements diff --git a/polly/test/ScopInfo/int2ptr_ptr2int.ll b/polly/test/ScopInfo/int2ptr_ptr2int.ll index 578015aeecdc5..adefe794561c2 100644 --- a/polly/test/ScopInfo/int2ptr_ptr2int.ll +++ b/polly/test/ScopInfo/int2ptr_ptr2int.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s 2>&1 | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s 2>&1 | FileCheck %s --check-prefix=IR ; ; void f(long *A, long *ptr, long val) { ; for (long i = 0; i < 100; i++) { diff --git a/polly/test/ScopInfo/int2ptr_ptr2int_2.ll b/polly/test/ScopInfo/int2ptr_ptr2int_2.ll index 627524c0327dd..a88fcdc0f9b12 100644 --- a/polly/test/ScopInfo/int2ptr_ptr2int_2.ll +++ b/polly/test/ScopInfo/int2ptr_ptr2int_2.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -S -passes=polly-codegen \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s --check-prefix=IR ; ; void f(long *A, long *B, long *ptr, long val) { ; for (long i = 0; i < 100; i++) { diff --git a/polly/test/ScopInfo/integers.ll b/polly/test/ScopInfo/integers.ll index 4f6d1117e2bcc..5f89243be0e3b 100644 --- a/polly/test/ScopInfo/integers.ll +++ b/polly/test/ScopInfo/integers.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Check that we correctly convert integers to isl values. diff --git a/polly/test/ScopInfo/inter-error-bb-dependence.ll b/polly/test/ScopInfo/inter-error-bb-dependence.ll index 761fcbbe3435e..0829f34be9791 100644 --- a/polly/test/ScopInfo/inter-error-bb-dependence.ll +++ b/polly/test/ScopInfo/inter-error-bb-dependence.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' -disable-output < %s 2>&1 > /dev/null | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 > /dev/null | FileCheck %s ; ; Error statements (%bb33) do not require their uses to be verified. ; In this case it uses %tmp32 from %bb31 which is not available because diff --git a/polly/test/ScopInfo/inter_bb_scalar_dep.ll b/polly/test/ScopInfo/inter_bb_scalar_dep.ll index 7313618b082bc..f6406640dd2d8 100644 --- a/polly/test/ScopInfo/inter_bb_scalar_dep.ll +++ b/polly/test/ScopInfo/inter_bb_scalar_dep.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], int N, int *init_ptr) { ; long i, j; diff --git a/polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll b/polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll index d2ed3c17fe9dd..3150204cd9549 100644 --- a/polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll +++ b/polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Statements { ; CHECK-NEXT: Stmt_loop__TO__backedge diff --git a/polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll b/polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll index b3286cd2a7240..b0b63658caa55 100644 --- a/polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll +++ b/polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; void f(long A[], int N, int *init_ptr) { ; long i, j; diff --git a/polly/test/ScopInfo/intra_bb_scalar_dep.ll b/polly/test/ScopInfo/intra_bb_scalar_dep.ll index 86855e7499a51..0ef6b2d35106b 100644 --- a/polly/test/ScopInfo/intra_bb_scalar_dep.ll +++ b/polly/test/ScopInfo/intra_bb_scalar_dep.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; void f(long A[], int N, int *init_ptr) { ; long i, j; diff --git a/polly/test/ScopInfo/intrinsics.ll b/polly/test/ScopInfo/intrinsics.ll index e6d9e733e35bf..e17d06f753a21 100644 --- a/polly/test/ScopInfo/intrinsics.ll +++ b/polly/test/ScopInfo/intrinsics.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-print-instructions -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-print-instructions -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that we remove the ignored intrinsics from the instruction list. ; diff --git a/polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll b/polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll index 723942668d8c2..d3439d8d33662 100644 --- a/polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll +++ b/polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; This crashed at some point as we place %1 and %4 in the same equivalence class ; for invariant loads and when we remap SCEVs to use %4 instead of %1 AddRec SCEVs diff --git a/polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll b/polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll index c493c22af32d9..ff5b0f601d03f 100644 --- a/polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll +++ b/polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; Check that no invalidated iterator is accessed while elements from ; the list of MemoryAccesses are removed. diff --git a/polly/test/ScopInfo/invariant-load-instlist.ll b/polly/test/ScopInfo/invariant-load-instlist.ll index ecb80e4054c35..1ec36e6d9d1b9 100644 --- a/polly/test/ScopInfo/invariant-load-instlist.ll +++ b/polly/test/ScopInfo/invariant-load-instlist.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; The load is a required invariant load and at the same time used in a store. ; Polly used to add two MemoryAccesses for it which caused an assertion to fail. diff --git a/polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll b/polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll index 89eac6ce69a11..2d14287d4df44 100644 --- a/polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll +++ b/polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -disable-output < %s ; CHECK: Statements { ; CHECK-NEXT: Stmt_L_4 diff --git a/polly/test/ScopInfo/invariant_load.ll b/polly/test/ScopInfo/invariant_load.ll index 9dc064276c40f..8974b7f7fb8cb 100644 --- a/polly/test/ScopInfo/invariant_load.ll +++ b/polly/test/ScopInfo/invariant_load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll index 40aa3098683b3..7b5a7591813a6 100644 --- a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll +++ b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN ; ; struct { ; int a; diff --git a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll index 287676024079c..0c2f57dfcb1c3 100644 --- a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll +++ b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN ; ; struct { ; int a; diff --git a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll index cb745b4920b82..865bd789db6fb 100644 --- a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll +++ b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN ; ; int U; ; void f(int *A) { diff --git a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll index fa5429d4803a8..f63fe9cc1f7c6 100644 --- a/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll +++ b/polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN ; ; int U; ; int f(int *A) { diff --git a/polly/test/ScopInfo/invariant_load_addrec_sum.ll b/polly/test/ScopInfo/invariant_load_addrec_sum.ll index 2e639f7d5e331..e70aa80ae6009 100644 --- a/polly/test/ScopInfo/invariant_load_addrec_sum.ll +++ b/polly/test/ScopInfo/invariant_load_addrec_sum.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Region: %entry.split---%if.end ; CHECK: Invariant Accesses: { diff --git a/polly/test/ScopInfo/invariant_load_base_pointer.ll b/polly/test/ScopInfo/invariant_load_base_pointer.ll index f2539af97a0b7..1176d1ca9db85 100644 --- a/polly/test/ScopInfo/invariant_load_base_pointer.ll +++ b/polly/test/ScopInfo/invariant_load_base_pointer.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll b/polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll index f854b1f48ea92..81fd3b9559f43 100644 --- a/polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll +++ b/polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -polly-ignore-aliasing -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll b/polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll index 5a9c5c6cabbe6..7313176aceed7 100644 --- a/polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll +++ b/polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_branch_condition.ll b/polly/test/ScopInfo/invariant_load_branch_condition.ll index d12750c30ba98..f6cadffe311e8 100644 --- a/polly/test/ScopInfo/invariant_load_branch_condition.ll +++ b/polly/test/ScopInfo/invariant_load_branch_condition.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll index 34d50a18663c4..76cc55767caca 100644 --- a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll +++ b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; CHECK: Stmt_body1 ; CHECK-NEXT: Domain := diff --git a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll index 51f3cf6c095ac..9cc9391b6bc25 100644 --- a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll +++ b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; Make sure we choose a canonical element that is not the first invariant load, ; but the first that is an array base pointer. diff --git a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll index 3a742bbccdf19..7f609f9a54689 100644 --- a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll +++ b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; Verify that we canonicalize accesses even tough one of the accesses (even ; the canonical base) has a partial execution context. This is correct as diff --git a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll index 6bd8b3146e871..216e0760987cd 100644 --- a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll +++ b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; Verify that a delinearized and a not delinearized access are not ; canonicalized. diff --git a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll index cb7e5646fc2b0..5da3d0ceb2d0f 100644 --- a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll +++ b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; Verify that two arrays delinearized with different sizes are not coalesced. diff --git a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll index 6f7fbacc089cb..b71a092a2d468 100644 --- a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll +++ b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; Verify that arrays with different element types are not coalesced. diff --git a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll index 445832822bdf0..2c4683ea5ce96 100644 --- a/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll +++ b/polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: -polly-invariant-load-hoisting \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s ; Verify that nested arrays with invariant base pointers are handled correctly. ; Specifically, we currently do not canonicalize arrays where some accesses are diff --git a/polly/test/ScopInfo/invariant_load_complex_condition.ll b/polly/test/ScopInfo/invariant_load_complex_condition.ll index 11e7088d68dbd..e6ea032004a96 100644 --- a/polly/test/ScopInfo/invariant_load_complex_condition.ll +++ b/polly/test/ScopInfo/invariant_load_complex_condition.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -S '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -S '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/invariant_load_condition.ll b/polly/test/ScopInfo/invariant_load_condition.ll index c7d7b3c9ba611..8b1dc8be87c86 100644 --- a/polly/test/ScopInfo/invariant_load_condition.ll +++ b/polly/test/ScopInfo/invariant_load_condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_dereferenceable.ll b/polly/test/ScopInfo/invariant_load_dereferenceable.ll index 526bdc6ddb3bd..fc5527c48c411 100644 --- a/polly/test/ScopInfo/invariant_load_dereferenceable.ll +++ b/polly/test/ScopInfo/invariant_load_dereferenceable.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; CHECK-NOT: Function: foo_undereferanceable diff --git a/polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll b/polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll index eb148063320e7..b5525a8e2639e 100644 --- a/polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll +++ b/polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we do not consolidate the invariant loads to smp[order - 1] and ; smp[order - 2] in the blocks %0 and %16. While they have the same pointer diff --git a/polly/test/ScopInfo/invariant_load_in_non_affine.ll b/polly/test/ScopInfo/invariant_load_in_non_affine.ll index 5261113f5a0cf..69a7932fd3f58 100644 --- a/polly/test/ScopInfo/invariant_load_in_non_affine.ll +++ b/polly/test/ScopInfo/invariant_load_in_non_affine.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; ; CHECK-NOT: Valid Region for Scop ; diff --git a/polly/test/ScopInfo/invariant_load_loop_ub.ll b/polly/test/ScopInfo/invariant_load_loop_ub.ll index ee889e6c4d5a1..9258d75f6e294 100644 --- a/polly/test/ScopInfo/invariant_load_loop_ub.ll +++ b/polly/test/ScopInfo/invariant_load_loop_ub.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll b/polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll index 6af7caecc0b37..50b0103b73efb 100644 --- a/polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll +++ b/polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=tbaa '-passes=print' -polly-invariant-load-hoisting=true -polly-ignore-aliasing \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=tbaa '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s ; ; Note: The order of the invariant accesses is important because A is the ; base pointer of tmp3 and we will generate code in the same order as diff --git a/polly/test/ScopInfo/invariant_load_scalar_dep.ll b/polly/test/ScopInfo/invariant_load_scalar_dep.ll index 319f24bdcb920..ae1423e1e5f05 100644 --- a/polly/test/ScopInfo/invariant_load_scalar_dep.ll +++ b/polly/test/ScopInfo/invariant_load_scalar_dep.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_load_stmt_domain.ll b/polly/test/ScopInfo/invariant_load_stmt_domain.ll index 715948062c055..8062d875b1174 100644 --- a/polly/test/ScopInfo/invariant_load_stmt_domain.ll +++ b/polly/test/ScopInfo/invariant_load_stmt_domain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; This test case verifies that the statement domain of the invariant access ; is the universe. In earlier versions of Polly, we accidentally computed an diff --git a/polly/test/ScopInfo/invariant_load_zext_parameter-2.ll b/polly/test/ScopInfo/invariant_load_zext_parameter-2.ll index a6108320d5608..9ee4a54168a68 100644 --- a/polly/test/ScopInfo/invariant_load_zext_parameter-2.ll +++ b/polly/test/ScopInfo/invariant_load_zext_parameter-2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -scalar-evolution-max-value-compare-depth=3 '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -scalar-evolution-max-value-compare-depth=3 -passes=polly-codegen -polly-invariant-load-hoisting=true -disable-output < %s +; RUN: opt %loadNPMPolly -scalar-evolution-max-value-compare-depth=3 '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -scalar-evolution-max-value-compare-depth=3 '-passes=polly' -polly-invariant-load-hoisting=true -disable-output < %s ; ; Stress test for the code generation of invariant accesses. ; diff --git a/polly/test/ScopInfo/invariant_load_zext_parameter.ll b/polly/test/ScopInfo/invariant_load_zext_parameter.ll index e3c183aab5e26..5bd2c51d86fa6 100644 --- a/polly/test/ScopInfo/invariant_load_zext_parameter.ll +++ b/polly/test/ScopInfo/invariant_load_zext_parameter.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=CODEGEN ; ; void f(int *I0, int *I1, int *V) { ; for (int i = 0; i < 1000; i++) { diff --git a/polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll b/polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll index b5168e912ed74..426c14c191dd1 100644 --- a/polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll +++ b/polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -disable-output < %s ; ; CHECK: Execution Context: [p_0_loaded_from_currpc] -> { : } ; diff --git a/polly/test/ScopInfo/invariant_loads_complicated_dependences.ll b/polly/test/ScopInfo/invariant_loads_complicated_dependences.ll index 85360821078dc..77f74df7d7b21 100644 --- a/polly/test/ScopInfo/invariant_loads_complicated_dependences.ll +++ b/polly/test/ScopInfo/invariant_loads_complicated_dependences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll b/polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll index 134eac22bff5c..f18534d5bee24 100644 --- a/polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll +++ b/polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Negative test. If we assume UB[*V] to be invariant we get a cyclic ; dependence in the invariant loads that needs to be resolved by diff --git a/polly/test/ScopInfo/invariant_loop_bounds.ll b/polly/test/ScopInfo/invariant_loop_bounds.ll index f22199cfe4942..dcf7f50eb27c4 100644 --- a/polly/test/ScopInfo/invariant_loop_bounds.ll +++ b/polly/test/ScopInfo/invariant_loop_bounds.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll b/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll index e3292b4e4aefa..df5798638ba7c 100644 --- a/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll +++ b/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that we only have one parameter and one invariant load for all ; three loads that occur in the region but actually access the same diff --git a/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll b/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll index d69438de5817f..3d8c232c75970 100644 --- a/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll +++ b/polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that we only have one parameter and one invariant load for all ; three loads that occur in the region but actually access the same diff --git a/polly/test/ScopInfo/isl_aff_out_of_bounds.ll b/polly/test/ScopInfo/isl_aff_out_of_bounds.ll index 2df96faf76249..965531f20b01d 100644 --- a/polly/test/ScopInfo/isl_aff_out_of_bounds.ll +++ b/polly/test/ScopInfo/isl_aff_out_of_bounds.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' < %s 2>&1 +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect < %s 2>&1 ; Used to fail with: ; ../../isl/isl_aff.c:591: position out of bounds diff --git a/polly/test/ScopInfo/isl_trip_count_01.ll b/polly/test/ScopInfo/isl_trip_count_01.ll index 480b6e9574a66..79621ce64bbcc 100644 --- a/polly/test/ScopInfo/isl_trip_count_01.ll +++ b/polly/test/ScopInfo/isl_trip_count_01.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: [M, N] -> { Stmt_while_body[i0] : i0 > 0 and 4i0 <= -M + N; Stmt_while_body[0] }; ; diff --git a/polly/test/ScopInfo/isl_trip_count_02.ll b/polly/test/ScopInfo/isl_trip_count_02.ll index b78fb838edd0f..3052299277844 100644 --- a/polly/test/ScopInfo/isl_trip_count_02.ll +++ b/polly/test/ScopInfo/isl_trip_count_02.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; TODO: We do not allow unbounded loops at the moment. ; diff --git a/polly/test/ScopInfo/isl_trip_count_03.ll b/polly/test/ScopInfo/isl_trip_count_03.ll index 96df05f89bcff..52fde263d6898 100644 --- a/polly/test/ScopInfo/isl_trip_count_03.ll +++ b/polly/test/ScopInfo/isl_trip_count_03.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Test comes from a bug (15771) or better a feature request. It was not allowed ; in Polly in the old domain generation as ScalarEvolution cannot figure out the diff --git a/polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll b/polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll index fd310ececaa38..657b8f6dc64e1 100644 --- a/polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll +++ b/polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/licm_load.ll b/polly/test/ScopInfo/licm_load.ll index ade640976d007..8f1cf4fa8fd91 100644 --- a/polly/test/ScopInfo/licm_load.ll +++ b/polly/test/ScopInfo/licm_load.ll @@ -1,7 +1,4 @@ -; RUN: opt %loadNPMPolly -passes='loop(loop-rotate,indvars),polly-prepare,print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -; RUN: opt %loadNPMPolly -passes='loop-mssa(loop-rotate,indvars,licm),polly-prepare,print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(int n, float A[static const restrict n], ; float B[static const restrict n], int j) { @@ -14,26 +11,30 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define void @foo(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B, i32 %j) { entry: %tmp = sext i32 %n to i64 - br label %for.cond + %cmp1 = icmp slt i64 0, %tmp + br i1 %cmp1, label %for.body.lr.ph, label %for.end -for.cond: ; preds = %for.inc, %entry - %indvars.iv = phi i64 [ %indvars.iv.next, %for.inc ], [ 0, %entry ] - %cmp = icmp slt i64 %indvars.iv, %tmp - br i1 %cmp, label %for.body, label %for.end - -for.body: ; preds = %for.cond +for.body.lr.ph: ; preds = %entry %idxprom = sext i32 %j to i64 %arrayidx = getelementptr inbounds float, ptr %B, i64 %idxprom %tmp2 = load i32, ptr %arrayidx, align 4 - %arrayidx2 = getelementptr inbounds float, ptr %A, i64 %indvars.iv + br label %for.body + +for.body: ; preds = %for.body.lr.ph, %for.inc + %indvars.iv2 = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.inc ] + %arrayidx2 = getelementptr inbounds float, ptr %A, i64 %indvars.iv2 store i32 %tmp2, ptr %arrayidx2, align 4 br label %for.inc for.inc: ; preds = %for.body - %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - br label %for.cond + %indvars.iv.next = add nuw nsw i64 %indvars.iv2, 1 + %exitcond = icmp ne i64 %indvars.iv.next, %tmp + br i1 %exitcond, label %for.body, label %for.cond.for.end_crit_edge + +for.cond.for.end_crit_edge: ; preds = %for.inc + br label %for.end -for.end: ; preds = %for.cond +for.end: ; preds = %for.cond.for.end_crit_edge, %entry ret void } diff --git a/polly/test/ScopInfo/licm_potential_store.ll b/polly/test/ScopInfo/licm_potential_store.ll index 8a36ee84313a2..cbd8e410ed7c8 100644 --- a/polly/test/ScopInfo/licm_potential_store.ll +++ b/polly/test/ScopInfo/licm_potential_store.ll @@ -1,10 +1,4 @@ -; RUN: opt %loadNPMPolly -passes='sroa,instcombine,simplifycfg,reassociate,loop(loop-rotate),instcombine,indvars,polly-prepare,print' \ -; RUN: -tailcallopt -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s --check-prefix=NOLICM - -; RUN: opt %loadNPMPolly -passes='sroa,instcombine,simplifycfg,reassociate,loop(loop-rotate),instcombine,indvars,loop-mssa(licm),polly-prepare,print' \ -; RUN: -tailcallopt -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s --check-prefix=LICM +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -tailcallopt -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NOLICM ; void foo(int n, float A[static const restrict n], float x) { ; // (0) @@ -17,67 +11,40 @@ ; // (4) ; } -; LICM: Statements ; NOLICM: Statements target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define void @foo(i32 %n, ptr noalias nonnull %A, float %x) { entry: - %n.addr = alloca i32, align 4 - %A.addr = alloca ptr, align 8 - %x.addr = alloca float, align 4 - %i = alloca i32, align 4 - %j = alloca i32, align 4 - store i32 %n, ptr %n.addr, align 4 - store ptr %A, ptr %A.addr, align 8 - store float %x, ptr %x.addr, align 4 - %tmp = load i32, ptr %n.addr, align 4 - %tmp1 = zext i32 %tmp to i64 - store i32 0, ptr %i, align 4 - br label %for.cond - -for.cond: ; preds = %for.inc.4, %entry - %tmp2 = load i32, ptr %i, align 4 - %cmp = icmp slt i32 %tmp2, 5 - br i1 %cmp, label %for.body, label %for.end.6 + %smax = call i32 @llvm.smax.i32(i32 %n, i32 0) + %0 = add nuw i32 %smax, 1 + br label %for.cond.1.preheader -for.body: ; preds = %for.cond - store i32 0, ptr %j, align 4 +for.cond.1.preheader: ; preds = %entry, %for.end + %i.05 = phi i32 [ 0, %entry ], [ %add5, %for.end ] + %x.addr.04 = phi float [ %x, %entry ], [ %x.addr.1.lcssa, %for.end ] br label %for.cond.1 -for.cond.1: ; preds = %for.inc, %for.body - %tmp3 = load i32, ptr %j, align 4 - %tmp4 = load i32, ptr %n.addr, align 4 - %cmp2 = icmp slt i32 %tmp3, %tmp4 - br i1 %cmp2, label %for.body.3, label %for.end - -for.body.3: ; preds = %for.cond.1 - store float 7.000000e+00, ptr %x.addr, align 4 - br label %for.inc - -for.inc: ; preds = %for.body.3 - %tmp5 = load i32, ptr %j, align 4 - %add = add nsw i32 %tmp5, 1 - store i32 %add, ptr %j, align 4 - br label %for.cond.1 +for.cond.1: ; preds = %for.cond.1, %for.cond.1.preheader + %x.addr.1 = phi float [ 7.000000e+00, %for.cond.1 ], [ %x.addr.04, %for.cond.1.preheader ] + %j.0 = phi i32 [ %add, %for.cond.1 ], [ 0, %for.cond.1.preheader ] + %add = add nuw i32 %j.0, 1 + %exitcond = icmp ne i32 %add, %0 + br i1 %exitcond, label %for.cond.1, label %for.end for.end: ; preds = %for.cond.1 - %tmp6 = load float, ptr %x.addr, align 4 - %tmp7 = load ptr, ptr %A.addr, align 8 - store float %tmp6, ptr %tmp7, align 4 - br label %for.inc.4 - -for.inc.4: ; preds = %for.end - %tmp8 = load i32, ptr %i, align 4 - %add5 = add nsw i32 %tmp8, 1 - store i32 %add5, ptr %i, align 4 - br label %for.cond + %x.addr.1.lcssa = phi float [ %x.addr.1, %for.cond.1 ] + store float %x.addr.1.lcssa, ptr %A, align 4 + %add5 = add nuw nsw i32 %i.05, 1 + %exitcond6 = icmp ne i32 %add5, 5 + br i1 %exitcond6, label %for.cond.1.preheader, label %for.end.6 -for.end.6: ; preds = %for.cond +for.end.6: ; preds = %for.end ret void } -; CHECK: Statements { -; CHECK: Stmt_for_end -; CHECK: } +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.smax.i32(i32, i32) #0 + +attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } diff --git a/polly/test/ScopInfo/licm_potential_store_mssa.ll b/polly/test/ScopInfo/licm_potential_store_mssa.ll new file mode 100644 index 0000000000000..ce785d622fcb3 --- /dev/null +++ b/polly/test/ScopInfo/licm_potential_store_mssa.ll @@ -0,0 +1,50 @@ +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -tailcallopt -disable-output < %s 2>&1 | FileCheck %s --check-prefix=LICM + +; void foo(int n, float A[static const restrict n], float x) { +; // (0) +; for (int i = 0; i < 5; i += 1) { +; for (int j = 0; j < n; j += 1) { +; x = 7; // (1) +; } +; A[0] = x; // (3) +; } +; // (4) +; } + +; LICM: Statements + +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + +define void @foo(i32 %n, ptr noalias nonnull %A, float %x) { +entry: + %smax = call i32 @llvm.smax.i32(i32 %n, i32 0) + br label %for.cond.1.preheader + +for.cond.1.preheader: ; preds = %for.end, %entry + %i.05 = phi i32 [ 0, %entry ], [ %add5, %for.end ] + %x.addr.04 = phi float [ %x, %entry ], [ %x.addr.1.lcssa, %for.end ] + br label %for.cond.1 + +for.cond.1: ; preds = %for.cond.1, %for.cond.1.preheader + %x.addr.1 = phi float [ 7.000000e+00, %for.cond.1 ], [ %x.addr.04, %for.cond.1.preheader ] + %j.0 = phi i32 [ %add, %for.cond.1 ], [ 0, %for.cond.1.preheader ] + %add = add nuw i32 %j.0, 1 + %exitcond.not = icmp eq i32 %j.0, %smax + br i1 %exitcond.not, label %for.end, label %for.cond.1 + +for.end: ; preds = %for.cond.1 + %x.addr.1.lcssa = phi float [ %x.addr.1, %for.cond.1 ] + %add5 = add nuw nsw i32 %i.05, 1 + %exitcond6.not = icmp eq i32 %add5, 5 + br i1 %exitcond6.not, label %for.end.6, label %for.cond.1.preheader + +for.end.6: ; preds = %for.end + %x.addr.1.lcssa.lcssa = phi float [ %x.addr.1.lcssa, %for.end ] + store float %x.addr.1.lcssa.lcssa, ptr %A, align 4 + ret void +} + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.smax.i32(i32, i32) #0 + +attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } diff --git a/polly/test/ScopInfo/licm_reduction_nested.ll b/polly/test/ScopInfo/licm_reduction_nested.ll index c1676033fa909..50625b2ddabde 100644 --- a/polly/test/ScopInfo/licm_reduction_nested.ll +++ b/polly/test/ScopInfo/licm_reduction_nested.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -loop-rotate -indvars -passes=polly-prepare '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -loop-rotate -indvars -licm -passes=polly-prepare '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -loop-rotate -indvars '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -loop-rotate -indvars -licm '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; XFAIL: * ; diff --git a/polly/test/ScopInfo/long-compile-time-alias-analysis.ll b/polly/test/ScopInfo/long-compile-time-alias-analysis.ll index f102518da5261..8225bd04fce63 100644 --- a/polly/test/ScopInfo/long-compile-time-alias-analysis.ll +++ b/polly/test/ScopInfo/long-compile-time-alias-analysis.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; Verify that the compilation of this test case does not take infinite time. ; At some point Polly tried to model this test case and got stuck in diff --git a/polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll b/polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll index e32748a4bbb57..064a0d3e700b9 100644 --- a/polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll +++ b/polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/polly/test/ScopInfo/long-sequence-of-error-blocks.ll b/polly/test/ScopInfo/long-sequence-of-error-blocks.ll index b32b87b5c3f3a..edaadd61dc020 100644 --- a/polly/test/ScopInfo/long-sequence-of-error-blocks.ll +++ b/polly/test/ScopInfo/long-sequence-of-error-blocks.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/polly/test/ScopInfo/loop-multiexit-succ-cond.ll b/polly/test/ScopInfo/loop-multiexit-succ-cond.ll index 431c907857fec..391f0ec8c0f59 100644 --- a/polly/test/ScopInfo/loop-multiexit-succ-cond.ll +++ b/polly/test/ScopInfo/loop-multiexit-succ-cond.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s 2>&1 | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s 2>&1 | FileCheck %s --check-prefix=IR ; ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/loop_affine_bound_0.ll b/polly/test/ScopInfo/loop_affine_bound_0.ll index 918d4099740ce..fcd56613fc095 100644 --- a/polly/test/ScopInfo/loop_affine_bound_0.ll +++ b/polly/test/ScopInfo/loop_affine_bound_0.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(long a[][128], long N, long M) { ; long i, j; diff --git a/polly/test/ScopInfo/loop_affine_bound_1.ll b/polly/test/ScopInfo/loop_affine_bound_1.ll index 8f7a87f1c5ac4..392509871a9b7 100644 --- a/polly/test/ScopInfo/loop_affine_bound_1.ll +++ b/polly/test/ScopInfo/loop_affine_bound_1.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output< %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ;void f(long a[][128], long N, long M) { ; long i, j; diff --git a/polly/test/ScopInfo/loop_affine_bound_2.ll b/polly/test/ScopInfo/loop_affine_bound_2.ll index 2d9f997a0767f..665dc1ad244d9 100644 --- a/polly/test/ScopInfo/loop_affine_bound_2.ll +++ b/polly/test/ScopInfo/loop_affine_bound_2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(long a[][128], long N, long M) { ; long i, j; diff --git a/polly/test/ScopInfo/loop_carry.ll b/polly/test/ScopInfo/loop_carry.ll index 20ebbfbc8b49c..579f43d874577 100644 --- a/polly/test/ScopInfo/loop_carry.ll +++ b/polly/test/ScopInfo/loop_carry.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/many-scalar-dependences.ll b/polly/test/ScopInfo/many-scalar-dependences.ll index 5b003325ef0fb..ddad36065a5c8 100644 --- a/polly/test/ScopInfo/many-scalar-dependences.ll +++ b/polly/test/ScopInfo/many-scalar-dependences.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(float a[100][100]) { ; float x; diff --git a/polly/test/ScopInfo/max-loop-depth.ll b/polly/test/ScopInfo/max-loop-depth.ll index 71e9c02aa8dcc..f33933210247d 100644 --- a/polly/test/ScopInfo/max-loop-depth.ll +++ b/polly/test/ScopInfo/max-loop-depth.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void bar(); ; void foo(int *A, int *B, long int N, long int M) { diff --git a/polly/test/ScopInfo/memcpy-raw-source.ll b/polly/test/ScopInfo/memcpy-raw-source.ll index 6c45b0d41b76b..149a2fcfea772 100644 --- a/polly/test/ScopInfo/memcpy-raw-source.ll +++ b/polly/test/ScopInfo/memcpy-raw-source.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa,scoped-noalias-aa,tbaa '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa,scoped-noalias-aa,tbaa '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; Ensure that ScopInfo's alias analysis llvm.memcpy for, ; like the AliasSetTracker, preserves bitcasts. diff --git a/polly/test/ScopInfo/memcpy.ll b/polly/test/ScopInfo/memcpy.ll index 95c455f097b21..6b7a9e2edffbe 100644 --- a/polly/test/ScopInfo/memcpy.ll +++ b/polly/test/ScopInfo/memcpy.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-differing-element-types '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -S -aa-pipeline=basic-aa -polly-allow-differing-element-types -passes=polly-codegen < %s 2>&1 | FileCheck --check-prefix=IR %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-differing-element-types '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S -aa-pipeline=basic-aa -polly-allow-differing-element-types '-passes=polly' < %s 2>&1 | FileCheck --check-prefix=IR %s ; ; CHECK: Arrays { ; CHECK-NEXT: i8 MemRef_A[*]; // Element size 1 diff --git a/polly/test/ScopInfo/memmove.ll b/polly/test/ScopInfo/memmove.ll index 8ff471a11cd17..aba886b59d1d5 100644 --- a/polly/test/ScopInfo/memmove.ll +++ b/polly/test/ScopInfo/memmove.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-differing-element-types '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -S -aa-pipeline=basic-aa -polly-allow-differing-element-types -passes=polly-codegen < %s 2>&1 | FileCheck --check-prefix=IR %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-differing-element-types '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S -aa-pipeline=basic-aa -polly-allow-differing-element-types '-passes=polly' < %s 2>&1 | FileCheck --check-prefix=IR %s ; ; CHECK: Arrays { ; CHECK-NEXT: i8 MemRef_A[*]; // Element size 1 diff --git a/polly/test/ScopInfo/memset.ll b/polly/test/ScopInfo/memset.ll index 89b0487728210..7eaec7bd1ad6a 100644 --- a/polly/test/ScopInfo/memset.ll +++ b/polly/test/ScopInfo/memset.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-differing-element-types '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -S -polly-allow-differing-element-types -passes=polly-codegen < %s 2>&1 | FileCheck --check-prefix=IR %s +; RUN: opt %loadNPMPolly -polly-allow-differing-element-types '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -S -polly-allow-differing-element-types '-passes=polly' < %s 2>&1 | FileCheck --check-prefix=IR %s ; ; CHECK: Arrays { ; CHECK-NEXT: i8 MemRef_A[*]; // Element size 1 diff --git a/polly/test/ScopInfo/memset_null.ll b/polly/test/ScopInfo/memset_null.ll index 9755cf1129e68..7bd3e90b3aa82 100644 --- a/polly/test/ScopInfo/memset_null.ll +++ b/polly/test/ScopInfo/memset_null.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-modref-calls '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-allow-modref-calls -S -passes=polly-codegen < %s +; RUN: opt %loadNPMPolly -polly-allow-modref-calls '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-modref-calls -S '-passes=polly' < %s ; ; Verify we can handle a memset to "null" and that we do not model it. ; TODO: FIXME: We could use the undefined memset to optimize the code further, diff --git a/polly/test/ScopInfo/mismatching-array-dimensions.ll b/polly/test/ScopInfo/mismatching-array-dimensions.ll index f825cbff1ec56..cd12421344f7f 100644 --- a/polly/test/ScopInfo/mismatching-array-dimensions.ll +++ b/polly/test/ScopInfo/mismatching-array-dimensions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK-NOT: AssumedContext diff --git a/polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll b/polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll index 6bc5f8d8eb73f..1e289425e86d7 100644 --- a/polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll +++ b/polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=print' -polly-allow-modref-calls \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb -passes=polly-codegen -polly-allow-modref-calls \ -; RUN: -disable-output < %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=polly' -polly-allow-modref-calls -disable-output < %s ; ; Verify that we model the may-write access of the prefetch intrinsic ; correctly, thus that A is accessed by it but B is not. diff --git a/polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll b/polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll index 21322bc648f8e..0b6e64da437fd 100644 --- a/polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll +++ b/polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=print' -polly-allow-modref-calls \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -passes=polly-codegen -disable-output \ -; RUN: -polly-allow-modref-calls < %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly' -disable-output -polly-allow-modref-calls < %s ; ; Verify that we model the read access of the gcread intrinsic ; correctly, thus that A is read by it but B is not. diff --git a/polly/test/ScopInfo/mod_ref_read_pointer.ll b/polly/test/ScopInfo/mod_ref_read_pointer.ll index 25e56a08a961b..25d59d9f7fd16 100644 --- a/polly/test/ScopInfo/mod_ref_read_pointer.ll +++ b/polly/test/ScopInfo/mod_ref_read_pointer.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-modref-calls '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-modref-calls -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-modref-calls '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-allow-modref-calls '-passes=polly' -disable-output < %s ; ; Check that we assume the call to func has a read on the whole A array. ; diff --git a/polly/test/ScopInfo/mod_ref_read_pointers.ll b/polly/test/ScopInfo/mod_ref_read_pointers.ll index 5cc96cf3a06eb..f8cbb084aefe8 100644 --- a/polly/test/ScopInfo/mod_ref_read_pointers.ll +++ b/polly/test/ScopInfo/mod_ref_read_pointers.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -polly-allow-modref-calls \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -passes=polly-codegen -disable-output \ -; RUN: -polly-allow-modref-calls < %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly' -disable-output -polly-allow-modref-calls < %s ; ; Check that the call to func will "read" not only the A array but also the ; B array. The reason is the readonly annotation of func. diff --git a/polly/test/ScopInfo/modulo_zext_1.ll b/polly/test/ScopInfo/modulo_zext_1.ll index 0a8957da4931a..a9b53d53aea7e 100644 --- a/polly/test/ScopInfo/modulo_zext_1.ll +++ b/polly/test/ScopInfo/modulo_zext_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Assumed Context: ; CHECK-NEXT: [N] -> { : } diff --git a/polly/test/ScopInfo/modulo_zext_2.ll b/polly/test/ScopInfo/modulo_zext_2.ll index 7af2411e7e8c4..f86ddcea9fe2b 100644 --- a/polly/test/ScopInfo/modulo_zext_2.ll +++ b/polly/test/ScopInfo/modulo_zext_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Assumed Context: ; CHECK-NEXT: [N] -> { : } diff --git a/polly/test/ScopInfo/modulo_zext_3.ll b/polly/test/ScopInfo/modulo_zext_3.ll index 1dac723aa2c23..21596d16a6e14 100644 --- a/polly/test/ScopInfo/modulo_zext_3.ll +++ b/polly/test/ScopInfo/modulo_zext_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Assumed Context: ; CHECK-NEXT: [N] -> { : } diff --git a/polly/test/ScopInfo/multi-scop.ll b/polly/test/ScopInfo/multi-scop.ll index c6dc1f201efa2..8647d89c91d7a 100644 --- a/polly/test/ScopInfo/multi-scop.ll +++ b/polly/test/ScopInfo/multi-scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; This test case contains two scops. diff --git a/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll b/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll index bd46532d87f10..8785458e42f2c 100644 --- a/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll +++ b/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; Derived from the following code: diff --git a/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll b/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll index cdd46304c932b..5de07bad6bd06 100644 --- a/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll +++ b/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; Derived from the following code: diff --git a/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll b/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll index 0b735b9106189..984f41cd1e9bf 100644 --- a/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll +++ b/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; Derived from the following code: diff --git a/polly/test/ScopInfo/multidim_2d_with_modref_call.ll b/polly/test/ScopInfo/multidim_2d_with_modref_call.ll index befca87972c19..96b822ad4aa86 100644 --- a/polly/test/ScopInfo/multidim_2d_with_modref_call.ll +++ b/polly/test/ScopInfo/multidim_2d_with_modref_call.ll @@ -1,9 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-allow-modref-calls \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-allow-nonaffine \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-modref-calls -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -polly-invariant-load-hoisting=true -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE ; TODO: We should delinearize the accesses despite the use in a call to a ; readonly function. For now we verify we do not delinearize them though. diff --git a/polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll b/polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll index cceb5353d74c0..c04cc200e06bd 100644 --- a/polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll +++ b/polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll @@ -1,9 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-allow-modref-calls \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-allow-nonaffine \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-modref-calls -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -polly-invariant-load-hoisting=true -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE ; TODO: We should delinearize the accesses despite the use in a call to a ; readonly function. For now we verify we do not delinearize them though. diff --git a/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll b/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll index c957dd10ed652..2abd37c9f82d0 100644 --- a/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll +++ b/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long n, long m, long o, double A[n][m][o]) { diff --git a/polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll b/polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll index 4a1ee3b1af51d..47cbc0bb1c534 100644 --- a/polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll +++ b/polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; #define N 400 ; diff --git a/polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll b/polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll index 9a6d8fbe12755..e82869616d63c 100644 --- a/polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll +++ b/polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Context: ; CHECK-NEXT: { : } diff --git a/polly/test/ScopInfo/multidim_fold_constant_dim.ll b/polly/test/ScopInfo/multidim_fold_constant_dim.ll index 9f47694022868..dde847bb8d4d7 100644 --- a/polly/test/ScopInfo/multidim_fold_constant_dim.ll +++ b/polly/test/ScopInfo/multidim_fold_constant_dim.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; struct com { ; double Real; diff --git a/polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll b/polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll index 5778126ad8f17..84222f73b7c6d 100644 --- a/polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll +++ b/polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -debug -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -debug -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts diff --git a/polly/test/ScopInfo/multidim_fortran_2d.ll b/polly/test/ScopInfo/multidim_fortran_2d.ll index e5b005f17dcc7..10314606a8123 100644 --- a/polly/test/ScopInfo/multidim_fortran_2d.ll +++ b/polly/test/ScopInfo/multidim_fortran_2d.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; subroutine init_array(ni, nj, pi, pj, a) ; implicit none diff --git a/polly/test/ScopInfo/multidim_fortran_2d_params.ll b/polly/test/ScopInfo/multidim_fortran_2d_params.ll index a7f7ebc130362..992df969f9cc2 100644 --- a/polly/test/ScopInfo/multidim_fortran_2d_params.ll +++ b/polly/test/ScopInfo/multidim_fortran_2d_params.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: -polly-precise-fold-accesses \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-precise-fold-accesses -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; subroutine init_array(ni, nj, pi, pj, a) ; implicit none diff --git a/polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll b/polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll index 5f3080a12fdbe..79fd4c286745e 100644 --- a/polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll +++ b/polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll @@ -1,9 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-allow-modref-calls \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-allow-nonaffine \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-modref-calls -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -polly-invariant-load-hoisting=true -polly-allow-modref-calls -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE ; TODO: We should delinearize the accesses despite the use in a call to a ; readonly function. For now we verify we do not delinearize them though. diff --git a/polly/test/ScopInfo/multidim_fortran_srem.ll b/polly/test/ScopInfo/multidim_fortran_srem.ll index 31cc633fa65c6..62ff184f7a6b6 100644 --- a/polly/test/ScopInfo/multidim_fortran_srem.ll +++ b/polly/test/ScopInfo/multidim_fortran_srem.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s 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" ; CHECK: Statements { diff --git a/polly/test/ScopInfo/multidim_gep_pointercast.ll b/polly/test/ScopInfo/multidim_gep_pointercast.ll index fd8048b11f14b..aa7932fb737f0 100644 --- a/polly/test/ScopInfo/multidim_gep_pointercast.ll +++ b/polly/test/ScopInfo/multidim_gep_pointercast.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The load access to A has a pointer-bitcast to another elements size before the ; GetElementPtr. Verify that we do not the GEP delinearization because it diff --git a/polly/test/ScopInfo/multidim_gep_pointercast2.ll b/polly/test/ScopInfo/multidim_gep_pointercast2.ll index 9daae4b1ce3db..0475506fa9f1a 100644 --- a/polly/test/ScopInfo/multidim_gep_pointercast2.ll +++ b/polly/test/ScopInfo/multidim_gep_pointercast2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that we do not use the GetElementPtr information to delinearize A ; because of the cast in-between. Use the single-dimensional modeling instead. diff --git a/polly/test/ScopInfo/multidim_invalid_dimension.ll b/polly/test/ScopInfo/multidim_invalid_dimension.ll index e1ec2e1ce3be0..1cf79f1bd8de1 100644 --- a/polly/test/ScopInfo/multidim_invalid_dimension.ll +++ b/polly/test/ScopInfo/multidim_invalid_dimension.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-scops -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" target triple = "aarch64-unknown-linux-gnueabi" diff --git a/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll b/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll index 92b42a9e7a870..7779748c8c7f6 100644 --- a/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll +++ b/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long n, long m, long o, double A[n][m][o]) { diff --git a/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll b/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll index 261cba1e68aad..49e0a9b60657b 100644 --- a/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll +++ b/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-precise-fold-accesses '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-precise-fold-accesses '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long n, long m, long o, double A[n][m][o], long p, long q, long r) { diff --git a/polly/test/ScopInfo/multidim_many_references.ll b/polly/test/ScopInfo/multidim_many_references.ll index f0f1c2b1f39db..a4edc9e725ac4 100644 --- a/polly/test/ScopInfo/multidim_many_references.ll +++ b/polly/test/ScopInfo/multidim_many_references.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/multidim_nested_start_integer.ll b/polly/test/ScopInfo/multidim_nested_start_integer.ll index 6ee9798a050d7..c98aece41a9e1 100644 --- a/polly/test/ScopInfo/multidim_nested_start_integer.ll +++ b/polly/test/ScopInfo/multidim_nested_start_integer.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long n, long m, long o, double A[n][m][o]) { diff --git a/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll b/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll index e238bddf4783b..12c8d97f5d63b 100644 --- a/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll +++ b/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long n, long m, long o, double A[n][m][o]) { diff --git a/polly/test/ScopInfo/multidim_only_ivs_2d.ll b/polly/test/ScopInfo/multidim_only_ivs_2d.ll index 33b321716edc3..a9685d12eb178 100644 --- a/polly/test/ScopInfo/multidim_only_ivs_2d.ll +++ b/polly/test/ScopInfo/multidim_only_ivs_2d.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; Derived from the following code: diff --git a/polly/test/ScopInfo/multidim_only_ivs_3d.ll b/polly/test/ScopInfo/multidim_only_ivs_3d.ll index 39ea4243d9426..bb9c302eaf06a 100644 --- a/polly/test/ScopInfo/multidim_only_ivs_3d.ll +++ b/polly/test/ScopInfo/multidim_only_ivs_3d.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long n, long m, long o, double A[n][m][o]) { diff --git a/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll b/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll index 7f7f7f91067e2..7f0c8b12be9ba 100644 --- a/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll +++ b/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void foo(int n, int m, int o, double A[n][m][o]) { ; diff --git a/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll b/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll index 1675110ffd6f1..797a037a6770e 100644 --- a/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll +++ b/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; This test case checks for array access functions where the order in which the diff --git a/polly/test/ScopInfo/multidim_param_in_subscript-2.ll b/polly/test/ScopInfo/multidim_param_in_subscript-2.ll index da9827fd5f2c6..3a21702b36727 100644 --- a/polly/test/ScopInfo/multidim_param_in_subscript-2.ll +++ b/polly/test/ScopInfo/multidim_param_in_subscript-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-precise-fold-accesses '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-precise-fold-accesses '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(long n, long m, float A[][n][m]) { ; for (long i = 0; i < 100; i++) diff --git a/polly/test/ScopInfo/multidim_param_in_subscript.ll b/polly/test/ScopInfo/multidim_param_in_subscript.ll index c86b5f0ae2386..cc3fa87c8ba04 100644 --- a/polly/test/ScopInfo/multidim_param_in_subscript.ll +++ b/polly/test/ScopInfo/multidim_param_in_subscript.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; ; void foo(long n, float A[][n]) { diff --git a/polly/test/ScopInfo/multidim_parameter_addrec_product.ll b/polly/test/ScopInfo/multidim_parameter_addrec_product.ll index da563a05560cd..117671ddc6a22 100644 --- a/polly/test/ScopInfo/multidim_parameter_addrec_product.ll +++ b/polly/test/ScopInfo/multidim_parameter_addrec_product.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(float *A, long *p) { ; for (long i = 0; i < 100; i++) diff --git a/polly/test/ScopInfo/multidim_single_and_multidim_array.ll b/polly/test/ScopInfo/multidim_single_and_multidim_array.ll index 7059e5396987b..5ebe0daaec470 100644 --- a/polly/test/ScopInfo/multidim_single_and_multidim_array.ll +++ b/polly/test/ScopInfo/multidim_single_and_multidim_array.ll @@ -1,11 +1,11 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-delinearize=false -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -polly-delinearize=false -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN -; RUN: opt %loadNPMPolly '-passes=print' -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN -; RUN: opt %loadNPMPolly '-passes=print' -polly-delinearize=false -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -polly-delinearize=false -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN -; RUN: opt %loadNPMPolly '-passes=print' -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-delinearize=false -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-delinearize=false -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-delinearize=false -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-delinearize=false -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s --check-prefix=DELIN target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/multidim_srem.ll b/polly/test/ScopInfo/multidim_srem.ll index 88c8c6af648e0..5c1b0ea7e6150 100644 --- a/polly/test/ScopInfo/multidim_srem.ll +++ b/polly/test/ScopInfo/multidim_srem.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(long n, float A[][n][n]) { ; for (long i = 0; i < 200; i++) diff --git a/polly/test/ScopInfo/multidim_with_bitcast.ll b/polly/test/ScopInfo/multidim_with_bitcast.ll index 0ab9c2d93ff46..941ec637dba3d 100644 --- a/polly/test/ScopInfo/multidim_with_bitcast.ll +++ b/polly/test/ScopInfo/multidim_with_bitcast.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/multiple-binary-or-conditions.ll b/polly/test/ScopInfo/multiple-binary-or-conditions.ll index 65416e6fffda3..ecfc0012fd59f 100644 --- a/polly/test/ScopInfo/multiple-binary-or-conditions.ll +++ b/polly/test/ScopInfo/multiple-binary-or-conditions.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -disable-output < %s ; ; void or(float *A, long n, long m) { ; for (long i = 0; i < 100; i++) { diff --git a/polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll b/polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll index 910e624adb50a..9ae664fd497c8 100644 --- a/polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll +++ b/polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -pass-remarks-analysis="polly-scops" \ -; RUN: -polly-allow-differing-element-types \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -pass-remarks-analysis=polly-scops -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s ; ; // For the following accesses the offset expression from the base pointer ; // is not always a multiple of the type size. diff --git a/polly/test/ScopInfo/multiple-types-non-affine-2.ll b/polly/test/ScopInfo/multiple-types-non-affine-2.ll index cb0630da1b2e6..6530dbf8d75be 100644 --- a/polly/test/ScopInfo/multiple-types-non-affine-2.ll +++ b/polly/test/ScopInfo/multiple-types-non-affine-2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types '-passes=print' -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types -passes=polly-codegen -polly-allow-nonaffine -disable-output +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types '-passes=polly' -polly-allow-nonaffine -disable-output ; ; // Check that accessing one array with different types works, ; // even though some accesses are non-affine. diff --git a/polly/test/ScopInfo/multiple-types-non-affine.ll b/polly/test/ScopInfo/multiple-types-non-affine.ll index 7349c5ae48ba2..7f5f995fd6d26 100644 --- a/polly/test/ScopInfo/multiple-types-non-affine.ll +++ b/polly/test/ScopInfo/multiple-types-non-affine.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types '-passes=print' -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types -passes=polly-codegen -polly-allow-nonaffine -disable-output +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-differing-element-types '-passes=polly' -polly-allow-nonaffine -disable-output ; ; // Check that accessing one array with different types works, ; // even though some accesses are non-affine. diff --git a/polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll b/polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll index df280c88f8668..5890a5a2ea3bf 100644 --- a/polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll +++ b/polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s ; ; void multiple_types(i8 *A) { ; for (long i = 0; i < 100; i++) { diff --git a/polly/test/ScopInfo/multiple-types-non-power-of-two.ll b/polly/test/ScopInfo/multiple-types-non-power-of-two.ll index b9494187d0ff3..3e8390aad300f 100644 --- a/polly/test/ScopInfo/multiple-types-non-power-of-two.ll +++ b/polly/test/ScopInfo/multiple-types-non-power-of-two.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s ; ; void multiple_types(i8 *A) { ; for (long i = 0; i < 100; i++) { diff --git a/polly/test/ScopInfo/multiple-types-two-dimensional-2.ll b/polly/test/ScopInfo/multiple-types-two-dimensional-2.ll index e971ccc0ba448..4e71f9b5dd66b 100644 --- a/polly/test/ScopInfo/multiple-types-two-dimensional-2.ll +++ b/polly/test/ScopInfo/multiple-types-two-dimensional-2.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-analysis="polly-scops" \ -; RUN: -polly-allow-differing-element-types \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -pass-remarks-analysis=polly-scops -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s ; ; ; void foo(long n, long m, char A[][m]) { diff --git a/polly/test/ScopInfo/multiple-types-two-dimensional.ll b/polly/test/ScopInfo/multiple-types-two-dimensional.ll index 34179508cae89..9899fe4bde7ed 100644 --- a/polly/test/ScopInfo/multiple-types-two-dimensional.ll +++ b/polly/test/ScopInfo/multiple-types-two-dimensional.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-analysis="polly-scops" \ -; RUN: -polly-allow-differing-element-types \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -pass-remarks-analysis=polly-scops -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(long n, long m, char A[][m]) { ; for (long i = 0; i < n; i++) diff --git a/polly/test/ScopInfo/multiple-types.ll b/polly/test/ScopInfo/multiple-types.ll index 84d7d3349e29d..753386575d33a 100644 --- a/polly/test/ScopInfo/multiple-types.ll +++ b/polly/test/ScopInfo/multiple-types.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' \ -; RUN: -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-allow-differing-element-types -disable-output < %s 2>&1 | FileCheck %s ; ; // Check that accessing one array with different types works. ; void multiple_types(char *Short, char *Float, char *Double) { diff --git a/polly/test/ScopInfo/multiple_exiting_blocks.ll b/polly/test/ScopInfo/multiple_exiting_blocks.ll index b0c425ee62cc4..218e5c4108c90 100644 --- a/polly/test/ScopInfo/multiple_exiting_blocks.ll +++ b/polly/test/ScopInfo/multiple_exiting_blocks.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll b/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll index ff0ec47be1c58..d3a70fdb96130 100644 --- a/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll +++ b/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/multiple_latch_blocks.ll b/polly/test/ScopInfo/multiple_latch_blocks.ll index e5085daa2ca16..0aa25f4ad70f6 100644 --- a/polly/test/ScopInfo/multiple_latch_blocks.ll +++ b/polly/test/ScopInfo/multiple_latch_blocks.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Domain := ; CHECK: [N, P] -> { Stmt_if_end[i0] : 0 <= i0 < N and (i0 > P or i0 < P) }; diff --git a/polly/test/ScopInfo/nested-loops.ll b/polly/test/ScopInfo/nested-loops.ll index 91002979f4fa4..7998a3896d9d4 100644 --- a/polly/test/ScopInfo/nested-loops.ll +++ b/polly/test/ScopInfo/nested-loops.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" diff --git a/polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll b/polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll index df010846bed20..f1ad40baf33ea 100644 --- a/polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll +++ b/polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we do not generate any scalar dependences regarding x. It is ; defined and used on the non-affine subregion only, thus we do not need diff --git a/polly/test/ScopInfo/non-affine-region-phi.ll b/polly/test/ScopInfo/non-affine-region-phi.ll index 3fb655e60f1c0..0248004c27f50 100644 --- a/polly/test/ScopInfo/non-affine-region-phi.ll +++ b/polly/test/ScopInfo/non-affine-region-phi.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine -S < %s 2>&1 | FileCheck %s --check-prefix=CODE -; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -S < %s 2>&1 | FileCheck %s --check-prefix=CODE +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify there is a phi in the non-affine region but it is not represented in ; the SCoP as all operands as well as the uses are inside the region too. diff --git a/polly/test/ScopInfo/non-affine-region-with-loop-2.ll b/polly/test/ScopInfo/non-affine-region-with-loop-2.ll index 4c3ca4d21447d..158fe772c6d29 100644 --- a/polly/test/ScopInfo/non-affine-region-with-loop-2.ll +++ b/polly/test/ScopInfo/non-affine-region-with-loop-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-nonaffine-loops '-passes=print,print,scop(polly-codegen)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Stmt_loop3 ; CHECK: Domain := diff --git a/polly/test/ScopInfo/non-affine-region-with-loop.ll b/polly/test/ScopInfo/non-affine-region-with-loop.ll index f4c028ac23409..bcb542f2cbf70 100644 --- a/polly/test/ScopInfo/non-affine-region-with-loop.ll +++ b/polly/test/ScopInfo/non-affine-region-with-loop.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops -passes=polly-codegen -disable-output +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=polly' -disable-output ; ; CHECK: Domain := ; CHECK-NEXT: { Stmt_loop2__TO__loop[] }; diff --git a/polly/test/ScopInfo/non-precise-inv-load-1.ll b/polly/test/ScopInfo/non-precise-inv-load-1.ll index d55344b355f13..d100b514a0be3 100644 --- a/polly/test/ScopInfo/non-precise-inv-load-1.ll +++ b/polly/test/ScopInfo/non-precise-inv-load-1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Verify we do hoist the invariant access to I with a execution context ; as the address computation might wrap in the original but not in our diff --git a/polly/test/ScopInfo/non-precise-inv-load-2.ll b/polly/test/ScopInfo/non-precise-inv-load-2.ll index 79ef3b88cb4f0..fad8fcd918446 100644 --- a/polly/test/ScopInfo/non-precise-inv-load-2.ll +++ b/polly/test/ScopInfo/non-precise-inv-load-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; ; CHECK: Invariant Accesses: { diff --git a/polly/test/ScopInfo/non-precise-inv-load-3.ll b/polly/test/ScopInfo/non-precise-inv-load-3.ll index aa92847661165..d032644c9e5ff 100644 --- a/polly/test/ScopInfo/non-precise-inv-load-3.ll +++ b/polly/test/ScopInfo/non-precise-inv-load-3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/non-precise-inv-load-4.ll b/polly/test/ScopInfo/non-precise-inv-load-4.ll index 2a2241cb5a993..c1ba7ddc62584 100644 --- a/polly/test/ScopInfo/non-precise-inv-load-4.ll +++ b/polly/test/ScopInfo/non-precise-inv-load-4.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Verify we hoist I[0] without execution context even though it ; is executed in a statement with an invalid domain. diff --git a/polly/test/ScopInfo/non-precise-inv-load-5.ll b/polly/test/ScopInfo/non-precise-inv-load-5.ll index a414c7c0fed17..c188b5f74b1e9 100644 --- a/polly/test/ScopInfo/non-precise-inv-load-5.ll +++ b/polly/test/ScopInfo/non-precise-inv-load-5.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Verify we do not hoist I[c] without execution context because it ; is executed in a statement with an invalid domain and it depends diff --git a/polly/test/ScopInfo/non-precise-inv-load-6.ll b/polly/test/ScopInfo/non-precise-inv-load-6.ll index 1300617f00eeb..b1c19745f1424 100644 --- a/polly/test/ScopInfo/non-precise-inv-load-6.ll +++ b/polly/test/ScopInfo/non-precise-inv-load-6.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we model the execution context correctly. ; diff --git a/polly/test/ScopInfo/non-pure-function-call.ll b/polly/test/ScopInfo/non-pure-function-call.ll index 81d43db5c3522..ad69141a12c66 100644 --- a/polly/test/ScopInfo/non-pure-function-call.ll +++ b/polly/test/ScopInfo/non-pure-function-call.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Assumed Context: ; CHECK-NEXT: [N] -> { : } diff --git a/polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll b/polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll index 6cbb41041be88..38e1c03a35227 100644 --- a/polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll +++ b/polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Error blocks are skipped during SCoP detection. We skip them during ; SCoP formation too as they might contain instructions we can not handle. diff --git a/polly/test/ScopInfo/non-pure-function-calls.ll b/polly/test/ScopInfo/non-pure-function-calls.ll index f97644052272d..d45c32ede7088 100644 --- a/polly/test/ScopInfo/non-pure-function-calls.ll +++ b/polly/test/ScopInfo/non-pure-function-calls.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Allow the user to define function names that are treated as ; error functions and assumed not to be executed. diff --git a/polly/test/ScopInfo/non_affine_access.ll b/polly/test/ScopInfo/non_affine_access.ll index 0338edf053297..0f5d9e7c43e4e 100644 --- a/polly/test/ScopInfo/non_affine_access.ll +++ b/polly/test/ScopInfo/non_affine_access.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print,print' -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NONAFFINE +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -polly-allow-nonaffine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=NONAFFINE target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ; void foo(long *A) { diff --git a/polly/test/ScopInfo/non_affine_region_1.ll b/polly/test/ScopInfo/non_affine_region_1.ll index 8980a711b325d..5934962f81567 100644 --- a/polly/test/ScopInfo/non_affine_region_1.ll +++ b/polly/test/ScopInfo/non_affine_region_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify only the incoming scalar x is modeled as a read in the non-affine ; region. diff --git a/polly/test/ScopInfo/non_affine_region_2.ll b/polly/test/ScopInfo/non_affine_region_2.ll index b2e072f7a3bfa..aa083616cac8e 100644 --- a/polly/test/ScopInfo/non_affine_region_2.ll +++ b/polly/test/ScopInfo/non_affine_region_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify the scalar x defined in a non-affine subregion is written as it ; escapes the region. In this test the two conditionals inside the region diff --git a/polly/test/ScopInfo/non_affine_region_3.ll b/polly/test/ScopInfo/non_affine_region_3.ll index d850cb5c95aad..b7c4c1b9bd545 100644 --- a/polly/test/ScopInfo/non_affine_region_3.ll +++ b/polly/test/ScopInfo/non_affine_region_3.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify the scalar x defined in a non-affine subregion is written as it ; escapes the region. In this test the two conditionals inside the region diff --git a/polly/test/ScopInfo/non_affine_region_4.ll b/polly/test/ScopInfo/non_affine_region_4.ll index c5309734a668e..12cda0a53fb3b 100644 --- a/polly/test/ScopInfo/non_affine_region_4.ll +++ b/polly/test/ScopInfo/non_affine_region_4.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify that both scalars (x and y) are properly written in the non-affine ; region and read afterwards. diff --git a/polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll b/polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll index b1ce00f0df94e..a52aae0d59168 100644 --- a/polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll +++ b/polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Domain := ; CHECK-NEXT: { Stmt_while_cond_i__TO__while_end_i[] }; diff --git a/polly/test/ScopInfo/not-a-reduction.ll b/polly/test/ScopInfo/not-a-reduction.ll index 3a961b2dc1719..84f6564ae4a2e 100644 --- a/polly/test/ScopInfo/not-a-reduction.ll +++ b/polly/test/ScopInfo/not-a-reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | not FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | not FileCheck %s ;#define TYPE float ;#define NUM 4 diff --git a/polly/test/ScopInfo/opaque-struct.ll b/polly/test/ScopInfo/opaque-struct.ll index f4f79525069e5..23b9d3caf741d 100644 --- a/polly/test/ScopInfo/opaque-struct.ll +++ b/polly/test/ScopInfo/opaque-struct.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; Check that we do not crash with unsized (opaque) types. ; diff --git a/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll b/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll index eed27b1c4d9dd..e069ccac55340 100644 --- a/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll +++ b/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s 2>&1 | FileCheck %s ; ; Check whether %newval is identified as escaping value, even though it is used ; in a phi that is in the region. Non-affine subregion case. diff --git a/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll b/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll index 44da399e704d8..27ea11a23a3fe 100644 --- a/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll +++ b/polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: MustWriteAccess := [Reduction Type: NONE] [Scalar: 1] ; CHECK-NEXT: [p_0] -> { Stmt_bb3[] -> MemRef_tmp5[] }; diff --git a/polly/test/ScopInfo/parameter-constant-division.ll b/polly/test/ScopInfo/parameter-constant-division.ll index e5dd359158b8b..aaad0dfb2ee60 100644 --- a/polly/test/ScopInfo/parameter-constant-division.ll +++ b/polly/test/ScopInfo/parameter-constant-division.ll @@ -1,6 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/parameter_in_dead_statement.ll b/polly/test/ScopInfo/parameter_in_dead_statement.ll index b295f17f628af..444f9a9c24b4e 100644 --- a/polly/test/ScopInfo/parameter_in_dead_statement.ll +++ b/polly/test/ScopInfo/parameter_in_dead_statement.ll @@ -1,7 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -S \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -S -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s --check-prefix=IR ; ; Verify we do not create assumptions based on the parameter p_1 which is the ; load %0 and due to error-assumptions not "part of the SCoP". diff --git a/polly/test/ScopInfo/parameter_product.ll b/polly/test/ScopInfo/parameter_product.ll index 2fe16f9d95f6d..9e6e3d0e1446e 100644 --- a/polly/test/ScopInfo/parameter_product.ll +++ b/polly/test/ScopInfo/parameter_product.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; int n, m; ; void foo(char* __restrict a) diff --git a/polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll b/polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll index 6544aaec76f74..20986d17b8f0d 100644 --- a/polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll +++ b/polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that the access function of the store is simple and concise ; diff --git a/polly/test/ScopInfo/partially_invariant_load_1.ll b/polly/test/ScopInfo/partially_invariant_load_1.ll index f3923f6127cdd..8d62f156a4394 100644 --- a/polly/test/ScopInfo/partially_invariant_load_1.ll +++ b/polly/test/ScopInfo/partially_invariant_load_1.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=IR +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly' -polly-invariant-load-hoisting=true -S < %s 2>&1 | FileCheck %s --check-prefix=IR ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/partially_invariant_load_2.ll b/polly/test/ScopInfo/partially_invariant_load_2.ll index d0d74ad99e09b..48580907b2f0b 100644 --- a/polly/test/ScopInfo/partially_invariant_load_2.ll +++ b/polly/test/ScopInfo/partially_invariant_load_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we do not try to preload *I and assume p != 42. ; diff --git a/polly/test/ScopInfo/phi-in-non-affine-region.ll b/polly/test/ScopInfo/phi-in-non-affine-region.ll index fbbc158b566bb..6d98a6813862e 100644 --- a/polly/test/ScopInfo/phi-in-non-affine-region.ll +++ b/polly/test/ScopInfo/phi-in-non-affine-region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Verify that 'tmp' is stored in bb1 and read by bb3, as it is needed as ; incoming value for the tmp11 PHI node. diff --git a/polly/test/ScopInfo/phi_after_error_block.ll b/polly/test/ScopInfo/phi_after_error_block.ll index a1eadff3e9717..251be099c1f49 100644 --- a/polly/test/ScopInfo/phi_after_error_block.ll +++ b/polly/test/ScopInfo/phi_after_error_block.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s declare void @bar() diff --git a/polly/test/ScopInfo/phi_condition_modeling_1.ll b/polly/test/ScopInfo/phi_condition_modeling_1.ll index a889ec96a4b12..bd5c51e968ff5 100644 --- a/polly/test/ScopInfo/phi_condition_modeling_1.ll +++ b/polly/test/ScopInfo/phi_condition_modeling_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int c, int N) { ; int tmp; diff --git a/polly/test/ScopInfo/phi_condition_modeling_2.ll b/polly/test/ScopInfo/phi_condition_modeling_2.ll index b56b77e1f4534..281b8d33b7756 100644 --- a/polly/test/ScopInfo/phi_condition_modeling_2.ll +++ b/polly/test/ScopInfo/phi_condition_modeling_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int c, int N) { ; int tmp; diff --git a/polly/test/ScopInfo/phi_conditional_simple_1.ll b/polly/test/ScopInfo/phi_conditional_simple_1.ll index 14fdc38201bc8..6d7f0e9484113 100644 --- a/polly/test/ScopInfo/phi_conditional_simple_1.ll +++ b/polly/test/ScopInfo/phi_conditional_simple_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void jd(int *A, int c) { ; for (int i = 0; i < 1024; i++) { diff --git a/polly/test/ScopInfo/phi_loop_carried_float.ll b/polly/test/ScopInfo/phi_loop_carried_float.ll index 76e5507f24b06..2e62dcd5799a3 100644 --- a/polly/test/ScopInfo/phi_loop_carried_float.ll +++ b/polly/test/ScopInfo/phi_loop_carried_float.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; float f(float *A, int N) { ; float tmp = 0; diff --git a/polly/test/ScopInfo/phi_not_grouped_at_top.ll b/polly/test/ScopInfo/phi_not_grouped_at_top.ll index c97d9a27b24b7..57d02f24f781b 100644 --- a/polly/test/ScopInfo/phi_not_grouped_at_top.ll +++ b/polly/test/ScopInfo/phi_not_grouped_at_top.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -passes=polly-prepare -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" declare i32 @funa() align 2 diff --git a/polly/test/ScopInfo/phi_scalar_simple_1.ll b/polly/test/ScopInfo/phi_scalar_simple_1.ll index ffd1a37f8a79f..600c94e1d9b4c 100644 --- a/polly/test/ScopInfo/phi_scalar_simple_1.ll +++ b/polly/test/ScopInfo/phi_scalar_simple_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The assumed context should be empty since the flags on the IV ; increments already guarantee that there is no wrap in the loop trip diff --git a/polly/test/ScopInfo/phi_scalar_simple_2.ll b/polly/test/ScopInfo/phi_scalar_simple_2.ll index 0d6d9029c61c3..d3353ddc5e4e8 100644 --- a/polly/test/ScopInfo/phi_scalar_simple_2.ll +++ b/polly/test/ScopInfo/phi_scalar_simple_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; int jd(int *restrict A, int x, int N, int c) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/phi_with_invoke_edge.ll b/polly/test/ScopInfo/phi_with_invoke_edge.ll index 9c98ec0c603cf..1b01a98fca06a 100644 --- a/polly/test/ScopInfo/phi_with_invoke_edge.ll +++ b/polly/test/ScopInfo/phi_with_invoke_edge.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" declare i32 @generic_personality_v0(i32, i64, ptr, ptr) diff --git a/polly/test/ScopInfo/pointer-comparison-no-nsw.ll b/polly/test/ScopInfo/pointer-comparison-no-nsw.ll index 18ba18c69f1f9..1b983ace1b6a4 100644 --- a/polly/test/ScopInfo/pointer-comparison-no-nsw.ll +++ b/polly/test/ScopInfo/pointer-comparison-no-nsw.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int *B) { ; while (A != B) { diff --git a/polly/test/ScopInfo/pointer-comparison.ll b/polly/test/ScopInfo/pointer-comparison.ll index 846640ac630ff..f80c4978669c4 100644 --- a/polly/test/ScopInfo/pointer-comparison.ll +++ b/polly/test/ScopInfo/pointer-comparison.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; TODO: FIXME: Investigate why we need a InvalidContext here. ; diff --git a/polly/test/ScopInfo/pointer-type-expressions.ll b/polly/test/ScopInfo/pointer-type-expressions.ll index 89dce6536a107..0fdd0bea6f219 100644 --- a/polly/test/ScopInfo/pointer-type-expressions.ll +++ b/polly/test/ScopInfo/pointer-type-expressions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(int a[], int N, float *P) { ; int i; diff --git a/polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll b/polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll index 7b6d0d542581b..8ad531d93d290 100644 --- a/polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll +++ b/polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; In this test case we pass a pointer %A into a PHI node and also use this ; pointer as base pointer of an array store. As a result, we get both scalar diff --git a/polly/test/ScopInfo/polly-timeout-parameter-bounds.ll b/polly/test/ScopInfo/polly-timeout-parameter-bounds.ll index 13087a517501a..7dfa1ec7905ba 100644 --- a/polly/test/ScopInfo/polly-timeout-parameter-bounds.ll +++ b/polly/test/ScopInfo/polly-timeout-parameter-bounds.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Statements { ; CHECK-NEXT: Stmt_bb9 diff --git a/polly/test/ScopInfo/pr38218.ll b/polly/test/ScopInfo/pr38218.ll index 74103f9a2ac38..2c22b1464876d 100644 --- a/polly/test/ScopInfo/pr38218.ll +++ b/polly/test/ScopInfo/pr38218.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-scops -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s ; ; This code causes the SCoP to be rejected because of an ERRORBLOCK ; assumption and made Polly crash (llvm.org/PR38219). diff --git a/polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll b/polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll index 33fa0126aa30e..800b0339a1422 100644 --- a/polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll +++ b/polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=scalar-indep -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/ScopInfo/process_added_dimensions.ll b/polly/test/ScopInfo/process_added_dimensions.ll index 2d06f4b995976..9cb932eeef18a 100644 --- a/polly/test/ScopInfo/process_added_dimensions.ll +++ b/polly/test/ScopInfo/process_added_dimensions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Context: ; CHECK-NEXT: { : } diff --git a/polly/test/ScopInfo/pwaff-complexity-bailout.ll b/polly/test/ScopInfo/pwaff-complexity-bailout.ll index 931e08fb8f2fc..62909f8c3e4c5 100644 --- a/polly/test/ScopInfo/pwaff-complexity-bailout.ll +++ b/polly/test/ScopInfo/pwaff-complexity-bailout.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-analysis=.* -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops '-pass-remarks-analysis=.*' -disable-output < %s 2>&1 | FileCheck %s ; Make sure we hit the complexity bailout, and don't crash. ; CHECK: Low complexity assumption: { : false } diff --git a/polly/test/ScopInfo/ranged_parameter.ll b/polly/test/ScopInfo/ranged_parameter.ll index 03562b1fd1245..a6e51c7f2048c 100644 --- a/polly/test/ScopInfo/ranged_parameter.ll +++ b/polly/test/ScopInfo/ranged_parameter.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that the constraints on the parameter derived from the ; range metadata (see bottom of the file) are present: diff --git a/polly/test/ScopInfo/ranged_parameter_2.ll b/polly/test/ScopInfo/ranged_parameter_2.ll index 18cbbf3b87cd6..554dd6e38cd00 100644 --- a/polly/test/ScopInfo/ranged_parameter_2.ll +++ b/polly/test/ScopInfo/ranged_parameter_2.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output -polly-allow-nonaffine -polly-invariant-load-hoisting=true < %s \ -; RUN: -debug 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-allow-nonaffine -polly-invariant-load-hoisting=true -debug < %s 2>&1 | FileCheck %s ; REQUIRES: asserts diff --git a/polly/test/ScopInfo/ranged_parameter_wrap.ll b/polly/test/ScopInfo/ranged_parameter_wrap.ll index d236eeeefc11c..7ae15c34c94c6 100644 --- a/polly/test/ScopInfo/ranged_parameter_wrap.ll +++ b/polly/test/ScopInfo/ranged_parameter_wrap.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that the constraints on the parameter derived from the ; __wrapping__ range metadata (see bottom of the file) are present: diff --git a/polly/test/ScopInfo/ranged_parameter_wrap_2.ll b/polly/test/ScopInfo/ranged_parameter_wrap_2.ll index fc0a737a5edbe..00c3caa9c50ce 100644 --- a/polly/test/ScopInfo/ranged_parameter_wrap_2.ll +++ b/polly/test/ScopInfo/ranged_parameter_wrap_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that the context is built fast and does not explode due to us ; combining a large number of non-convex ranges. Instead, after a certain diff --git a/polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll b/polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll index 7e6f2406a0ac8..528dbb102ecb0 100644 --- a/polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll +++ b/polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; float foo(float sum, float A[]) { ; diff --git a/polly/test/ScopInfo/read-only-scalar-used-in-phi.ll b/polly/test/ScopInfo/read-only-scalar-used-in-phi.ll index 18e6c1fac9e15..6bc1fe71f35f2 100644 --- a/polly/test/ScopInfo/read-only-scalar-used-in-phi.ll +++ b/polly/test/ScopInfo/read-only-scalar-used-in-phi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; float foo(float sum, float A[]) { ; diff --git a/polly/test/ScopInfo/read-only-scalars.ll b/polly/test/ScopInfo/read-only-scalars.ll index f04163e480284..7c78d621930c5 100644 --- a/polly/test/ScopInfo/read-only-scalars.ll +++ b/polly/test/ScopInfo/read-only-scalars.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-analyze-read-only-scalars=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-analyze-read-only-scalars=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCALARS +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-analyze-read-only-scalars=false '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-analyze-read-only-scalars=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCALARS ; CHECK-NOT: Memref_scalar diff --git a/polly/test/ScopInfo/read-only-statements.ll b/polly/test/ScopInfo/read-only-statements.ll index 7bac53a2b6b51..c1cb618a45f64 100644 --- a/polly/test/ScopInfo/read-only-statements.ll +++ b/polly/test/ScopInfo/read-only-statements.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check we remove read only statements. ; diff --git a/polly/test/ScopInfo/reduction_alternating_base.ll b/polly/test/ScopInfo/reduction_alternating_base.ll index e38ff6046ac01..474c6ac64ffc1 100644 --- a/polly/test/ScopInfo/reduction_alternating_base.ll +++ b/polly/test/ScopInfo/reduction_alternating_base.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; ; void f(int *A) { diff --git a/polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll b/polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll index 17f9dc57f2823..e91eeaf544a05 100644 --- a/polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll +++ b/polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Reduction Type: NONE ; diff --git a/polly/test/ScopInfo/reduction_different_index.ll b/polly/test/ScopInfo/reduction_different_index.ll index d2786d5fd6779..5c169f71f4fe8 100644 --- a/polly/test/ScopInfo/reduction_different_index.ll +++ b/polly/test/ScopInfo/reduction_different_index.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Verify if the following case is not detected as reduction. ; ; void f(int *A,int *sum) { diff --git a/polly/test/ScopInfo/reduction_different_index1.ll b/polly/test/ScopInfo/reduction_different_index1.ll index 710ae3e74f21a..93ab77be84de9 100644 --- a/polly/test/ScopInfo/reduction_different_index1.ll +++ b/polly/test/ScopInfo/reduction_different_index1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Verify if the following case is not detected as reduction. ; ; void f(int *A, int *sum, int i1, int i2) { diff --git a/polly/test/ScopInfo/reduction_disabled_multiplicative.ll b/polly/test/ScopInfo/reduction_disabled_multiplicative.ll index 61228e075dabe..618e4d3ab3f98 100644 --- a/polly/test/ScopInfo/reduction_disabled_multiplicative.ll +++ b/polly/test/ScopInfo/reduction_disabled_multiplicative.ll @@ -1,4 +1,4 @@ -; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -polly-disable-multiplicative-reductions -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-disable-multiplicative-reductions -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: ReadAccess := [Reduction Type: + ; CHECK: { Stmt_for_body[i0] -> MemRef_sum[0] }; diff --git a/polly/test/ScopInfo/reduction_double.ll b/polly/test/ScopInfo/reduction_double.ll index d126d3d833ee1..a7721d1b42e46 100644 --- a/polly/test/ScopInfo/reduction_double.ll +++ b/polly/test/ScopInfo/reduction_double.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-scops -disable-output -polly-allow-nonaffine < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-allow-nonaffine < %s | FileCheck %s ; ; Verify if two independent reductions in same loop is detected ; diff --git a/polly/test/ScopInfo/reduction_escaping_intermediate.ll b/polly/test/ScopInfo/reduction_escaping_intermediate.ll index c66a8be0852fa..86923458ee773 100644 --- a/polly/test/ScopInfo/reduction_escaping_intermediate.ll +++ b/polly/test/ScopInfo/reduction_escaping_intermediate.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int N, int * restrict sums, int * restrict escape) { ; int i, j; diff --git a/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll b/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll index c574d315b2fe1..641d2e7337e77 100644 --- a/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll +++ b/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int N, int * restrict sums, int * restrict escape) { ; int i, j; diff --git a/polly/test/ScopInfo/reduction_escaping_intermediate_3.ll b/polly/test/ScopInfo/reduction_escaping_intermediate_3.ll index 92a071ea1c372..dd2a76ebbd368 100644 --- a/polly/test/ScopInfo/reduction_escaping_intermediate_3.ll +++ b/polly/test/ScopInfo/reduction_escaping_intermediate_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-scops -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s ; ; void f(int N, int * restrict sums, int * restrict escape) { ; int i, j; diff --git a/polly/test/ScopInfo/reduction_if.ll b/polly/test/ScopInfo/reduction_if.ll index 4f7d3681e0a0b..53a62a3b857e9 100644 --- a/polly/test/ScopInfo/reduction_if.ll +++ b/polly/test/ScopInfo/reduction_if.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-scops -disable-output -polly-allow-nonaffine < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-allow-nonaffine < %s | FileCheck %s ; ; Verify if reduction spread across multiple blocks in a single scop statement are detected ; diff --git a/polly/test/ScopInfo/reduction_indirect_access.ll b/polly/test/ScopInfo/reduction_indirect_access.ll index 7acac4b150f40..cb54cd9581368 100644 --- a/polly/test/ScopInfo/reduction_indirect_access.ll +++ b/polly/test/ScopInfo/reduction_indirect_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-scops -polly-allow-nonaffine -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-allow-nonaffine -disable-output < %s | FileCheck %s ; ; CHECK: Reduction Type: NONE ; CHECK: MemRef_INDICES[i0] diff --git a/polly/test/ScopInfo/reduction_indirect_access_2.ll b/polly/test/ScopInfo/reduction_indirect_access_2.ll index 331953991d86c..5642a8470f124 100644 --- a/polly/test/ScopInfo/reduction_indirect_access_2.ll +++ b/polly/test/ScopInfo/reduction_indirect_access_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-scops -disable-output -polly-allow-nonaffine < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-allow-nonaffine < %s | FileCheck %s ; ; Validate that the accesses to INDICES[i] is not part of a reduction. ; diff --git a/polly/test/ScopInfo/reduction_invalid_different_operators.ll b/polly/test/ScopInfo/reduction_invalid_different_operators.ll index 9846f1029c087..9e6b3cd431083 100644 --- a/polly/test/ScopInfo/reduction_invalid_different_operators.ll +++ b/polly/test/ScopInfo/reduction_invalid_different_operators.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; int f() { ; int i, sum = 0, sth = 0; diff --git a/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll b/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll index 4d70e53304556..7ae7d8ed3ffa2 100644 --- a/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll +++ b/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *sums) { ; int i, j; diff --git a/polly/test/ScopInfo/reduction_long_reduction_chain.ll b/polly/test/ScopInfo/reduction_long_reduction_chain.ll index 62ae1fef187b6..6f2f48005bdac 100644 --- a/polly/test/ScopInfo/reduction_long_reduction_chain.ll +++ b/polly/test/ScopInfo/reduction_long_reduction_chain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-scops -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s ; ; CHECK: Reduction Type: + ; CHECK: MemRef_sum diff --git a/polly/test/ScopInfo/reduction_long_reduction_chain_double_use.ll b/polly/test/ScopInfo/reduction_long_reduction_chain_double_use.ll index 7ca46fa9535ac..2fd71c28d5211 100644 --- a/polly/test/ScopInfo/reduction_long_reduction_chain_double_use.ll +++ b/polly/test/ScopInfo/reduction_long_reduction_chain_double_use.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -basic-aa -polly-print-scops -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s ; ; Sum is added twice in the statement. Hence no reduction. ; CHECK: Reduction Type: NONE diff --git a/polly/test/ScopInfo/reduction_multiple_different_operators.ll b/polly/test/ScopInfo/reduction_multiple_different_operators.ll index b77c72a291744..4f049a3505b09 100644 --- a/polly/test/ScopInfo/reduction_multiple_different_operators.ll +++ b/polly/test/ScopInfo/reduction_multiple_different_operators.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-print-scops -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s | FileCheck %s ; ; Should not be identified as reduction as there are different operations ; involved on sum (multiplication followed by addition) diff --git a/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll b/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll index 800eb2043dc62..0d016674ffc08 100644 --- a/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll +++ b/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll @@ -1,4 +1,4 @@ -; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Stmt_for_body ; CHECK: Reduction Type: * diff --git a/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll b/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll index 49ebdcb044988..568513aedfa10 100644 --- a/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll +++ b/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll @@ -1,4 +1,4 @@ -; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Stmt_for_body ; CHECK: Reduction Type: NONE diff --git a/polly/test/ScopInfo/reduction_multiple_simple_binary.ll b/polly/test/ScopInfo/reduction_multiple_simple_binary.ll index 77b71f4df301b..0ac50b3b92c47 100644 --- a/polly/test/ScopInfo/reduction_multiple_simple_binary.ll +++ b/polly/test/ScopInfo/reduction_multiple_simple_binary.ll @@ -1,4 +1,4 @@ -; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: ReadAccess := [Reduction Type: NONE ; CHECK: { Stmt_for_body[i0] -> MemRef_A[1 + i0] }; diff --git a/polly/test/ScopInfo/reduction_non_overlapping_chains.ll b/polly/test/ScopInfo/reduction_non_overlapping_chains.ll index 61aaa051e49d1..f01b641b17f64 100644 --- a/polly/test/ScopInfo/reduction_non_overlapping_chains.ll +++ b/polly/test/ScopInfo/reduction_non_overlapping_chains.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Reduction Type: + ; CHECK: Reduction Type: + diff --git a/polly/test/ScopInfo/reduction_only_reduction_like_access.ll b/polly/test/ScopInfo/reduction_only_reduction_like_access.ll index fb6d236764b74..51685dca8b7da 100644 --- a/polly/test/ScopInfo/reduction_only_reduction_like_access.ll +++ b/polly/test/ScopInfo/reduction_only_reduction_like_access.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Reduction Type: + ; diff --git a/polly/test/ScopInfo/reduction_simple_fp.ll b/polly/test/ScopInfo/reduction_simple_fp.ll index aa4cd00f39f59..67139bba2fded 100644 --- a/polly/test/ScopInfo/reduction_simple_fp.ll +++ b/polly/test/ScopInfo/reduction_simple_fp.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Function: f_no_fast_math ; CHECK: Reduction Type: NONE diff --git a/polly/test/ScopInfo/reduction_simple_w_constant.ll b/polly/test/ScopInfo/reduction_simple_w_constant.ll index e385b66f9db21..c17184624c066 100644 --- a/polly/test/ScopInfo/reduction_simple_w_constant.ll +++ b/polly/test/ScopInfo/reduction_simple_w_constant.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Reduction Type: + ; diff --git a/polly/test/ScopInfo/reduction_simple_w_iv.ll b/polly/test/ScopInfo/reduction_simple_w_iv.ll index e22eccbb2831d..7cc50bfe78906 100644 --- a/polly/test/ScopInfo/reduction_simple_w_iv.ll +++ b/polly/test/ScopInfo/reduction_simple_w_iv.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Reduction Type: + ; diff --git a/polly/test/ScopInfo/reduction_two_identical_reads.ll b/polly/test/ScopInfo/reduction_two_identical_reads.ll index 8f00954f7efc3..35cb9dfcdb122 100644 --- a/polly/test/ScopInfo/reduction_two_identical_reads.ll +++ b/polly/test/ScopInfo/reduction_two_identical_reads.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Reduction Type: NONE ; diff --git a/polly/test/ScopInfo/redundant_parameter_constraint.ll b/polly/test/ScopInfo/redundant_parameter_constraint.ll index ad71f1f59e18b..7512da420af0e 100644 --- a/polly/test/ScopInfo/redundant_parameter_constraint.ll +++ b/polly/test/ScopInfo/redundant_parameter_constraint.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; The constraint that r2 has to be bigger than r1 is implicitly contained in ; the domain, hence we do not want to see it explicitly. diff --git a/polly/test/ScopInfo/region-with-instructions.ll b/polly/test/ScopInfo/region-with-instructions.ll index d4720511b7aad..38d58c97e1b05 100644 --- a/polly/test/ScopInfo/region-with-instructions.ll +++ b/polly/test/ScopInfo/region-with-instructions.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -polly-print-instructions -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-print-instructions -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Statements { ; CHECK: Stmt_bb46 diff --git a/polly/test/ScopInfo/remarks.ll b/polly/test/ScopInfo/remarks.ll index 10cc57aa27a14..2d6ace988659d 100644 --- a/polly/test/ScopInfo/remarks.ll +++ b/polly/test/ScopInfo/remarks.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: remark: test/ScopInfo/remarks.c:4:7: SCoP begins here. ; CHECK: remark: test/ScopInfo/remarks.c:9:15: Inbounds assumption: [N, M, Debug] -> { : M <= 100 } diff --git a/polly/test/ScopInfo/required-invariant-loop-bounds.ll b/polly/test/ScopInfo/required-invariant-loop-bounds.ll index abf0b0e23855c..3bb5bfb0765e3 100644 --- a/polly/test/ScopInfo/required-invariant-loop-bounds.ll +++ b/polly/test/ScopInfo/required-invariant-loop-bounds.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output \ -; RUN: -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-invariant-load-hoisting=true < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0] diff --git a/polly/test/ScopInfo/restriction_in_dead_block.ll b/polly/test/ScopInfo/restriction_in_dead_block.ll index 487c585cb9d9c..dd6115c421d0c 100644 --- a/polly/test/ScopInfo/restriction_in_dead_block.ll +++ b/polly/test/ScopInfo/restriction_in_dead_block.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify we do not generate an empty invalid context only because the wrap ; in the second conditional will always happen if the block is executed. diff --git a/polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll b/polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll index 702b7dc5e0049..e8df1eccd5945 100644 --- a/polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll +++ b/polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll @@ -1,6 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=DETECT -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DETECT +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; DETECT: Valid Region for Scop: bb124 => bb176 ; diff --git a/polly/test/ScopInfo/run-time-check-many-parameters.ll b/polly/test/ScopInfo/run-time-check-many-parameters.ll index 559c38d2682ef..2a8853322f1d5 100644 --- a/polly/test/ScopInfo/run-time-check-many-parameters.ll +++ b/polly/test/ScopInfo/run-time-check-many-parameters.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; A valid Scop would print the list of it's statements, we check that we do not ; see that list. diff --git a/polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll b/polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll index 3cf4c40bdb60f..5e71e7a9d2a46 100644 --- a/polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll +++ b/polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll @@ -1,6 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 \ -; RUN: | FileCheck %s -check-prefix=DETECT -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DETECT +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; DETECT: Valid Region for Scop: for => return ; diff --git a/polly/test/ScopInfo/run-time-check-read-only-arrays.ll b/polly/test/ScopInfo/run-time-check-read-only-arrays.ll index 51ab81476d542..286f878f935f4 100644 --- a/polly/test/ScopInfo/run-time-check-read-only-arrays.ll +++ b/polly/test/ScopInfo/run-time-check-read-only-arrays.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void foo(float *A, float *B, float *C, long N) { ; for (long i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/same-base-address-scalar-and-array.ll b/polly/test/ScopInfo/same-base-address-scalar-and-array.ll index dd809ba156c79..9f4d6f5895aeb 100644 --- a/polly/test/ScopInfo/same-base-address-scalar-and-array.ll +++ b/polly/test/ScopInfo/same-base-address-scalar-and-array.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify we introduce two ScopArrayInfo objects (or virtual arrays) for the %out variable ; as it is used as a memory base pointer (%0) but also as a scalar (%out.addr.0.lcssa). diff --git a/polly/test/ScopInfo/scalar.ll b/polly/test/ScopInfo/scalar.ll index 812d2fddc3c8e..db8371d96b118 100644 --- a/polly/test/ScopInfo/scalar.ll +++ b/polly/test/ScopInfo/scalar.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" diff --git a/polly/test/ScopInfo/scalar_dependence_cond_br.ll b/polly/test/ScopInfo/scalar_dependence_cond_br.ll index 59549f3dbbad5..a09bdaf06844e 100644 --- a/polly/test/ScopInfo/scalar_dependence_cond_br.ll +++ b/polly/test/ScopInfo/scalar_dependence_cond_br.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output< %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int c, int d) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/ScopInfo/scalar_to_array.ll b/polly/test/ScopInfo/scalar_to_array.ll index 3f61d0d723046..e71c515fa2d35 100644 --- a/polly/test/ScopInfo/scalar_to_array.ll +++ b/polly/test/ScopInfo/scalar_to_array.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ModuleID = 'scalar_to_array.ll' target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll b/polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll index fa0c81fe9a48e..66c50dcbe13f3 100644 --- a/polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll +++ b/polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; Derived from test-suite/SingleSource/UnitTests/Vector/SSE/sse.stepfft.c diff --git a/polly/test/ScopInfo/scev-invalidated.ll b/polly/test/ScopInfo/scev-invalidated.ll index 6b9efd4b37c7d..e0956df0b1e84 100644 --- a/polly/test/ScopInfo/scev-invalidated.ll +++ b/polly/test/ScopInfo/scev-invalidated.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Region: %if.then6---%return ; diff --git a/polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll b/polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll index 6e2ed1240b071..4a280cc929e3a 100644 --- a/polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll +++ b/polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/schedule-const-post-dominator-walk.ll b/polly/test/ScopInfo/schedule-const-post-dominator-walk.ll index d0e8a2accaa2c..777c0088c4ddd 100644 --- a/polly/test/ScopInfo/schedule-const-post-dominator-walk.ll +++ b/polly/test/ScopInfo/schedule-const-post-dominator-walk.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/schedule-constuction-endless-loop1.ll b/polly/test/ScopInfo/schedule-constuction-endless-loop1.ll index 9ffc30f7360e9..15dea5a7f4dd8 100644 --- a/polly/test/ScopInfo/schedule-constuction-endless-loop1.ll +++ b/polly/test/ScopInfo/schedule-constuction-endless-loop1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we do not build a SCoP and do not crash. ; diff --git a/polly/test/ScopInfo/schedule-constuction-endless-loop2.ll b/polly/test/ScopInfo/schedule-constuction-endless-loop2.ll index 65f2f99b48c1b..9ac6643564f7b 100644 --- a/polly/test/ScopInfo/schedule-constuction-endless-loop2.ll +++ b/polly/test/ScopInfo/schedule-constuction-endless-loop2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Check that we do not build a SCoP and do not crash. ; diff --git a/polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll b/polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll index 7c36f8d7f72e8..1657d2f37d8ba 100644 --- a/polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll +++ b/polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=print' -disable-output < %s +; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly-custom' -polly-print-scops -disable-output < %s ; ; This test contains a infinite loop (bb13) and crashed the domain generation ; at some point. Just verify it does not anymore. diff --git a/polly/test/ScopInfo/scop-affine-parameter-ordering.ll b/polly/test/ScopInfo/scop-affine-parameter-ordering.ll index c8a234e9cbce7..76bb438d43ff7 100644 --- a/polly/test/ScopInfo/scop-affine-parameter-ordering.ll +++ b/polly/test/ScopInfo/scop-affine-parameter-ordering.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-i128:128-n8:16:32:64-S128" target triple = "aarch64--linux-android" diff --git a/polly/test/ScopInfo/sign_wrapped_set.ll b/polly/test/ScopInfo/sign_wrapped_set.ll index 93b63df1c5841..135976e7d51c6 100644 --- a/polly/test/ScopInfo/sign_wrapped_set.ll +++ b/polly/test/ScopInfo/sign_wrapped_set.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-process-unprofitable '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-process-unprofitable '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Domain := ; CHECK-NEXT: [srcHeight] -> { Stmt_for_cond6_preheader_us[i0] : 0 <= i0 <= -3 + srcHeight }; diff --git a/polly/test/ScopInfo/simple_loop_1.ll b/polly/test/ScopInfo/simple_loop_1.ll index e736f3382d905..1d9f5c2edebcb 100644 --- a/polly/test/ScopInfo/simple_loop_1.ll +++ b/polly/test/ScopInfo/simple_loop_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(int a[], int N) { ; int i; diff --git a/polly/test/ScopInfo/simple_loop_2.ll b/polly/test/ScopInfo/simple_loop_2.ll index ae83dd633b96e..877f860ba5a90 100644 --- a/polly/test/ScopInfo/simple_loop_2.ll +++ b/polly/test/ScopInfo/simple_loop_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(int a[], int N) { ; int i; diff --git a/polly/test/ScopInfo/simple_loop_unsigned.ll b/polly/test/ScopInfo/simple_loop_unsigned.ll index c4a96e4381c94..d3834297e2668 100644 --- a/polly/test/ScopInfo/simple_loop_unsigned.ll +++ b/polly/test/ScopInfo/simple_loop_unsigned.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(int a[], unsigned N) { ; unsigned i; diff --git a/polly/test/ScopInfo/simple_loop_unsigned_2.ll b/polly/test/ScopInfo/simple_loop_unsigned_2.ll index 37e907dc006f3..1da6053a8316b 100644 --- a/polly/test/ScopInfo/simple_loop_unsigned_2.ll +++ b/polly/test/ScopInfo/simple_loop_unsigned_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Assumed Context: ; CHECK-NEXT: [N] -> { : } diff --git a/polly/test/ScopInfo/simple_loop_unsigned_3.ll b/polly/test/ScopInfo/simple_loop_unsigned_3.ll index 7f2cf5caa1ce7..0d44bf64ffc18 100644 --- a/polly/test/ScopInfo/simple_loop_unsigned_3.ll +++ b/polly/test/ScopInfo/simple_loop_unsigned_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Assumed Context: ; CHECK-NEXT: [N] -> { : } diff --git a/polly/test/ScopInfo/simple_nonaffine_loop_not.ll b/polly/test/ScopInfo/simple_nonaffine_loop_not.ll index 4df0d343b0fc9..f70b3fa3ea21a 100644 --- a/polly/test/ScopInfo/simple_nonaffine_loop_not.ll +++ b/polly/test/ScopInfo/simple_nonaffine_loop_not.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | not FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | not FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" @.str = private unnamed_addr constant [17 x i8] c"Random Value: %d\00", align 1 diff --git a/polly/test/ScopInfo/smax.ll b/polly/test/ScopInfo/smax.ll index 8968e13192477..3ba2b35e7e503 100644 --- a/polly/test/ScopInfo/smax.ll +++ b/polly/test/ScopInfo/smax.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:32-n32-S64" define void @foo(ptr noalias %data, ptr noalias %ptr, i32 %x_pos, i32 %w) { diff --git a/polly/test/ScopInfo/statistics.ll b/polly/test/ScopInfo/statistics.ll index 0a294f2016eba..aa72db3065259 100644 --- a/polly/test/ScopInfo/statistics.ll +++ b/polly/test/ScopInfo/statistics.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -stats -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -stats -disable-output < %s 2>&1 | FileCheck %s ; REQUIRES: asserts ; CHECK-DAG: 4 polly-scops - Maximal number of loops in scops diff --git a/polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll b/polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll index a46acb090b7fd..54832607f11d5 100644 --- a/polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll +++ b/polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_Region__TO__Stmt diff --git a/polly/test/ScopInfo/stmt_split_no_after_split.ll b/polly/test/ScopInfo/stmt_split_no_after_split.ll index 3a5ebf0725b10..0a4284bdd34f5 100644 --- a/polly/test/ScopInfo/stmt_split_no_after_split.ll +++ b/polly/test/ScopInfo/stmt_split_no_after_split.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_Stmt diff --git a/polly/test/ScopInfo/stmt_split_no_dependence.ll b/polly/test/ScopInfo/stmt_split_no_dependence.ll index 9edd0f0a13e59..ed2180407c68d 100644 --- a/polly/test/ScopInfo/stmt_split_no_dependence.ll +++ b/polly/test/ScopInfo/stmt_split_no_dependence.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void func(int *A, int *B){ ; for (int i = 0; i < 1024; i+=1) { diff --git a/polly/test/ScopInfo/stmt_split_on_store.ll b/polly/test/ScopInfo/stmt_split_on_store.ll index d645becb19583..f35a07c8d7176 100644 --- a/polly/test/ScopInfo/stmt_split_on_store.ll +++ b/polly/test/ScopInfo/stmt_split_on_store.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=store -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=store -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void func(int *A, int *B){ ; for (int i = 0; i < 1024; i+=1) { diff --git a/polly/test/ScopInfo/stmt_split_on_synthesizable.ll b/polly/test/ScopInfo/stmt_split_on_synthesizable.ll index 1a1ccff4f02d6..41721867f1764 100644 --- a/polly/test/ScopInfo/stmt_split_on_synthesizable.ll +++ b/polly/test/ScopInfo/stmt_split_on_synthesizable.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_Stmt diff --git a/polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll b/polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll index 594b36279d6bc..0521525e272b3 100644 --- a/polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll +++ b/polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_Stmt diff --git a/polly/test/ScopInfo/stmt_split_phi_in_stmt.ll b/polly/test/ScopInfo/stmt_split_phi_in_stmt.ll index 6c9f1c2cb5fd0..82a85aa5f0099 100644 --- a/polly/test/ScopInfo/stmt_split_phi_in_stmt.ll +++ b/polly/test/ScopInfo/stmt_split_phi_in_stmt.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_Stmt diff --git a/polly/test/ScopInfo/stmt_split_scalar_dependence.ll b/polly/test/ScopInfo/stmt_split_scalar_dependence.ll index 07abe46ac0399..1f21c0ce7225f 100644 --- a/polly/test/ScopInfo/stmt_split_scalar_dependence.ll +++ b/polly/test/ScopInfo/stmt_split_scalar_dependence.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_Stmt diff --git a/polly/test/ScopInfo/stmt_split_within_loop.ll b/polly/test/ScopInfo/stmt_split_within_loop.ll index 9a42ae3a37270..580ffab567846 100644 --- a/polly/test/ScopInfo/stmt_split_within_loop.ll +++ b/polly/test/ScopInfo/stmt_split_within_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-print-instructions '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-print-instructions '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Statements { ; CHECK-NEXT: Stmt_Stmt diff --git a/polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll b/polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll index ba4801d9a0006..67e8f631312ea 100644 --- a/polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll +++ b/polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-delicm -disable-output < %s 2>&1 | FileCheck %s ; ; The statement Stmt_for_if_else_1 should be removed because it has no ; sideeffects. But it has a use of MemRef_tmp21 that must also be diff --git a/polly/test/ScopInfo/switch-1.ll b/polly/test/ScopInfo/switch-1.ll index 0c3610185e6e0..0f9e83210661b 100644 --- a/polly/test/ScopInfo/switch-1.ll +++ b/polly/test/ScopInfo/switch-1.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/switch-2.ll b/polly/test/ScopInfo/switch-2.ll index f0056da37955d..9defd41f25231 100644 --- a/polly/test/ScopInfo/switch-2.ll +++ b/polly/test/ScopInfo/switch-2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/switch-3.ll b/polly/test/ScopInfo/switch-3.ll index a1810bf6ef538..faaa4d0254db9 100644 --- a/polly/test/ScopInfo/switch-3.ll +++ b/polly/test/ScopInfo/switch-3.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/switch-4.ll b/polly/test/ScopInfo/switch-4.ll index 00665fd75cbcd..c82e703a82965 100644 --- a/polly/test/ScopInfo/switch-4.ll +++ b/polly/test/ScopInfo/switch-4.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/switch-5.ll b/polly/test/ScopInfo/switch-5.ll index 2de3695649404..5a49be8d80975 100644 --- a/polly/test/ScopInfo/switch-5.ll +++ b/polly/test/ScopInfo/switch-5.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; The SCoP contains a loop with multiple exit blocks (BBs after leaving ; the loop). The current implementation of deriving their domain derives diff --git a/polly/test/ScopInfo/switch-6.ll b/polly/test/ScopInfo/switch-6.ll index b859840ee111f..379981b167039 100644 --- a/polly/test/ScopInfo/switch-6.ll +++ b/polly/test/ScopInfo/switch-6.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; void f(int *A, int N) { ; for (int i = 0; i < N; i++) { diff --git a/polly/test/ScopInfo/switch-7.ll b/polly/test/ScopInfo/switch-7.ll index f73d97f70b28d..0c8efc590b9c9 100644 --- a/polly/test/ScopInfo/switch-7.ll +++ b/polly/test/ScopInfo/switch-7.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AST ; ; void f(int *A, int c, int N) { ; switch (c) { diff --git a/polly/test/ScopInfo/tempscop-printing.ll b/polly/test/ScopInfo/tempscop-printing.ll index 4f02176569b73..09cc95e42a584 100644 --- a/polly/test/ScopInfo/tempscop-printing.ll +++ b/polly/test/ScopInfo/tempscop-printing.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -aa-pipeline=basic-aa -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(long A[], int N, int *init_ptr) { ; long i, j; diff --git a/polly/test/ScopInfo/test-wrapping-in-condition.ll b/polly/test/ScopInfo/test-wrapping-in-condition.ll index 746350422d6b9..d64bdf985c1d2 100644 --- a/polly/test/ScopInfo/test-wrapping-in-condition.ll +++ b/polly/test/ScopInfo/test-wrapping-in-condition.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invalid Context: ; CHECK: [N] -> { : N >= 129 } diff --git a/polly/test/ScopInfo/truncate-1.ll b/polly/test/ScopInfo/truncate-1.ll index 44222c88dfa77..d531dd8e5ab08 100644 --- a/polly/test/ScopInfo/truncate-1.ll +++ b/polly/test/ScopInfo/truncate-1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(char *A, short N) { ; for (char i = 0; i < (char)N; i++) diff --git a/polly/test/ScopInfo/truncate-2.ll b/polly/test/ScopInfo/truncate-2.ll index c78a5337fdeba..3f5d1faf4c377 100644 --- a/polly/test/ScopInfo/truncate-2.ll +++ b/polly/test/ScopInfo/truncate-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(char *A, short N) { ; for (short i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/truncate-3.ll b/polly/test/ScopInfo/truncate-3.ll index 5a80a873cd476..d20f375b9a2bd 100644 --- a/polly/test/ScopInfo/truncate-3.ll +++ b/polly/test/ScopInfo/truncate-3.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -pass-remarks-analysis="polly-scops" \ -; RUN: -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -pass-remarks-analysis=polly-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Signed-unsigned restriction: [p] -> { : p <= -129 or p >= 128 } diff --git a/polly/test/ScopInfo/two-loops-one-infinite.ll b/polly/test/ScopInfo/two-loops-one-infinite.ll index e2723a8a9a2e9..aa2be1003adcc 100644 --- a/polly/test/ScopInfo/two-loops-one-infinite.ll +++ b/polly/test/ScopInfo/two-loops-one-infinite.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Verify we do not create a SCoP in the presence of infinite loops. ; diff --git a/polly/test/ScopInfo/two-loops-right-after-each-other.ll b/polly/test/ScopInfo/two-loops-right-after-each-other.ll index 51f3c2d6eb875..163642d9072e2 100644 --- a/polly/test/ScopInfo/two-loops-right-after-each-other.ll +++ b/polly/test/ScopInfo/two-loops-right-after-each-other.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; CHECK: Statements { ; CHECK-NEXT: Stmt_loop_1 diff --git a/polly/test/ScopInfo/undef_in_cond.ll b/polly/test/ScopInfo/undef_in_cond.ll index ef117612f6cb3..5fb08f82b3267 100644 --- a/polly/test/ScopInfo/undef_in_cond.ll +++ b/polly/test/ScopInfo/undef_in_cond.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define fastcc void @fix_operands() nounwind { diff --git a/polly/test/ScopInfo/unnamed_nonaffine.ll b/polly/test/ScopInfo/unnamed_nonaffine.ll index 5b9f980591777..11418499702df 100644 --- a/polly/test/ScopInfo/unnamed_nonaffine.ll +++ b/polly/test/ScopInfo/unnamed_nonaffine.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-use-llvm-names=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-use-llvm-names=false '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -check-prefix=UNNAMED +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-use-llvm-names=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-allow-nonaffine -polly-use-llvm-names=false '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=UNNAMED ; ; void f(int *A, int b) { ; int x; diff --git a/polly/test/ScopInfo/unnamed_stmts.ll b/polly/test/ScopInfo/unnamed_stmts.ll index 163170ce74895..e23b3ae5404b5 100644 --- a/polly/test/ScopInfo/unnamed_stmts.ll +++ b/polly/test/ScopInfo/unnamed_stmts.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; This test case verifies that we generate numbered statement names in case ; no LLVM-IR names are used in the test case. We also verify, that we diff --git a/polly/test/ScopInfo/unpredictable_nonscop_loop.ll b/polly/test/ScopInfo/unpredictable_nonscop_loop.ll index daa1f8c783870..5bc136658ccab 100644 --- a/polly/test/ScopInfo/unpredictable_nonscop_loop.ll +++ b/polly/test/ScopInfo/unpredictable_nonscop_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -match-full-lines ; Derived from test-suite/MultiSource/Applications/sgefa/blas.c ; ; The exit value of %i.0320 in land.rhs is not computable. diff --git a/polly/test/ScopInfo/unprofitable_scalar-accs.ll b/polly/test/ScopInfo/unprofitable_scalar-accs.ll index ca8daa4de01a6..3f6bb937ded1a 100644 --- a/polly/test/ScopInfo/unprofitable_scalar-accs.ll +++ b/polly/test/ScopInfo/unprofitable_scalar-accs.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-process-unprofitable=false -polly-unprofitable-scalar-accs=false '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-process-unprofitable=false -polly-unprofitable-scalar-accs=true '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=HEURISTIC +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-process-unprofitable=false -polly-unprofitable-scalar-accs=false '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb -polly-process-unprofitable=false -polly-unprofitable-scalar-accs=true '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=HEURISTIC ; Check the effect of -polly-unprofitable-scalar-accs diff --git a/polly/test/ScopInfo/unsigned-condition.ll b/polly/test/ScopInfo/unsigned-condition.ll index 0529ded1f6cfb..608b6d6e50a36 100644 --- a/polly/test/ScopInfo/unsigned-condition.ll +++ b/polly/test/ScopInfo/unsigned-condition.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(int a[], int N, unsigned P) { ; int i; diff --git a/polly/test/ScopInfo/unsigned-division-1.ll b/polly/test/ScopInfo/unsigned-division-1.ll index 1c06b55300b67..58d39dc239ac9 100644 --- a/polly/test/ScopInfo/unsigned-division-1.ll +++ b/polly/test/ScopInfo/unsigned-division-1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, unsigned N) { ; for (unsigned i = 0; i < N / 2; i++) diff --git a/polly/test/ScopInfo/unsigned-division-2.ll b/polly/test/ScopInfo/unsigned-division-2.ll index 153639c42b384..cda666d6f5ebf 100644 --- a/polly/test/ScopInfo/unsigned-division-2.ll +++ b/polly/test/ScopInfo/unsigned-division-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, unsigned N) { ; for (unsigned i = 0; i < N / 2 + 3; i++) diff --git a/polly/test/ScopInfo/unsigned-division-3.ll b/polly/test/ScopInfo/unsigned-division-3.ll index 34561fc4645cc..50de3c59892e7 100644 --- a/polly/test/ScopInfo/unsigned-division-3.ll +++ b/polly/test/ScopInfo/unsigned-division-3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, unsigned char N) { ; for (unsigned i = 0; i <= N / -128; i++) diff --git a/polly/test/ScopInfo/unsigned-division-4.ll b/polly/test/ScopInfo/unsigned-division-4.ll index be539b47123bc..4dd75e526407d 100644 --- a/polly/test/ScopInfo/unsigned-division-4.ll +++ b/polly/test/ScopInfo/unsigned-division-4.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, unsigned char N) { ; for (unsigned i = 0; i < (N / -128) + 3; i++) diff --git a/polly/test/ScopInfo/unsigned-division-5.ll b/polly/test/ScopInfo/unsigned-division-5.ll index 61716ecec0d90..fff131292271a 100644 --- a/polly/test/ScopInfo/unsigned-division-5.ll +++ b/polly/test/ScopInfo/unsigned-division-5.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, unsigned N) { ; for (unsigned i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/unsigned_wrap_uge.ll b/polly/test/ScopInfo/unsigned_wrap_uge.ll index d25a9576e863a..f54b9bec6e7df 100644 --- a/polly/test/ScopInfo/unsigned_wrap_uge.ll +++ b/polly/test/ScopInfo/unsigned_wrap_uge.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Unsigned wrap-around check. ; diff --git a/polly/test/ScopInfo/unsigned_wrap_ugt.ll b/polly/test/ScopInfo/unsigned_wrap_ugt.ll index 0310fdde6d26e..20afd17f86793 100644 --- a/polly/test/ScopInfo/unsigned_wrap_ugt.ll +++ b/polly/test/ScopInfo/unsigned_wrap_ugt.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Unsigned wrap-around check. ; diff --git a/polly/test/ScopInfo/unsigned_wrap_ule.ll b/polly/test/ScopInfo/unsigned_wrap_ule.ll index 47bfc6065b1a8..6fa6cc12990a3 100644 --- a/polly/test/ScopInfo/unsigned_wrap_ule.ll +++ b/polly/test/ScopInfo/unsigned_wrap_ule.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Unsigned wrap-around check. ; diff --git a/polly/test/ScopInfo/unsigned_wrap_ult.ll b/polly/test/ScopInfo/unsigned_wrap_ult.ll index 1b73c0d6dd7ee..4a3b604d81f0f 100644 --- a/polly/test/ScopInfo/unsigned_wrap_ult.ll +++ b/polly/test/ScopInfo/unsigned_wrap_ult.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; Unsigned wrap-around check. ; diff --git a/polly/test/ScopInfo/user_context.ll b/polly/test/ScopInfo/user_context.ll index 74088120e4015..ce8dd921cec16 100644 --- a/polly/test/ScopInfo/user_context.ll +++ b/polly/test/ScopInfo/user_context.ll @@ -1,7 +1,7 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-context='[N] -> {: N = 1024}' '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=CTX -; RUN: opt %loadNPMPolly -polly-context='[N,M] -> {: 1 = 0}' '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-context='[] -> {: 1 = 0}' '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-polly-context=[N] -> {: N = 1024}' '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=CTX +; RUN: opt %loadNPMPolly '-polly-context=[N,M] -> {: 1 = 0}' '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-polly-context=[] -> {: 1 = 0}' '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; void f(int a[], int N) { ; int i; diff --git a/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll b/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll index bd13ba8bb6961..c35ed9060e504 100644 --- a/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll +++ b/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REMARK -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REMARK +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; REMARK: remark: :0:0: Use user assumption: [n, b] -> { : n <= 100 or (b = 0 and n >= 101) } ; diff --git a/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll b/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll index 45f59170942ed..2afe99fd2c53b 100644 --- a/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll +++ b/polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Context: ; CHECK-NEXT: [n] -> { : -9223372036854775808 <= n <= 100 } diff --git a/polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll b/polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll index fb71c75aa75e4..3479558062671 100644 --- a/polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll +++ b/polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REMARK -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=REMARK +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; REMARK: remark: :0:0: SCoP begins here. ; REMARK-NEXT: remark: :0:0: Use user assumption: [n] -> { : n <= 100 } diff --git a/polly/test/ScopInfo/user_provided_assumptions.ll b/polly/test/ScopInfo/user_provided_assumptions.ll index 49b23b1e784dc..0bd99ea3fcb35 100644 --- a/polly/test/ScopInfo/user_provided_assumptions.ll +++ b/polly/test/ScopInfo/user_provided_assumptions.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP ; ; CHECK: remark: :0:0: SCoP begins here. ; CHECK-NEXT: remark: :0:0: Use user assumption: [M, N] -> { : N <= 2147483647 - M } diff --git a/polly/test/ScopInfo/user_provided_assumptions_2.ll b/polly/test/ScopInfo/user_provided_assumptions_2.ll index f8643b68cc63f..1499ab98f7369 100644 --- a/polly/test/ScopInfo/user_provided_assumptions_2.ll +++ b/polly/test/ScopInfo/user_provided_assumptions_2.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP ; ; CHECK: remark: :0:0: SCoP begins here. ; CHECK-NEXT: remark: :0:0: Use user assumption: { : } diff --git a/polly/test/ScopInfo/user_provided_assumptions_3.ll b/polly/test/ScopInfo/user_provided_assumptions_3.ll index 70f8f359e16cd..aa1f72dddde9d 100644 --- a/polly/test/ScopInfo/user_provided_assumptions_3.ll +++ b/polly/test/ScopInfo/user_provided_assumptions_3.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCOP ; ; CHECK: remark: :0:0: SCoP begins here. ; CHECK-NEXT: remark: :0:0: Use user assumption: [N] -> { : N >= 2 } diff --git a/polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll b/polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll index 3e7883db48fcb..a6eed5df2063e 100644 --- a/polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll +++ b/polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-precise-inbounds -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-precise-inbounds -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: remark: :0:0: SCoP begins here. ; CHECK-NEXT: remark: :0:0: Use user assumption: [i, N, M] -> { : N <= i or (N > i and N >= 0) } @@ -18,8 +17,7 @@ ; -; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print' \ -; RUN: -polly-precise-inbounds -disable-output < %s 2>&1 -pass-remarks-output=%t.yaml +; RUN: opt %loadNPMPolly -pass-remarks-analysis=polly-scops '-passes=polly-custom' -polly-print-scops -polly-precise-inbounds -disable-output -pass-remarks-output=%t.yaml < %s 2>&1 ; RUN: cat %t.yaml | FileCheck -check-prefix=YAML %s ; YAML: --- !Analysis ; YAML: Pass: polly-scops diff --git a/polly/test/ScopInfo/variant_base_pointer.ll b/polly/test/ScopInfo/variant_base_pointer.ll index 32cb114fab05a..36beaf5f0f016 100644 --- a/polly/test/ScopInfo/variant_base_pointer.ll +++ b/polly/test/ScopInfo/variant_base_pointer.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true '-passes=print,print' -disable-output < %s 2>&1 | FileCheck %s -; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true -passes=polly-codegen -disable-output < %s +; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-ignore-aliasing -polly-invariant-load-hoisting=true '-passes=polly' -disable-output < %s ; ; %tmp is added to the list of required hoists by -polly-scops and just ; assumed to be hoisted. Only -polly-scops recognizes it to be unhoistable diff --git a/polly/test/ScopInfo/variant_load_empty_domain.ll b/polly/test/ScopInfo/variant_load_empty_domain.ll index 6a28bd0405fdd..5602c443b25d3 100644 --- a/polly/test/ScopInfo/variant_load_empty_domain.ll +++ b/polly/test/ScopInfo/variant_load_empty_domain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invariant Accesses: { ; CHECK-NEXT: } diff --git a/polly/test/ScopInfo/wraping_signed_expr_0.ll b/polly/test/ScopInfo/wraping_signed_expr_0.ll index f5f06bfd7d336..3a663f57c2774 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_0.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_0.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, char N, char p) { ; for (char i = 0; i < N; i++) { diff --git a/polly/test/ScopInfo/wraping_signed_expr_1.ll b/polly/test/ScopInfo/wraping_signed_expr_1.ll index e04257acc2010..8963e86bc6157 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_1.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(long *A, long N, long p) { ; for (long i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/wraping_signed_expr_2.ll b/polly/test/ScopInfo/wraping_signed_expr_2.ll index 2511c0d646086..97cb2c05b16a0 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_2.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int N, int p) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/wraping_signed_expr_3.ll b/polly/test/ScopInfo/wraping_signed_expr_3.ll index 2106bdf4c0686..50e2eda2ce574 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_3.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_3.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(int *A, int N, int p) { ; for (int i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/wraping_signed_expr_4.ll b/polly/test/ScopInfo/wraping_signed_expr_4.ll index 3ea17f6e266bf..4ddb43a01bf24 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_4.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_4.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(char *A, char N, char p) { ; for (char i = 0; i < N; i++) diff --git a/polly/test/ScopInfo/wraping_signed_expr_5.ll b/polly/test/ScopInfo/wraping_signed_expr_5.ll index 90706a3d3bc46..440d32bab72a5 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_5.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_5.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; We should not generate runtime check for ((int)r1 + (int)r2) as it is known not ; to overflow. However (p + q) can, thus checks are needed. diff --git a/polly/test/ScopInfo/wraping_signed_expr_6.ll b/polly/test/ScopInfo/wraping_signed_expr_6.ll index 9cf67fc101805..7bec9533440fb 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_6.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_6.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invalid Context: ; CHECK: [N] -> { : N >= 129 } diff --git a/polly/test/ScopInfo/wraping_signed_expr_7.ll b/polly/test/ScopInfo/wraping_signed_expr_7.ll index d18d2b2df3e12..2d836e191f858 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_7.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_7.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Invalid Context: ; CHECK: [N] -> { : N >= 129 } diff --git a/polly/test/ScopInfo/wraping_signed_expr_slow_1.ll b/polly/test/ScopInfo/wraping_signed_expr_slow_1.ll index 84626861bd39b..4964a123d0be1 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_slow_1.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_slow_1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; This checks that the no-wraps checks will be computed fast as some example ; already showed huge slowdowns even though the inbounds and nsw flags were diff --git a/polly/test/ScopInfo/wraping_signed_expr_slow_2.ll b/polly/test/ScopInfo/wraping_signed_expr_slow_2.ll index b4dd567bafa6b..a6db7c06d072c 100644 --- a/polly/test/ScopInfo/wraping_signed_expr_slow_2.ll +++ b/polly/test/ScopInfo/wraping_signed_expr_slow_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; This checks that the no-wraps checks will be computed fast as some example ; already showed huge slowdowns even though the inbounds and nsw flags were diff --git a/polly/test/ScopInfo/zero_ext_of_truncate.ll b/polly/test/ScopInfo/zero_ext_of_truncate.ll index cbe4af05169f8..b509951bbf0d5 100644 --- a/polly/test/ScopInfo/zero_ext_of_truncate.ll +++ b/polly/test/ScopInfo/zero_ext_of_truncate.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(unsigned *restrict I, unsigned *restrict A, unsigned N, unsigned M) { ; for (unsigned i = 0; i < N; i++) { diff --git a/polly/test/ScopInfo/zero_ext_of_truncate_2.ll b/polly/test/ScopInfo/zero_ext_of_truncate_2.ll index b306045276765..ea3356e01cc9f 100644 --- a/polly/test/ScopInfo/zero_ext_of_truncate_2.ll +++ b/polly/test/ScopInfo/zero_ext_of_truncate_2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-invariant-load-hoisting=true '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; void f(unsigned long *restrict I, unsigned *restrict A, unsigned N) { ; for (unsigned i = 0; i < N; i++) { diff --git a/polly/test/ScopInfo/zero_ext_space_mismatch.ll b/polly/test/ScopInfo/zero_ext_space_mismatch.ll index 3c02ae295b5ba..9fd1afae4b889 100644 --- a/polly/test/ScopInfo/zero_ext_space_mismatch.ll +++ b/polly/test/ScopInfo/zero_ext_space_mismatch.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s ; ; CHECK: Assumed Context: ; CHECK-NEXT: [dim] -> { : dim > 0 } diff --git a/polly/test/ScopInliner/ignore-declares.ll b/polly/test/ScopInliner/ignore-declares.ll index 5c0cfa103f0bf..85198b728a9bb 100644 --- a/polly/test/ScopInliner/ignore-declares.ll +++ b/polly/test/ScopInliner/ignore-declares.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-detect-full-functions '-passes=cgscc(polly-inline),function(print)' -disable-output < %s +; RUN: opt %loadNPMPolly -polly-detect-full-functions '-passes=cgscc(polly-inline),polly-custom' -disable-output < %s ; Check that we do not crash if there are declares. We should skip function ; declarations and not try to query for domtree. diff --git a/polly/test/ScopInliner/invariant-load-func.ll b/polly/test/ScopInliner/invariant-load-func.ll index 58c556a455fb9..6046fc0f38650 100644 --- a/polly/test/ScopInliner/invariant-load-func.ll +++ b/polly/test/ScopInliner/invariant-load-func.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-detect-full-functions -polly-invariant-load-hoisting '-passes=cgscc(polly-inline),function(print)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-detect-full-functions -polly-invariant-load-hoisting '-passes=cgscc(polly-inline),polly-custom' -disable-output < %s 2>&1 | FileCheck %s ; Check that we inline a function that requires invariant load hoisting ; correctly. diff --git a/polly/test/ScopInliner/simple-inline-loop.ll b/polly/test/ScopInliner/simple-inline-loop.ll index f12798a3d831a..77a5ddda93adc 100644 --- a/polly/test/ScopInliner/simple-inline-loop.ll +++ b/polly/test/ScopInliner/simple-inline-loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-detect-full-functions '-passes=cgscc(polly-inline),function(print)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-detect-full-functions '-passes=cgscc(polly-inline),polly-custom' -disable-output < %s | FileCheck %s ; Check that we get the 2 nested loops by inlining `to_be_inlined` into ; `inline_site`. diff --git a/polly/test/Simplify/coalesce_3partials.ll b/polly/test/Simplify/coalesce_3partials.ll index 4112787e51bfa..5411b6e430c66 100644 --- a/polly/test/Simplify/coalesce_3partials.ll +++ b/polly/test/Simplify/coalesce_3partials.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Combine 3 partial accesses into one. ; diff --git a/polly/test/Simplify/coalesce_disjointelements.ll b/polly/test/Simplify/coalesce_disjointelements.ll index b140f287e27f7..888daeff39d8d 100644 --- a/polly/test/Simplify/coalesce_disjointelements.ll +++ b/polly/test/Simplify/coalesce_disjointelements.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Combine four partial stores into two. ; The stores write to the same array, but never the same element. diff --git a/polly/test/Simplify/coalesce_overlapping.ll b/polly/test/Simplify/coalesce_overlapping.ll index ee716fc12f095..f492222461b34 100644 --- a/polly/test/Simplify/coalesce_overlapping.ll +++ b/polly/test/Simplify/coalesce_overlapping.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Combine two partial stores (with overlapping domains) into one. ; diff --git a/polly/test/Simplify/coalesce_partial.ll b/polly/test/Simplify/coalesce_partial.ll index aea691f43e934..4df91d43fc46d 100644 --- a/polly/test/Simplify/coalesce_partial.ll +++ b/polly/test/Simplify/coalesce_partial.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Combine two partial stores (with disjoint domains) into one. ; diff --git a/polly/test/Simplify/dead_access_load.ll b/polly/test/Simplify/dead_access_load.ll index 66f94795ea6e4..399c02381c890 100644 --- a/polly/test/Simplify/dead_access_load.ll +++ b/polly/test/Simplify/dead_access_load.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Remove a dead load-instruction ; (an load whose result is not used anywhere) diff --git a/polly/test/Simplify/dead_access_phi.ll b/polly/test/Simplify/dead_access_phi.ll index fb40e4cc45b35..9344a284b311a 100644 --- a/polly/test/Simplify/dead_access_phi.ll +++ b/polly/test/Simplify/dead_access_phi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Remove a dead PHI write/read pair ; (accesses that are effectively not used) diff --git a/polly/test/Simplify/dead_access_value.ll b/polly/test/Simplify/dead_access_value.ll index a8ff7f28542b7..6db242c97dac0 100644 --- a/polly/test/Simplify/dead_access_value.ll +++ b/polly/test/Simplify/dead_access_value.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Remove a dead value write/read pair ; (accesses that are effectively not used) diff --git a/polly/test/Simplify/dead_instruction.ll b/polly/test/Simplify/dead_instruction.ll index 81e55e1c7bb30..785b5ba154187 100644 --- a/polly/test/Simplify/dead_instruction.ll +++ b/polly/test/Simplify/dead_instruction.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Remove a dead instruction ; (an instruction whose result is not used anywhere) diff --git a/polly/test/Simplify/emptyaccessdomain.ll b/polly/test/Simplify/emptyaccessdomain.ll index 9b06cec965a9d..917ae7f7d2c94 100644 --- a/polly/test/Simplify/emptyaccessdomain.ll +++ b/polly/test/Simplify/emptyaccessdomain.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines ; ; for (int j = 0; j < n; j += 1) { ; A[0] = 42.0; diff --git a/polly/test/Simplify/exit_phi_accesses-2.ll b/polly/test/Simplify/exit_phi_accesses-2.ll index 379c7e0ace0a3..d56fed4848ff3 100644 --- a/polly/test/Simplify/exit_phi_accesses-2.ll +++ b/polly/test/Simplify/exit_phi_accesses-2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,scop(print)' -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -polly-print-simplify -disable-output < %s | FileCheck %s ; ; The use of %sum.next by %phi counts as an escaping use. ; Don't remove the scalar write of %sum.next. diff --git a/polly/test/Simplify/func-b320a7.ll b/polly/test/Simplify/func-b320a7.ll index 5aa2caba95cfc..65aa9cd28314e 100644 --- a/polly/test/Simplify/func-b320a7.ll +++ b/polly/test/Simplify/func-b320a7.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print,polly-optree' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines ; llvm.org/PR47098 ; Use-after-free by reference to Stmt remaining in InstStmtMap after removing it has been removed by Scop::simplifyScop. diff --git a/polly/test/Simplify/gemm.ll b/polly/test/Simplify/gemm.ll index 5120de2db7677..6e3a43e0ebbad 100644 --- a/polly/test/Simplify/gemm.ll +++ b/polly/test/Simplify/gemm.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s ; ; void gemm(float A[][1024], float B[][1024], float C[][1024]) { ; for (long i = 0; i < 1024; i++) diff --git a/polly/test/Simplify/nocoalesce_differentvalues.ll b/polly/test/Simplify/nocoalesce_differentvalues.ll index 33d04b2f96de8..cba62549227ae 100644 --- a/polly/test/Simplify/nocoalesce_differentvalues.ll +++ b/polly/test/Simplify/nocoalesce_differentvalues.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Do not combine stores that write different values. ; diff --git a/polly/test/Simplify/nocoalesce_elementmismatch.ll b/polly/test/Simplify/nocoalesce_elementmismatch.ll index 608b055e691df..b589d13779e52 100644 --- a/polly/test/Simplify/nocoalesce_elementmismatch.ll +++ b/polly/test/Simplify/nocoalesce_elementmismatch.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Do not combine stores that do not write to different elements in the ; same instance. diff --git a/polly/test/Simplify/nocoalesce_readbetween.ll b/polly/test/Simplify/nocoalesce_readbetween.ll index e112b036cd778..b61ad9d8031e0 100644 --- a/polly/test/Simplify/nocoalesce_readbetween.ll +++ b/polly/test/Simplify/nocoalesce_readbetween.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Do not combine stores if there is a read between them. ; Note: The read between is unused, so will be removed by markAndSweep. diff --git a/polly/test/Simplify/nocoalesce_writebetween.ll b/polly/test/Simplify/nocoalesce_writebetween.ll index fd5eee52eaf5c..be7d159554034 100644 --- a/polly/test/Simplify/nocoalesce_writebetween.ll +++ b/polly/test/Simplify/nocoalesce_writebetween.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Do not combine stores if there is a write between them. ; diff --git a/polly/test/Simplify/notdead_region_exitphi.ll b/polly/test/Simplify/notdead_region_exitphi.ll index 42fafb446cea3..1bd9bfe10a99d 100644 --- a/polly/test/Simplify/notdead_region_exitphi.ll +++ b/polly/test/Simplify/notdead_region_exitphi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Do not remove dependencies of a phi node in a region's exit block. ; diff --git a/polly/test/Simplify/notdead_region_innerphi.ll b/polly/test/Simplify/notdead_region_innerphi.ll index 966448c9884b2..b59d6dc60b089 100644 --- a/polly/test/Simplify/notdead_region_innerphi.ll +++ b/polly/test/Simplify/notdead_region_innerphi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Do not remove dependencies of a phi node within a region statement (%phi). ; diff --git a/polly/test/Simplify/notredundant_region_loop.ll b/polly/test/Simplify/notredundant_region_loop.ll index 88f6c41521739..859bd459f72d6 100644 --- a/polly/test/Simplify/notredundant_region_loop.ll +++ b/polly/test/Simplify/notredundant_region_loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -polly-allow-nonaffine-loops -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -polly-allow-nonaffine-loops -disable-output < %s | FileCheck %s -match-full-lines ; ; Do not remove the store in region_entry. It can be executed multiple times ; due to being part of a non-affine loop. diff --git a/polly/test/Simplify/notredundant_region_middle.ll b/polly/test/Simplify/notredundant_region_middle.ll index 43c05436809ba..a742ea889fb1f 100644 --- a/polly/test/Simplify/notredundant_region_middle.ll +++ b/polly/test/Simplify/notredundant_region_middle.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Do not remove redundant stores in the middle of region statements. ; The store in region_true could be removed, but in practice we do try to diff --git a/polly/test/Simplify/notredundant_synthesizable_unknownit.ll b/polly/test/Simplify/notredundant_synthesizable_unknownit.ll index 8a9aec8be9e05..8542b7927f860 100644 --- a/polly/test/Simplify/notredundant_synthesizable_unknownit.ll +++ b/polly/test/Simplify/notredundant_synthesizable_unknownit.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Do not remove the scalar value write of %i.trunc in inner.for. ; It is used by body. diff --git a/polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll b/polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll index 7218f328f9ca3..06b082c3f81fa 100644 --- a/polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll +++ b/polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=print,scop(print)' -disable-output < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-scops -polly-print-simplify -disable-output < %s 2>&1 | FileCheck %s ; ; %tmp5 must keep the Value WRITE MemoryAccess, because as an incoming value of ; %tmp4, it is an "external use". diff --git a/polly/test/Simplify/overwritten.ll b/polly/test/Simplify/overwritten.ll index eccdd8044d073..bc5b2dffd443d 100644 --- a/polly/test/Simplify/overwritten.ll +++ b/polly/test/Simplify/overwritten.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck -match-full-lines %s ; ; Remove a store that is overwritten by another store in the same statement. ; diff --git a/polly/test/Simplify/overwritten_3phi.ll b/polly/test/Simplify/overwritten_3phi.ll index 4cee4f13d26d0..861c9acda3e9c 100644 --- a/polly/test/Simplify/overwritten_3phi.ll +++ b/polly/test/Simplify/overwritten_3phi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Remove identical writes ; (two stores in the same statement that write the same value to the same diff --git a/polly/test/Simplify/overwritten_3store.ll b/polly/test/Simplify/overwritten_3store.ll index c9f06c85dba53..cfd5a08143d60 100644 --- a/polly/test/Simplify/overwritten_3store.ll +++ b/polly/test/Simplify/overwritten_3store.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck -match-full-lines %s ; ; Remove a store that is overwritten by another store in the same statement. ; Check that even multiple stores are removed. diff --git a/polly/test/Simplify/overwritten_implicit_and_explicit.ll b/polly/test/Simplify/overwritten_implicit_and_explicit.ll index b1b7635e26263..306e726e7808a 100644 --- a/polly/test/Simplify/overwritten_implicit_and_explicit.ll +++ b/polly/test/Simplify/overwritten_implicit_and_explicit.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Remove a store that is overwritten by another store in the same statement. ; Check that this works even if one of the writes is a scalar MemoryKind. diff --git a/polly/test/Simplify/overwritten_loadbetween.ll b/polly/test/Simplify/overwritten_loadbetween.ll index cdca2f11531e7..170838ddb8a1a 100644 --- a/polly/test/Simplify/overwritten_loadbetween.ll +++ b/polly/test/Simplify/overwritten_loadbetween.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck -match-full-lines %s ; ; Do not remove overwrites when the value is read before. ; diff --git a/polly/test/Simplify/overwritten_scalar.ll b/polly/test/Simplify/overwritten_scalar.ll index 700adb6aed2ec..a1e7da40554d5 100644 --- a/polly/test/Simplify/overwritten_scalar.ll +++ b/polly/test/Simplify/overwritten_scalar.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck -match-full-lines %s ; ; Remove identical writes ; (two stores in the same statement that write the same value to the same diff --git a/polly/test/Simplify/pass_existence.ll b/polly/test/Simplify/pass_existence.ll index 4d1d800b2a80b..6d9c99f9dc270 100644 --- a/polly/test/Simplify/pass_existence.ll +++ b/polly/test/Simplify/pass_existence.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -disable-output "-passes=scop(print)" < %s -aa-pipeline=basic-aa < %s | FileCheck %s +; RUN: opt %loadNPMPolly -disable-output '-passes=polly-custom' -polly-print-simplify -aa-pipeline=basic-aa < %s < %s | FileCheck %s ; ; Simple test for the existence of the Simplify pass. ; diff --git a/polly/test/Simplify/phi_in_regionstmt.ll b/polly/test/Simplify/phi_in_regionstmt.ll index 2bb05738955a3..ba1cffee1a0df 100644 --- a/polly/test/Simplify/phi_in_regionstmt.ll +++ b/polly/test/Simplify/phi_in_regionstmt.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; The PHINode %cond91.sink.sink.us.sink.6 is in the middle of a region ; statement. diff --git a/polly/test/Simplify/pr33323.ll b/polly/test/Simplify/pr33323.ll index 22921d5fba509..5130eb8488ca2 100644 --- a/polly/test/Simplify/pr33323.ll +++ b/polly/test/Simplify/pr33323.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s ; ; llvm.org/PR33323 ; diff --git a/polly/test/Simplify/redundant.ll b/polly/test/Simplify/redundant.ll index 540e537460e54..f2489a74eb899 100644 --- a/polly/test/Simplify/redundant.ll +++ b/polly/test/Simplify/redundant.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Remove redundant store (a store that writes the same value already ; at the destination) diff --git a/polly/test/Simplify/redundant_differentindex.ll b/polly/test/Simplify/redundant_differentindex.ll index 5ce25836dedbd..efd20e90ae748 100644 --- a/polly/test/Simplify/redundant_differentindex.ll +++ b/polly/test/Simplify/redundant_differentindex.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; A store that has a different index than the load it is storing is ; not redundant. diff --git a/polly/test/Simplify/redundant_partialwrite.ll b/polly/test/Simplify/redundant_partialwrite.ll index ac5ca907fff6f..357b63206b0f5 100644 --- a/polly/test/Simplify/redundant_partialwrite.ll +++ b/polly/test/Simplify/redundant_partialwrite.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-import-jscop-postfix=transformed -polly-print-import-jscop -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-import-jscop-postfix=transformed '-passes=polly-custom' -polly-print-import-jscop -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines ; ; Remove a redundant store, if its partial domain is a subset of the ; read's domain. diff --git a/polly/test/Simplify/redundant_region.ll b/polly/test/Simplify/redundant_region.ll index 927aac6c4af05..c60d28b7039dd 100644 --- a/polly/test/Simplify/redundant_region.ll +++ b/polly/test/Simplify/redundant_region.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines ; ; Remove redundant store (a store that writes the same value already ; at the destination) in a region. diff --git a/polly/test/Simplify/redundant_region_scalar.ll b/polly/test/Simplify/redundant_region_scalar.ll index 72d570d46bdce..3de50c04b614f 100644 --- a/polly/test/Simplify/redundant_region_scalar.ll +++ b/polly/test/Simplify/redundant_region_scalar.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines ; ; Remove redundant store (a store that writes the same value already ; at the destination) in a region. diff --git a/polly/test/Simplify/redundant_scalarwrite.ll b/polly/test/Simplify/redundant_scalarwrite.ll index 84cb971be11fd..13ca40f8e1b87 100644 --- a/polly/test/Simplify/redundant_scalarwrite.ll +++ b/polly/test/Simplify/redundant_scalarwrite.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines ; ; Remove redundant scalar stores. ; diff --git a/polly/test/Simplify/redundant_storebetween.ll b/polly/test/Simplify/redundant_storebetween.ll index 6540d7751e469..47d9cfde2d3ce 100644 --- a/polly/test/Simplify/redundant_storebetween.ll +++ b/polly/test/Simplify/redundant_storebetween.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly "-passes=scop(print)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines ; ; Don't remove store where there is another store to the same target ; in-between them. diff --git a/polly/test/Simplify/scalability1.ll b/polly/test/Simplify/scalability1.ll index c6e36f9dcdefb..969aade275af2 100644 --- a/polly/test/Simplify/scalability1.ll +++ b/polly/test/Simplify/scalability1.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-ignore-inbounds '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-ignore-inbounds '-passes=polly-custom' -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines ; ; Test scalability. ; diff --git a/polly/test/Simplify/scalability2.ll b/polly/test/Simplify/scalability2.ll index adcf9eef348a9..7951094867f2f 100644 --- a/polly/test/Simplify/scalability2.ll +++ b/polly/test/Simplify/scalability2.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly -polly-ignore-inbounds '-passes=print' -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly -polly-ignore-inbounds '-passes=polly-custom' -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines ; ; Test scalability. ; diff --git a/polly/test/Simplify/sweep_mapped_phi.ll b/polly/test/Simplify/sweep_mapped_phi.ll index 495d77a22f618..ad41f2566e2b5 100644 --- a/polly/test/Simplify/sweep_mapped_phi.ll +++ b/polly/test/Simplify/sweep_mapped_phi.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines ; ; Map %phi to A[j], so the scalar write in Stmt_for_bodyA can be removed. ; diff --git a/polly/test/Simplify/sweep_mapped_value.ll b/polly/test/Simplify/sweep_mapped_value.ll index c83941a8f0ba5..a50c013ac7917 100644 --- a/polly/test/Simplify/sweep_mapped_value.ll +++ b/polly/test/Simplify/sweep_mapped_value.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print' -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s -match-full-lines ; ; Map %val to A[j], so the scalar write on Stmt_for_bodyB can be removed. ; diff --git a/polly/test/Simplify/ununsed_read_in_region_entry.ll b/polly/test/Simplify/ununsed_read_in_region_entry.ll index f2436c263a96a..4c05de975fdf8 100644 --- a/polly/test/Simplify/ununsed_read_in_region_entry.ll +++ b/polly/test/Simplify/ununsed_read_in_region_entry.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output< %s | FileCheck %s -match-full-lines -; RUN: opt %loadNPMPolly '-passes=polly-simplify,polly-codegen' -S < %s | FileCheck %s -check-prefix=CODEGEN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines +; RUN: opt %loadNPMPolly '-passes=polly' -S < %s | FileCheck %s -check-prefix=CODEGEN ; ; for (int i = 0; i < n; i+=1) { ; (void)A[0]; diff --git a/polly/test/Support/Plugins.ll b/polly/test/Support/Plugins.ll index 872a32fad4fed..b75dd872ad404 100644 --- a/polly/test/Support/Plugins.ll +++ b/polly/test/Support/Plugins.ll @@ -1,5 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=polly-prepare,scop(print)' -S < %s \ -; RUN: | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-ast -S < %s | FileCheck %s ; This testcase tests plugin registration. Check-lines below serve to verify ; that the passes actually ran. diff --git a/polly/test/Support/exportjson.ll b/polly/test/Support/exportjson.ll index 22cfea23534cb..6bdf5a4c33cf3 100644 --- a/polly/test/Support/exportjson.ll +++ b/polly/test/Support/exportjson.ll @@ -1,6 +1,6 @@ ; RUN: rm -rf %t ; RUN: mkdir -p %t -; RUN: opt %loadNPMPolly -polly-import-jscop-dir=%t -polly -O2 -polly-export -S < %s +; RUN: opt %loadNPMPolly -polly-import-jscop-dir=%t '-passes=polly-custom' -disable-output < %s ; RUN: FileCheck %s -input-file %t/exportjson___%entry.split---%return.jscop ; ; for (int j = 0; j < n; j += 1) { @@ -9,28 +9,22 @@ ; define void @exportjson(i32 %n, ptr noalias nonnull %A) { entry: - br label %for + br label %entry.split -for: - %j = phi i32 [0, %entry], [%j.inc, %inc] - %j.cmp = icmp slt i32 %j, %n - br i1 %j.cmp, label %body, label %exit +entry.split: + %j.cmp1 = icmp sgt i32 %n, 0 + br i1 %j.cmp1, label %body.lr.ph, label %return - body: - store double 42.0, ptr %A - br label %inc - -inc: - %j.inc = add nuw nsw i32 %j, 1 - br label %for - -exit: +body.lr.ph: + store double 4.200000e+01, ptr %A, align 8 br label %return return: ret void } +attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) } + ; CHECK: { ; CHECK-NEXT: "arrays": [ diff --git a/polly/test/Support/isl-args.ll b/polly/test/Support/isl-args.ll index 206cb73bfc5ab..6c8b2e97682e8 100644 --- a/polly/test/Support/isl-args.ll +++ b/polly/test/Support/isl-args.ll @@ -1,7 +1,7 @@ -; RUN: opt %loadNPMPolly '-passes=print' -disable-output -polly-isl-arg=-V < %s | FileCheck %s -match-full-lines --check-prefix=VERSION -; RUN: opt %loadNPMPolly '-passes=print' -disable-output -polly-isl-arg=-h < %s | FileCheck %s -match-full-lines --check-prefix=HELP -; RUN: not opt %loadNPMPolly '-passes=print' -disable-output -polly-isl-arg=-asdf < %s 2>&1| FileCheck %s -match-full-lines --check-prefix=UNKNOWN -; RUN: opt %loadNPMPolly '-passes=print' -disable-output -polly-isl-arg=--schedule-algorithm=feautrier < %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-isl-arg=-V < %s | FileCheck %s -match-full-lines --check-prefix=VERSION +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-isl-arg=-h < %s | FileCheck %s -match-full-lines --check-prefix=HELP +; RUN: not opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-isl-arg=-asdf < %s 2>&1 | FileCheck %s -match-full-lines --check-prefix=UNKNOWN +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -disable-output -polly-isl-arg=--schedule-algorithm=feautrier < %s ; VERSION: isl-{{.*}}-IMath-32 ; HELP: Usage: -polly-isl-arg [OPTION...] diff --git a/polly/test/Support/pipelineposition.ll b/polly/test/Support/pipelineposition.ll index a4506ba1d64ed..1ddfb5879ce16 100644 --- a/polly/test/Support/pipelineposition.ll +++ b/polly/test/Support/pipelineposition.ll @@ -1,8 +1,6 @@ -; RUN: opt %loadNPMPolly -O3 -polly -polly-position=early -disable-output -debug-only=polly-scops < %s 2>&1 | FileCheck %s --check-prefix=NOINLINE -; RUN: opt %loadNPMPolly -O3 -polly -polly-position=early -polly-run-inliner -disable-output -debug-only=polly-scops < %s 2>&1 | FileCheck %s --check-prefix=INLINED1 -; RUN: opt %loadNPMPolly -O3 -polly -polly-position=before-vectorizer -disable-output -debug-only=polly-scops < %s 2>&1 | FileCheck %s --check-prefix=INLINED3 -; -; REQUIRES: asserts +; RUN: opt %loadNPMPolly -O3 -polly -polly-position=early -disable-output -polly-print-scops < %s 2>&1 | FileCheck %s --check-prefix=NOINLINE +; RUN: opt %loadNPMPolly -O3 -polly -polly-position=early -polly-run-inliner -disable-output -polly-print-scops < %s 2>&1 | FileCheck %s --check-prefix=INLINED1 +; RUN: opt %loadNPMPolly -O3 -polly -polly-position=before-vectorizer -disable-output -polly-print-scops < %s 2>&1 | FileCheck %s --check-prefix=INLINED3 ; ; void callee(int n, double A[], int i) { ; for (int j = 0; j < n; j += 1) diff --git a/polly/test/lit.site.cfg.in b/polly/test/lit.site.cfg.in index f22063e796def..ca901b8825ced 100644 --- a/polly/test/lit.site.cfg.in +++ b/polly/test/lit.site.cfg.in @@ -38,14 +38,10 @@ if config.llvm_polly_link_into_tools == '' or \ config.llvm_polly_link_into_tools.lower() == 'false' or \ config.llvm_polly_link_into_tools.lower() == 'notfound' or \ config.llvm_polly_link_into_tools.lower() == 'llvm_polly_link_into_tools-notfound': - config.substitutions.append(('%loadPolly', '-load ' - + config.polly_lib_dir + '/LLVMPolly@LLVM_SHLIBEXT@' - + commonOpts )) config.substitutions.append(('%loadNPMPolly', '-load-pass-plugin ' + config.polly_lib_dir + '/LLVMPolly@LLVM_SHLIBEXT@' + commonOpts )) else: - config.substitutions.append(('%loadPolly', commonOpts )) config.substitutions.append(('%loadNPMPolly', commonOpts )) import lit.llvm diff --git a/polly/test/polly.ll b/polly/test/polly.ll index 2e455b39a9cd4..0f5467b0e654d 100644 --- a/polly/test/polly.ll +++ b/polly/test/polly.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadNPMPolly '-passes=print' -S < %s 2>&1 | FileCheck %s +; RUN: opt %loadNPMPolly '-passes=polly-custom' -polly-print-scops -S < %s 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" define void @foo() nounwind { start: From 4fbf72bf7c82fdbae86977f7f2e262e50563b0ea Mon Sep 17 00:00:00 2001 From: Michael Kruse Date: Tue, 11 Nov 2025 17:03:31 +0100 Subject: [PATCH 2/5] [Polly] fix crash --- polly/lib/Pass/PhaseManager.cpp | 10 ++- .../multiple-scops-in-a-row-disappearing.ll | 64 +++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 polly/test/CodeGen/multiple-scops-in-a-row-disappearing.ll diff --git a/polly/lib/Pass/PhaseManager.cpp b/polly/lib/Pass/PhaseManager.cpp index fb76c811859b8..2ff6f24753097 100644 --- a/polly/lib/Pass/PhaseManager.cpp +++ b/polly/lib/Pass/PhaseManager.cpp @@ -24,6 +24,7 @@ #include "polly/ScopGraphPrinter.h" #include "polly/ScopInfo.h" #include "polly/Simplify.h" +#include "polly/Support/PollyDebug.h" #include "llvm/Analysis/AssumptionCache.h" #include "llvm/Analysis/OptimizationRemarkEmitter.h" #include "llvm/IR/Module.h" @@ -154,9 +155,16 @@ class PhaseManager { TargetTransformInfo &TTI = FAM.getResult(F); while (!Worklist.empty()) { Region *R = Worklist.pop_back_val(); + Scop *S = Info.getScop(R); + if (!S) { + // This can happen if codegenning of a previous SCoP made this region + // not-a-SCoP anymore. + POLLY_DEBUG(dbgs() << "SCoP in Region '" << *R << "' disappeared"); + continue; + } + if (!SD.isMaxRegionInScop(*R, /*Verify=*/false)) continue; - Scop *S = Info.getScop(R); // Phase: flatten if (Opts.isPhaseEnabled(PassPhase::Flatten)) diff --git a/polly/test/CodeGen/multiple-scops-in-a-row-disappearing.ll b/polly/test/CodeGen/multiple-scops-in-a-row-disappearing.ll new file mode 100644 index 0000000000000..e852b1746eb65 --- /dev/null +++ b/polly/test/CodeGen/multiple-scops-in-a-row-disappearing.ll @@ -0,0 +1,64 @@ +; RUN: opt %loadNPMPolly -passes=polly -disable-output -polly-debug < %s 2>&1 | FileCheck %s + +; optimizing region1 as invalidates region2's SCoP. +; It is not recognized as a SCoP anymore because of aliasing. + +; REQUIRES: asserts +; CHECK: SCoP detected but dismissed +; CHECK: SCoP in Region 'region2_entry => region2_exit' disappeared + +define void @testcase(ptr %arg, i32 %arg1, ptr %arg2, i64 %arg3, i64 %arg4, i64 %arg5, i64 %arg6, i64 %arg7, ptr %arg8, i64 %arg9) { +bb: + %i = sext i32 %arg1 to i64 + br label %region1_entry + +region1_entry: ; preds = %region2_exit, %bb + %i11 = phi i64 [ 0, %bb ], [ 0, %region2_exit ] + br i1 true, label %bb12, label %bb14 + +bb12: ; preds = %bb12, %region1_entry + store <2 x i64> zeroinitializer, ptr null, align 16 + %i13 = icmp eq i64 0, %arg3 + br i1 %i13, label %bb14, label %bb12 + +bb14: ; preds = %bb14, %bb12, %region1_entry + %i15 = load <8 x i16>, ptr null, align 16 + %i16 = icmp eq i64 0, %arg3 + br i1 %i16, label %region1_exit, label %bb14 + +region1_exit: ; preds = %bb14 + call void null(ptr null, ptr null, i8 0) + br i1 false, label %region2_entry, label %region2_exit + +region2_entry: ; preds = %region2_entry, %region1_exit + store <2 x i64> zeroinitializer, ptr null, align 16 + br i1 true, label %bb19, label %region2_entry + +bb19: ; preds = %region2_entry + %i20 = mul i64 %i11, %i + %i21 = getelementptr i8, ptr %arg, i64 %i20 + %i22 = load i32, ptr null, align 4 + br label %bb24 + +bb24: ; preds = %bb24, %bb19 + %i25 = load i64, ptr %i21, align 1 + %i26 = getelementptr i8, ptr %i21, i64 %i + %i27 = load i64, ptr %i26, align 1 + store i64 0, ptr %arg2, align 1 + %i28 = getelementptr i8, ptr %i26, i64 %i + %i29 = load i64, ptr %arg, align 1 + %i30 = getelementptr i8, ptr %i28, i64 %arg4 + %i31 = getelementptr i8, ptr %i30, i64 %arg9 + %i32 = getelementptr i8, ptr %i31, i64 %arg6 + %i33 = getelementptr i8, ptr %i32, i64 %arg5 + %i34 = getelementptr i8, ptr %i33, i64 %arg7 + %i35 = load i64, ptr %i34, align 1 + %i36 = icmp eq i64 0, %arg3 + br i1 %i36, label %region2_exit, label %bb24 + +region2_exit: ; preds = %bb24, %region1_exit + br i1 false, label %bb37, label %region1_entry + +bb37: ; preds = %region2_exit + ret void +} From b60cfe5c312c70509f51386df1352737d54795c5 Mon Sep 17 00:00:00 2001 From: Michael Kruse Date: Tue, 11 Nov 2025 18:49:32 +0100 Subject: [PATCH 3/5] [Polly] remove invalid assertion --- polly/lib/Support/RegisterPasses.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/polly/lib/Support/RegisterPasses.cpp b/polly/lib/Support/RegisterPasses.cpp index 2f1d7a8362349..2c0f4df761fb1 100644 --- a/polly/lib/Support/RegisterPasses.cpp +++ b/polly/lib/Support/RegisterPasses.cpp @@ -693,8 +693,6 @@ static llvm::Expected parseModulePipeline(StringRef Name, llvm::ModulePassManager &MPM, PassInstrumentationCallbacks *PIC, ArrayRef Pipeline) { - assert(Pipeline.empty()); - #define MODULE_PASS(NAME, CREATE_PASS, PARSER) \ if (PassBuilder::checkParametrizedPassName(Name, NAME)) { \ auto ExpectedOpts = PassBuilder::parsePassParameters(PARSER, Name, NAME); \ From 3af327bcf2cb8c01876b7df5307bdab28635fb3e Mon Sep 17 00:00:00 2001 From: Michael Kruse Date: Tue, 11 Nov 2025 19:10:40 +0100 Subject: [PATCH 4/5] [Polly] Adapt test --- polly/test/CodeGen/Metadata/fallback_vec_annotate.ll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/polly/test/CodeGen/Metadata/fallback_vec_annotate.ll b/polly/test/CodeGen/Metadata/fallback_vec_annotate.ll index 317d30649ab1d..8f3c4461f79aa 100644 --- a/polly/test/CodeGen/Metadata/fallback_vec_annotate.ll +++ b/polly/test/CodeGen/Metadata/fallback_vec_annotate.ll @@ -1,5 +1,5 @@ -; RUN: opt %loadNPMPolly -S -passes=polly-codegen -polly-annotate-metadata-vectorize < %s | FileCheck %s -; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' -polly-annotate-metadata-vectorize < %s | FileCheck %s +; RUN: opt %loadNPMPolly -S '-passes=polly' < %s | FileCheck %s ; Verify vectorization is not disabled when RTC of Polly is false From b90f390abbb3b71bb0ddb72b91ceacf38fe4cf6d Mon Sep 17 00:00:00 2001 From: Michael Kruse Date: Tue, 11 Nov 2025 19:22:20 +0100 Subject: [PATCH 5/5] NFC change to trigger check-llvm --- llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp b/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp index f3e6cbf53507a..3aed643ee8065 100644 --- a/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp +++ b/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp @@ -413,7 +413,7 @@ bool LoopVersioningLICM::legalLoopInstructions() { LLVM_DEBUG(dbgs() << " Found a read-only loop!\n"); return false; } - // Profitablity check: + // Profitability check: // Check invariant threshold, should be in limit. if (InvariantCounter * 100 < InvariantThreshold * LoadAndStoreCounter) { LLVM_DEBUG(