From 7a0f7dbf2dcc3f7f6546428aadff24209f7c1a94 Mon Sep 17 00:00:00 2001 From: Michael Kruse Date: Fri, 14 Nov 2025 00:45:54 +0100 Subject: [PATCH] [Polly] Introduce PhaseManager and remove LPM support (#125442) (#167560) Reapply of a22d1c2225543aa9ae7882f6b1a97ee7b2c95574. Using this PR for pre-merge CI. 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. --- .../Transforms/Scalar/LoopVersioningLICM.cpp | 2 +- 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 | 432 ++++++++++++++++++ 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 | 397 +++++++++++----- polly/lib/Support/ScopHelper.cpp | 12 - polly/lib/Transform/Canonicalization.cpp | 65 --- polly/lib/Transform/CodePreparation.cpp | 69 --- polly/lib/Transform/DeLICM.cpp | 123 ++--- polly/lib/Transform/DeadCodeElimination.cpp | 44 +- polly/lib/Transform/FlattenSchedule.cpp | 151 ++---- polly/lib/Transform/ForwardOpTree.cpp | 129 +----- .../lib/Transform/MaximalStaticExpansion.cpp | 83 +--- 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 +- .../CodeGen/Metadata/fallback_vec_annotate.ll | 4 +- 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 | 15 +- .../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 +- .../multiple-scops-in-a-row-disappearing.ll | 64 +++ 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 +- 1146 files changed, 2775 insertions(+), 4465 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/CodeGen/multiple-scops-in-a-row-disappearing.ll create mode 100644 polly/test/ScopInfo/licm_potential_store_mssa.ll diff --git a/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp b/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp index f3e6cbf53507..3aed643ee806 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( diff --git a/polly/docs/ReleaseNotes.rst b/polly/docs/ReleaseNotes.rst index f5ea47b69cf0..215a80284330 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 03f277e4e91b..972b660894a1 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 57aec1d70cc7..2340fbe016b4 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 c99a4957d6b4..3e1ff2c8a24d 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; }; + +std::unique_ptr runIslAstGen(Scop &S, + DependenceAnalysis::Result &DA); } // namespace polly -namespace llvm { -void initializeIslAstInfoWrapperPassPass(llvm::PassRegistry &); -void initializeIslAstInfoPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif // POLLY_ISLAST_H diff --git a/polly/include/polly/CodePreparation.h b/polly/include/polly/CodePreparation.h index c6bc526db209..1a15e3d4d5a2 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 0e03c0407948..63fc509e0bd4 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 d416afa030c5..4d8da56c76ee 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 d562ad80592f..88ea468dd547 100644 --- a/polly/include/polly/DependenceInfo.h +++ b/polly/include/polly/DependenceInfo.h @@ -145,7 +145,6 @@ public: friend struct DependenceAnalysis; friend struct DependenceInfoPrinterPass; friend class DependenceInfo; - friend class DependenceInfoWrapperPass; /// Destructor that will free internal objects. ~Dependences() { releaseMemory(); } @@ -192,6 +191,8 @@ private: 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 3ef3c304243d..154344d2f5c3 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); +class Scop; + +void runFlattenSchedulePass(Scop &S); } // namespace polly -namespace llvm { -void initializeFlattenSchedulePass(llvm::PassRegistry &); -void initializeFlattenSchedulePrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif /* POLLY_FLATTENSCHEDULE_H */ diff --git a/polly/include/polly/ForwardOpTree.h b/polly/include/polly/ForwardOpTree.h index b5da0f513ab7..8b2ece1f08e1 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 @@ private: 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 958f95ea1140..82a881c73706 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 &); }; + +void runImportJSON(Scop &S, DependenceAnalysis::Result &DA); +void runExportJSON(Scop &S); } // namespace polly -namespace llvm { -void initializeJSONExporterPass(llvm::PassRegistry &); -void initializeJSONImporterPass(llvm::PassRegistry &); -void initializeJSONImporterPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif /* POLLY_JSONEXPORTER_H */ diff --git a/polly/include/polly/LinkAllPasses.h b/polly/include/polly/LinkAllPasses.h deleted file mode 100644 index 9978344c73e9..000000000000 --- 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 88827b270088..1f9fbcb1d6a7 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 @@ private: 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 000000000000..9ff9bbf02d71 --- /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 000000000000..dd0d4e77d7a8 --- /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 000000000000..2214bbf3d143 --- /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 2d285cce69ad..16b76cc62f1d 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); }; + +bool runPruneUnprofitable(Scop &S); } // namespace polly -namespace llvm { -void initializePruneUnprofitableWrapperPassPass(PassRegistry &); -} - #endif // POLLY_PRUNEUNPROFITABLE_H diff --git a/polly/include/polly/RegisterPasses.h b/polly/include/polly/RegisterPasses.h index 3a81e1ba7487..7819462cb0c3 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 3e17eeff49ae..ac45572ba7ed 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; }; + +void runIslScheduleOptimizer(Scop &S, llvm::TargetTransformInfo *TTI, + DependenceAnalysis::Result &Deps); } // namespace polly -namespace llvm { -void initializeIslScheduleOptimizerWrapperPassPass(llvm::PassRegistry &); -void initializeIslScheduleOptimizerPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif // POLLY_SCHEDULEOPTIMIZER_H diff --git a/polly/include/polly/ScopDetection.h b/polly/include/polly/ScopDetection.h index 5759f7546328..ded1c8820643 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 b57732ad3d70..c4e669f0c350 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 f700144165d5..7541ddc21e39 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 @@ public: /// 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 014667804330..ae1938f03ac7 100644 --- a/polly/include/polly/ScopInliner.h +++ b/polly/include/polly/ScopInliner.h @@ -23,12 +23,6 @@ public: 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 144cfd136439..80ccd5717f96 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 b2aa58d850fa..4565eb26edaf 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 @@ private: raw_ostream &OS; int CallNo; }; + +bool runSimplify(Scop &S, int CallNo); } // namespace polly -namespace llvm { -void initializeSimplifyWrapperPassPass(llvm::PassRegistry &); -void initializeSimplifyPrinterLegacyPassPass(llvm::PassRegistry &); -} // namespace llvm - #endif /* POLLY_TRANSFORM_SIMPLIFY_H */ diff --git a/polly/include/polly/Support/DumpFunctionPass.h b/polly/include/polly/Support/DumpFunctionPass.h index e5c16203adb8..af04912ed4fe 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 c90bbc248431..6d393a174b19 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 75891525ff7b..38b731a9f7d8 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 c620f40ad072..5183fc5725ec 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); +DependenceAnalysis::Result polly::runDependenceAnalysis(Scop &S) { + DependenceAnalysis::Result Result{S, {}}; + return Result; } - -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; -} - -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 f8469c03fe55..40cc9178da0f 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 67a4c4345580..60a1e0091675 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 43ed8636b054..29e89348125f 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 eb6c995f0bb9..29e212882cef 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 8c6a2360a249..70e184d3f897 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 719cd0f6984e..61417e799cfa 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 0ed673815ff3..e4f196f151c9 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 062cdfbcfe3b..88eb09316bc0 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" @@ -320,59 +318,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) { @@ -385,17 +330,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 09bacda19674..3177cda225f1 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 dfd63146edb5..7d30c030aa6e 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) +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."); -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; + 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"; } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -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 000000000000..2ff6f2475309 --- /dev/null +++ b/polly/lib/Pass/PhaseManager.cpp @@ -0,0 +1,432 @@ +//===------ 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 "polly/Support/PollyDebug.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(); + 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; + + // 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 000000000000..a478e4df2ca2 --- /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 000000000000..f56ee672b76a --- /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 e47b7fe0db96..9565e2156aee 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 c1c27ef6ac75..2eaa0707fe57 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 2c792a586710..496839760a84 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 04f8715502c3..2c0f4df761fb 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. +static cl::opt + PollyPrintScops("polly-print-scops", + cl::desc("Print polyhedral description of all regions"), + cl::cat(PollyCategory)); -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 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()); + ExitOnError Err("Inconsistent Polly configuration: "); + PollyPassOptions &&Opts = + Err(parsePollyOptions(StringRef(), /*IsCustom=*/false)); + PM.addPass(PollyFunctionPass(Opts)); - // 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; - } - - 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,26 @@ parseTopLevelPipeline(llvm::ModulePassManager &MPM, return true; } +static llvm::Expected +parseModulePipeline(StringRef Name, llvm::ModulePassManager &MPM, + PassInstrumentationCallbacks *PIC, + ArrayRef Pipeline) { +#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 +737,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 +778,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 a2328d1bbb3c..cf0ec4432f74 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 1be560e64af4..cd7195f5374d 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 d045fb6b62c9..5b96c865ad80 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 9a9768afe113..e8f2d951404f 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 @@ public: } /// 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) +bool polly::runDeLICM(Scop &S) { + LoopInfo &LI = *S.getLI(); + std::unique_ptr Impl = runDeLICMImpl(S, LI); -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) + 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 5cb89fec09fe..df95e5190431 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); + DA.recomputeDependences(Dependences::AL_Statement); - return false; -} - -void DeadCodeElimWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); -} - -} // namespace - -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 f514ef359ba0..35a8ce687703 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; +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(); - std::shared_ptr IslCtx; - isl::union_map OldSchedule; + POLLY_DEBUG(dbgs() << "Going to flatten old schedule:\n"); + auto OldSchedule = S.getSchedule(); + POLLY_DEBUG(printSchedule(dbgs(), OldSchedule, 2)); -public: - static char ID; - explicit FlattenSchedule() : ScopPass(ID) {} + auto Domains = S.getDomains(); + auto RestrictedOldSchedule = OldSchedule.intersect_domain(Domains); + POLLY_DEBUG(dbgs() << "Old schedule with domains:\n"); + POLLY_DEBUG(printSchedule(dbgs(), RestrictedOldSchedule, 2)); - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequiredTransitive(); - AU.setPreservesAll(); + auto NewSchedule = flattenSchedule(RestrictedOldSchedule); + + 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)); + + S.setSchedule(NewSchedule); + + if (PollyPrintFlattenSchedule) { + outs() + << "Printing analysis 'Polly - Print flattened schedule' for region: '" + << S.getRegion().getNameStr() << "' in function '" + << S.getFunction().getName() << "':\n"; + + outs() << "Schedule before flattening {\n"; + printSchedule(outs(), OldSchedule, 4); + outs() << "}\n\n"; + + outs() << "Schedule after flattening {\n"; + printSchedule(outs(), S.getSchedule(), 4); + outs() << "}\n"; } - - 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(); - - POLLY_DEBUG(dbgs() << "Going to flatten old schedule:\n"); - 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 NewSchedule = flattenSchedule(RestrictedOldSchedule); - - 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)); - - S.setSchedule(NewSchedule); - return false; - } - - void printScop(raw_ostream &OS, Scop &S) const override { - OS << "Schedule before flattening {\n"; - printSchedule(OS, OldSchedule, 4); - OS << "}\n\n"; - - OS << "Schedule after flattening {\n"; - printSchedule(OS, S.getSchedule(), 4); - OS << "}\n"; - } - - void releaseMemory() override { - OldSchedule = {}; - IslCtx.reset(); - } -}; - -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 e9be6c9cdcc2..24d4a4af6e68 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 @@ public: 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) +bool polly::runForwardOpTree(Scop &S) { + LoopInfo &LI = *S.getLI(); -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) + 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 0719840f74a7..62a4d251875c 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 @@ public: }; 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; +void polly::runMaximalStaticExpansion(Scop &S, DependenceAnalysis::Result &DI) { + OptimizationRemarkEmitter ORE(&S.getFunction()); -bool MaximalStaticExpanderWrapperPass::runOnScop(Scop &S) { - // Get the ORE from OptimizationRemarkEmitterWrapperPass. - OptimizationRemarkEmitter *ORE = - &getAnalysis().getORE(); - - // 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; + if (PollyPrintMSE) { + outs() + << "Printing analysis 'Polly - Maximal static expansion of SCoP' for " + "region: '" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; + + if (Impl) { + outs() << "MSE result:\n"; + Impl->print(llvm::outs()); + } + } } - -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(); -} - -Pass *polly::createMaximalStaticExpansionPass() { - return new MaximalStaticExpanderWrapperPass(); -} - -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 f01d3decd9a1..551c4e97bc0b 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, @@ -966,30 +941,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; @@ -1013,36 +964,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, @@ -1055,7 +978,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(); @@ -1081,52 +1004,23 @@ IslScheduleOptimizerPrinterPass::run(Scop &S, ScopAnalysisManager &SAM, return runIslScheduleOptimizerUsingNPM(S, SAM, SAR, U, &OS); } -//===----------------------------------------------------------------------===// +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(); -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; + if (PollyPrintOptIsl) { + outs() + << "Printing analysis 'Polly - Optimize schedule of SCoP' for region: '" + << S.getName() << "' in function '" << S.getFunction().getName() + << "':\n"; + runScheduleOptimizerPrinter(outs(), LastSchedule); } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -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 c04ba3498339..8e7a0dedaf53 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 75e91cd1c031..cf0f8c5ca5ef 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; +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); } - void getAnalysisUsage(AnalysisUsage &AU) const override { - ScopPass::getAnalysisUsage(AU); - AU.addRequired(); - AU.setPreservesAll(); - } - -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 7229a6e3d524..7de1b843a5b0 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 bed737741abb..13a6159d3e7a 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 ee0422e07c4e..6a4763dcb3b7 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 a4cd76af9dd3..648a06479ae2 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 9080451aeae5..52153d7cfa73 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 51dc9d311f07..075a4947c8e7 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 a836795c9907..0b0ed7327c8b 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 28b984bd5900..5681f3415234 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 51c453cfe438..97ed151410df 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 fdac75f1b999..cbee80e44949 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 da68eb0dd8fa..e6fcaf6a9272 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 3dece4efdcd0..66c9e2bb0eb5 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 f45b6544464d..cc3a5087090b 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 82da9d248642..240c2a49bc46 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 fecdb9d4fed1..c199f757ebac 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 f1503e25fcc4..e8b425f00972 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 3d0c929446f4..0295ee056720 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 0e62e678f0ae..6913deed2305 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 32b018f24e54..a39fced9dbab 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 b87a3dc60dea..a7f709b4a761 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 dac78bf04a25..554384c0e777 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 5728a768a3b3..101930e17563 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 cafd68e50825..7ad8cbf963f4 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 47fd4f07e467..ba4ea1565e48 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 eb7de01ba862..a92917f30b72 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 9bb086fa79ae..0d947004aea5 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 442600cff7a0..1293cd91da78 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 82fff27dd0eb..be1c64938422 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 3360e10529f8..283c8fbd2c24 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 0563ca87eef5..ce44f2daceaa 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 ee0187fe97d2..ab1dca516a9c 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 6970565bf023..72f9c2ce61e3 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 f0896e2bf609..a6d9969286fc 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 99fc36996f08..568b0ff4ae20 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 40ae8d6efa95..8443e0f7be32 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 1202d21998c9..9c95378a7643 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 7d8083cc5584..f08fabd67ef5 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 407e72702aa8..ae6168d235a9 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 7b2286bfc95a..099a3e067096 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 5c926ac63841..d8d0df700968 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 7c845d4a004f..4ea21b26ce53 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 7848977ce031..edc3888be364 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 5077e1a1b5a2..63d66f1c925f 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 143651b565af..f07cb1629ca1 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 51fa97adb3c3..93f5f186ad6a 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 ebe91636ea3c..344a6d099083 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/Metadata/fallback_vec_annotate.ll b/polly/test/CodeGen/Metadata/fallback_vec_annotate.ll index 317d30649ab1..8f3c4461f79a 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 diff --git a/polly/test/CodeGen/OpenMP/alias-metadata.ll b/polly/test/CodeGen/OpenMP/alias-metadata.ll index 121f63078989..541fbdda5a6b 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 7177ae01f075..657921690c74 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 82a73780886e..ac6c7070c1ab 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 aba3ae78f778..08c0cc7fe37f 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 8cf6148a7b44..8246aaa25b7b 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 823e5cab55ab..0c5208c77768 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 5557839e715e..fd039e75444b 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 a987fac31b74..fe8b8a3a022b 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 96c6d900a7a0..d1f48d92e0e7 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 c4ad665c7b6c..5b032801c728 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 82acba8b3c52..d612faf7b67c 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 aa44658131bb..213cc2635fb6 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 4deab1af0ccf..fef23f141eae 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 43326b29f7ef..fd8ce87b45ae 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 5faabb4d20c1..8018acdcb0e6 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 b7b3a44610f3..99069612cd1d 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 c207f589e4da..236362a3e23d 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 -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-scheduling=runtime \ -; RUN: -S -verify-dom-info < %s \ -; RUN: | 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 \ -; 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 ; 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 dbfbd9a90508..992518788317 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 ee43b8aa34a4..3738266b558e 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 7a8cd77bb157..fb420b06b9af 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 9b79f2909448..861a78e4acd7 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 e5aee840ade7..5e8a58fadd56 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 c519bfdee7a5..95324793f4fa 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 f6dfd62d6bcc..7334762f84f6 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 934e04461f13..77c1b23a3f76 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 3e0c9d67d5ca..39bdac793e8a 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 ccb0d15cfc3d..9ec9804d35b0 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 4ffb7fd6e462..736c136eeb67 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 0440bda74b39..bab2690bddb1 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 4186b8521a53..37ec2d5b748a 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 8e1fc3b32835..7fed270cb51d 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 e601c22b978d..5326af339dda 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 e1dae03280a0..5d0b40d6b59a 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 a79ba2532535..1b7b85835d79 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 efe4af1c9e7c..fa8053ccabbe 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 3079e58d7dab..4e8570944f6c 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 e0f6a959476f..daf7999c8072 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 ada03e066372..7d2d9038270a 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 99f2eae9dd8e..461af09b5b28 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 5dba93373b70..5eb6076892f3 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 905aa52df508..9d3c5a811b16 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 b8c9a81b71a9..d4df48b757d3 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 dfef4202391d..31b5e69ae4c6 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 fcc6764ce9c2..88b844bea5e4 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 ed4b81a8e3a3..f397a4b83d88 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 edc03333a358..7f6f128c2cff 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 a2fe805f402e..f6c39eb0517b 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 f2c9da04d649..09570938a9ca 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 2f1ec1a7872a..7d8ef7acf943 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 63b6becd1957..c5c11c8ea2f8 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 abec28894f45..1e38210c733d 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 c9b419abe324..b123e90c0788 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 1ca2413fd5e1..c7873baeeaeb 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 aa29bfd7dbcb..31ae969cd315 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 1b913f2cb07b..eb6f7ae5ff6d 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 d210105c46ba..f7595a6afb0b 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 33233fe2fdf1..247c102834b2 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 a8c626347efe..fc1cce41c0f4 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 31c14e85f253..1ff598a4a021 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 b42371b0891e..4cd146ddbf62 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 45af63402c98..586875bbefcb 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 a708548798eb..0f35664eb7e1 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 a643b8accd4e..4a64c1a64118 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 e7cbf748bea7..15fe0d9e2241 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 24e9240c234d..c1ab026e9770 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 d1d861e316ee..f0c833ce1bce 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 21e53055c56b..13576b9f4045 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 1fd9cb81771c..d92d97012b33 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 420cb608f9ba..f6dcac08dffc 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 2d5e6042ea6a..c89da73efc83 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 3d1958e5b8a4..7d5139cc55f8 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 252463384a5c..2a704ee9c576 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 d4ac433475f0..f6b873994036 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 06a9a93363ed..4dbcc3b3b049 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 66ab9a31b103..39520c8fd821 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 fa904e9b96d3..414ca127a251 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 36e588329d66..f0782c023378 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 0a88bb70966d..034c3587a070 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 416148b72303..85578d3ba099 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 906bfc1805d3..ff6e9a8e3dda 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 ab02e639f0d2..edd38cab2afb 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 1db27ad8e58b..923102440c54 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 5a11adcdebbc..0e381b863fb8 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 7e0550fb3be9..bbbe1f166396 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 abf957b556da..9fe343f752d1 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 b565f1bd5096..dc1c2bca4b6e 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 ba2999e27984..bb60c50b1ab4 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 26c964c9c6a7..87c407e05b97 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 6bf11d5697bd..5e2b28c53019 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 07ce94152245..20d9f6d40b7d 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 19b30afd33ba..51f8a55d1a40 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 1dcc175ebb16..432c155fdd3a 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 43b3d99e11a2..65ba2cd99319 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 34c4e398e2ac..5e225d73bdcd 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 b228baf9bdf2..4d55273618df 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 ccd4198b9fe8..33b3d3b72225 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 f43247b3e505..dc0c5517d7ca 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 49e312404cca..cf28a4de63f3 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 8ae38eeeb498..1d8a8132a79c 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 64019a609021..c222f67ed783 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 5dcb51dcb91c..32256a734466 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 26fe4eb82ae4..5d7f67f1f906 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 501aa8fbea4d..c3ffe4abcddd 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 f63eb18118e7..b08467297185 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 63e43c83ada5..66a4fdf42bc8 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 86b17573caad..d3f8b718889e 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 93e34e2fd0fc..e85d7c9e7785 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 a63f8a615ff9..cb12700bfb56 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-disappearing.ll b/polly/test/CodeGen/multiple-scops-in-a-row-disappearing.ll new file mode 100644 index 000000000000..e852b1746eb6 --- /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 +} diff --git a/polly/test/CodeGen/multiple-scops-in-a-row.ll b/polly/test/CodeGen/multiple-scops-in-a-row.ll index effae223c152..b92359782d99 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 101fcaff0c82..96615079be36 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 930041eaddaa..ca89cb53e09b 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 1e06a7e186bb..8198108b2205 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 d5ad9a7aef23..f915b5a0772e 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 a022083f43a9..604c5ac54bcd 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 6015516a3bc4..ebb02a90ffb5 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 0d0f634ed7c1..ff9f50429567 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 bfa3c156ea75..2ad1e7521636 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 b9386333a79b..386fe5f9f207 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 6460c427270f..5e5f34d99bde 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 1b6802f1a4c3..db9f0d518041 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 007a4c586aa3..096eb8609e1b 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 20edbf2bd6c0..2810a8ab5361 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 0ff39d3fe882..cdb2000d90d6 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 7df3d8976ea8..b4889c76079c 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 179062dd62d0..45465c627f55 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 427e7e2461f1..90d5efdc3a9f 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 292c0f2b5394..5bb4fd19f4fd 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 03f091a40501..582607787eb7 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 153cdb7ed9f6..eaf74d9c63e0 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 a359b662e657..9709e231a4e8 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 445cef0d6f69..be7a8a23df86 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 4c33be340725..730c57299d56 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 dd0a24b14a3b..8d5f74751af4 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 8eba6444abb1..3ae95020d52d 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 fad4b21cf3dc..fe5fd8cffece 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 67828808e2fa..d0e5615e4220 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 b26bd81b5663..a36414297485 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 7577b137a275..e0069ebc8eae 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 7c138c82091e..e7f4225cf931 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 ba15a7871f43..85b56fefad80 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 b8c413885cdb..bb99d4ea086d 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 8c1953a05ad3..37a9d98c6a22 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 4b91e5055c0b..61f122228c37 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 d5c33d64f341..4c47a12c1290 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 ab99c4d2de06..6d09d8bf27eb 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 447a14e9999c..2ccd7965bbea 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 e096aa2f4f8c..1655104b0839 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 9d73d8a79255..1cadac0a5cf7 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 2d1364842d73..8f2e2a517c96 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 25bcf2a118ef..5f0f8de19f22 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 43d29b9ec864..703e55f15c08 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 9f28024fcfa0..3d911e0d6a87 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 73e99ac0f32c..5f81f5207872 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 6c9bd56a9872..abb86e650ce2 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 4cb392d3353d..47a8a8190c8d 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 9fd8ad413128..81dd5cecd187 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 80a1c41b83ac..6331c24da31b 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 614c8acfb9f8..0adadf6b9015 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 7e21666f1db0..4d6ede638c8f 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 36a8684dbc37..4de24fb058c2 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 918e4c6c9c0b..706b01d7f8ca 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 e7feebc163d4..2478e2238fd0 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 9ee050a1e507..cac6f4fdd16f 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 b8202318a3ec..ca5d866ae6cc 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 7547b0bbed74..94be6d782492 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 a551d810c080..49a8c38309eb 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 365cbbce495f..2ae0f9e797bd 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 8c5f70770a1c..21d8c0f98b70 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 060a1866870e..f9576826b4f7 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 0fe1085dbbac..53cbdf407c95 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 58c27091a22c..9d5ba4c4ff9f 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 e5f7d0f9ef5d..f061ac061e22 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 06e0d9df3d95..16b265c06479 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 39e04dbf93ac..9d21d16c9f9c 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 4afaab5bbad0..7984b7ce8020 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 914b76f5e0be..44d2a4f15b37 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 77306c104613..102ef0412813 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 0c1164b245a4..1988f77086c8 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 375f097283b0..0179072391a3 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 e0941690ae48..09fcfe3e4a09 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 70f090eae07b..5942ecbe7cee 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 e2b5afda1bff..a09d8c5504b1 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 0adb0ba7eea8..095c362024a8 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 142e83f820fe..81f4b96d22a3 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 fd73132258dd..1cba7567a5e4 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 d94a1fdfb2c1..56d37a017585 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 9f968e5657c9..cdcfe838fa91 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 85be37755c47..144c05b5effb 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 33a3ee9fbbd4..eeb304800785 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 a7e36bc4c733..1b3518bdb0cb 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 22e9da09ef85..3af9913e6aa0 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 c33a77ae0793..8800dc7214b0 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 bc62047a80a3..5b1cd1991cd7 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 a65e3a25f035..f0142f726efa 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 acccb48f18a3..cc5e7b221026 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 7a67f6ba96ce..129936236947 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 2d939167b71e..d025ef2116a4 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 83c9e9d0324c..b473e266343a 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 2db34663e93c..c04738e6843a 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 f83e8823c63d..82ec7ffd8546 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 1427189d74a7..8affb71fad64 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 1a70d4a879d8..307b8358ff98 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 44ce1236e9f8..1d78c7a7329d 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 fda9bfab11b8..5fad1d43ae0d 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 b888c860eacd..75a8cb2094a1 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 b1ce491b5c8a..3194dba52190 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 f4b17e687ada..73d6006a6b62 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 b921202285bb..03363f49ce80 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 8f4d48f5dcb0..59df1618cfd7 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 a13a1b6ab98f..177d86adb906 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 b49c4e12fe11..5a490b68b9a9 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 bb878cc342af..d41e4a87bfb6 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 1a9e7081bebd..6696efca63f0 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 b2a062363eef..86395f25db1a 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 5668063c27c8..b5172badd76d 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 fdc98fbb4d9e..39cadc78f7e3 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 aad998ba2728..7c28ca4860e7 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 1c68389eaeba..d97a632fc382 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 4396c38310dc..845d106d43b0 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 dd3f310ef150..4b9d49cb02ec 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 354e3cd18010..2a3ba8ae4575 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 e08af07e604e..ad0e6ca7e350 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 46706804a81b..e7f4d601edab 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 6f2d3dc582db..d1f4450d086e 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 b342b1cb5aa2..44f6dbcd34d1 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 0c19eb6aa605..de340ef48d16 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 66d9ae889e65..ba42692febab 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 a78a4691bb0d..19cc334f7005 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 9a8e5989fdad..cc4e0ab387d2 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 da5f4ec24a47..9e49300381b5 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 60955368fe59..6460dbdb808f 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 9ba8ce264123..72eea57b8fdf 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 7a185d336bad..67bac06f1505 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 0ed7f6ee8e23..f3fcb0ccd06e 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 bf851ac342d2..0f2943a5b141 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 9fcd52aad743..fc8459a34972 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 1f7527c84120..d48665bdc29c 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 64302d998326..d784655db60f 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 2a92503809a2..82799e4fd1ab 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 deba8bfcc5da..10f8b64c3dd2 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 29b7a3617300..5d6531f51d57 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 012e0a0794b2..223a429d7634 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 341cc091f7e1..b8eefe5e57cf 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 a58eabb4fbd8..627a4452c3f9 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 5a81441cf0ee..1d3a789f7ce0 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 d9c5268e631d..37499cd73020 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 6a4223f5af65..79a700ff122e 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 bf4b8018d552..7e82daa9f80f 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 795b94912aa4..7dc6e0fa9e40 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 935f31abced3..a9c55a8f5408 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 8b06e7466f20..b98950b71bc8 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 51bb7291a73e..4424d904b607 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 027df44e8619..7d20b8d5c7cb 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 6aa83ae19503..e288a86f3071 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 4ea3fa53a339..4582f0a36eb5 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 2e7abe444ad6..7df2885e0133 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 60afdeb5fc97..a1bd5d3f90fe 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 e63b457de92d..8329a85ecf13 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 a9535467b3bd..5227f42ae482 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 3d486910c861..77d823c8ef6d 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 8c0544ed7785..f70df6075c2d 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 2d33d3a0ece2..d6cbb70a84a4 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 c6e3643797c0..f3ce58b1bc95 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 97826f603e5d..542cec71ab85 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 4460620852a8..d56b237aa71d 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 9bc6bf1f2373..9b7f8e5f97af 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 ddd13dad2ed3..0fea4d7bb396 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 c987156b51cd..0b75c16495c5 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 342888c6654f..311a7351c955 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 0d30791cd94e..14de2b9d0bf8 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 a7c79f752463..a213a91343f3 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 8e265e19aefe..3a2dede21008 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 2cf13afe11cd..a0ed9f76a8ca 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 f3bf07bb40d8..f1e47075e2f7 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 52f034f0e56c..6ecc07c0f7d2 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 e54df42ed1db..b43142be2a5c 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 c102f60abb65..85eea91f9920 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 36f55476fed2..21b7c5cf9583 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 ef528b4124c6..86cabe650139 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 01d34e95629b..507d690144e0 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 c2a3456b3dc8..3fdc4008f847 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 f89791f42f9d..69274f11f567 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 b88cf9bf5475..2a0027bbc034 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 5abbf4813689..06a196822c83 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 677323495476..987525769433 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 cde3102dc3dc..c9473e614e36 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 392a34769cdd..92e6cb89b2a2 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 ae5fd3beed39..b14759725dde 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 7722ee974c3f..45789088e57e 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 840d1f32dca3..7923975118bb 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 56d84a9aec6d..fdcd5f311800 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 3b4bd9ef04b5..13675ada39b0 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 76c7fc64ae89..e6ce425719ca 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 02b814a0d7c0..820371937a58 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 91bd35deebd0..9792f791c698 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 040d51378239..9bde285c6451 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 527a8cfc3556..ac3adb906546 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 fb5fd96a2e42..16ca85bff950 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 3ec3920268b4..de506a39485c 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 23bd8ef25bd7..fbf1409a1ba3 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 0e0f71737ffd..0d66f885cd42 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 cafa319e2cc7..81235d6cf02e 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 d86da92fbcab..6b48ab5afd15 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 d84c04fc309b..1fef004c4c47 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 592c7238c3c5..f40a7c07a3ba 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 7ce9d37d395b..d881a99adc22 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 d13d14ecaad9..b811d1593ab0 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 4c97fbb1aacb..0a5d36f9b9f7 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 804005cf72a7..90f9d76ef57b 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 9596827b4cbb..2b194bbb5198 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 d67683d11a4b..70d5bdf64059 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 6ae720030332..023c2d4f29f3 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 b20293bd315a..11dc40599bb0 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 6c81fb12e8cd..3dfe3fa0aa8e 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 b9081f373404..ec8869da3ae5 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 767a580dccf9..de47bc4df007 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 5d0b0a884b76..39f99545b01a 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 50a9b07b8a05..a9f5d3d85ac0 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 ef71b11dc571..2279a89cfaeb 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 1c585446ae63..f7901e1ccf8f 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 0bba41833fb1..860e603ef47d 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 364bf3ef3713..24b008cfae38 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 4c30c7f8da56..522e803b2d0a 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 1494e872a894..5c64221d882b 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 51ce94d26727..5b06c357f02b 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 bd2cad411ecc..b889783d531e 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 3e89dea37775..c8f0e0e5814f 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 7526a8313945..df57bf70cc53 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 daf289d8b0da..ba84a1a16748 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 1457aa96e2de..c763af4269c8 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 646121c4efef..69c7f10be4e5 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 d8ad31782ecb..e39e7b51dc68 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 17cb8b395eb3..8cd6e2446ff9 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 57b68180bb12..f70965f3c5d1 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 b4828e4c2c42..c95c45856ac3 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 3228bb60d2ca..14fb8d8dcc0a 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 aacf1358648f..7b55d9e0cf9b 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 cb035bb749c7..3bc504d88c0e 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 bd5864c25f54..0729241c3f7d 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 5474e740de80..d33ef99ae6be 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 697c940be4fd..e7deb381de87 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 306bb8d7558d..5e30cf88de4c 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 edb5d34801cc..f95bb77f70b6 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 755abad4336e..025fe6472415 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 be7e82f72633..8b3013785824 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 c01b72a1c142..179b02a25902 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 776d848072a2..6baec6d9e1c6 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 ee3e32698dd0..95df49a5c061 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 ec1ccdce9450..a5102b3557f0 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 9c0069060540..d086b59f97a5 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 356762a2ae5b..49a6b0531de5 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 066fc39def6a..d2d7917b0852 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 77dd55cb7605..c03189a21125 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 b61ebc9379b7..6829211cc76b 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 5c92a9168186..7199a337d8a4 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 352d87919967..41d35bfdb363 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 81c29536010b..356269cefad3 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 904f55dc32ce..039c5f74fabf 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 5fae579995b2..1783a04f02be 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 8599c2993474..8d507fb82cb2 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 dc21dc1f96a4..01b537291735 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 8d4adfa405f0..3835c23fecdd 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 be37b27b6e37..71bac9a2bb14 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 15550583340d..e5ece1f57a85 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 9b7fb93f2f67..43b13eef9a95 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 d69cc3f9fc3f..35a503ce7eb8 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 bc21e9e07ad8..a7de5c487638 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 fa569a8386b8..fa05e4c88903 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 7f280e0c542c..73f74b3bce0b 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 d609c2f210f8..e90895453660 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 8ed3220353c1..1668fc051544 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 73768e9c308a..0d0aa8bea31d 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 e2cf0bd9c0df..2ed94e59e808 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 98e8d2db959f..a285a8f032f5 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 697b6ca50d44..3fefc74efbef 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 c20a7d6db13c..41bd178c73c2 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 e6092f0b068f..5aa8a0c24442 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 14de70f9357c..91f7c9d9601b 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 797115b6f8d7..d0173bcd978c 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 d30119787d8e..d010e26f739a 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 15fca884c2b6..7f78badfcb93 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 44e9aa4d1e56..42e9c3b19eb1 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 c39ffa591484..8bdd5299986e 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 266753555cab..4811069e4f39 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 d7f9029fd347..4f5ac24a0b00 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 f18060a2e20a..472a04847ec9 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 8e2a590c5f57..2cc911d78234 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 b889db4819cd..1b2d0eb75c12 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 2a8fd7a4f670..884cea791803 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 25f2fa597e34..013a7d4f3ad2 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 0d6be9a9da9b..2dc6d8680b36 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 8b537513cc8d..dcd75945d25a 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 44d3534f651c..67fc4b74571d 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 aef509a865b6..d674f429c0d4 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 488cd180b899..73a7c596cea0 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 afe6179188c0..f546972fb370 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 f614f90fc3fc..c9ae9e8f4e52 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 e91ea1327869..45227160e869 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 49a962592bb9..28b6a7ca1279 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 749b962b260f..f19a63281579 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 1d97e3ebca62..77b9acfbb098 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 f4b739398f9f..0a06ff671c29 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 1f5cda3518a2..35b7af098ae4 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 0c750849b51e..109665a85c60 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 d8c9c3f4ab2e..f345d1c31796 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 f8d7cb8c1453..a66d5c8c69b5 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 6e13a5e413d7..ae0b4edffb5f 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 7f6578776e0b..6c434e15a38d 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 e698bdc488c2..b004c4725176 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 f130b6556e3e..5f62a457f63e 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 68d2e50c6730..029fde10f5a4 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 94c77dc2a013..9ac371b65514 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 c20d5c02d662..82afcd95c871 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 92f4d61212e9..0308452c6f95 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 89668d8d573b..debb9bc60411 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 efe15c14ce90..6eee0056ba0b 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 db516f6d7d33..59feb0085e6d 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 b93c984d7d9d..78d5243d34e0 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 3fa14c64cd63..877547c8f317 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 1d81ff7ef2dc..9f999204f59b 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 57017381c661..1a733c113626 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 7e33de17a174..a7aa162aa83d 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 355fc02600d5..06e08c43e349 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 930539547cc9..076f47143dbc 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 a055e50225e9..2b040f3f1f4e 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 77338c9aac20..f863c0e1d6ed 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 9cfa5536072b..a823bdb4e768 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 63e4d4804627..0898f99c896d 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 87bd57abab8d..2a332ba7ce77 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 cc28a78c3867..77f20bb163a8 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 9cc2aecf002d..b4524c21a35e 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 38facb1688c4..c8c006c94d1d 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 835986049899..23033faa380a 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 5e4ce8225a23..fdaed3c54367 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 de4c387a1d87..65d495722c2b 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 91bd549c3c7e..06d55f46a977 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 8b69d9e12c0f..0af703ccf5ff 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 49d112474034..ca6840b900e7 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 a449a2fda9ba..f96e4baba71e 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 798e9b9a7c14..229d13aaf1a4 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 4d0ccc988a5c..9bc9a25ac588 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 bf470b91a702..5b0cefbe686f 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 b0f75dd50ef8..2225f05f6717 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 900360d7533f..4add219214aa 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 d45b62433dbb..d59f9e58e278 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 d835e66693fb..a1caaf5db5a6 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 a5781a7f6036..b05710203fd3 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 cccf136a1c4a..8992bc942646 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 4d499078a436..7bea96f791a8 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 d67472ab8693..34a6f486e646 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 90101b4fde39..ce2281372a20 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 4cfa3fb91151..f6810ba6c48f 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 3f6f50e34775..b03d475dd42e 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 a3286b481ffb..6f34f4efc0a6 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 928ee858ae6d..4be0b948d09a 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 b533cb870bdc..548a8aa94afb 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 3dd579ed736f..6de5e3a606aa 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 3a2c566d19d3..6256adfcd691 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 0dbdeff4742b..51e02594aa88 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 8f270b94617f..79deedc7cd83 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 de1c815f9235..e3ae1a02bd34 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 a097d4a43cfd..f37f1e5119a9 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 7c1af80c9ffa..e0a7a63cda80 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 a19b93d9915d..84f1ca0dba65 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 4ef0605a0ba7..72fb4f1b4e41 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 09118e252233..933b2d4d258e 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 b771d1f87537..03e23038877e 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 238f6dd798e6..4e174e3c9723 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 0e4540eb7ba3..c3d8b6ed3fee 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 9678ad83ff04..3705c3fd27ed 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 e74884d59c31..7ada105828b2 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 9c99a090b69e..6647380b2d07 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 8e14035ce862..fba77d5e4f82 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 4f562c306f96..488436064ae8 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 32ded897d4ff..c7a5d475bef3 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 f0c0177da84b..1dba8bece807 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 155177bdfade..3656a9457cef 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 3d21ac3859a7..bd0cb054957a 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 00a4bf885aef..6e6788be2973 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 bfe5c5249a3a..82356ae0a398 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 a2e1ced3e632..ea28bb8c0bdb 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 9844d377e609..f80d63cd4d66 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 250641d57bac..100b17e2ccd2 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 ad2c195ba1e8..050af1b2377d 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 1d3cdbdbfdd8..ba1ddfef6a4e 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 59eaa4a0928e..e50b3a0a3f2b 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 2544d502a2dc..3f57fe8cf6c7 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 85c143562f5a..b87ed4fb1ec3 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 64285891a16c..98c1db6d36fb 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 1c6d289744e3..4784dc88cd30 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 1ff20d165ce5..6d1592c4ba8f 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 0bc3c2cf642e..f346e5365b19 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 e1d768b351d7..3fd490790941 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 1e1359e3ecc6..1ee8a90473bd 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 84eb59341d27..bb705ac6abf3 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 50a46d66176e..e3d7c24ebef7 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 e59a31665d77..bb472b9c3763 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 cee1c06cf7aa..d83c822371b6 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 5506b3c626cf..63c9addd0b6e 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 5f43ec1856a7..ea8a7688f3d2 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 e853dfcc6448..df68289ff735 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 e500f9bc20bc..0f0e219bd90d 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 eeb9e11f812c..b00ec7767906 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 16976e631327..1cd04b639fc9 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 418297469367..4200339a04a1 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 f451bccec706..f5263e4e4c40 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 fe3922174c07..d7605c36d449 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 4cac173932a6..c3a2ad4791ba 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 7d7476471bb6..e896e18589e9 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 178ef32827ca..adad0e89ffa4 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 efc732c50e17..0f670ca23082 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 d14bf8a23a16..de1f52813475 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 63163b23617c..a719d21300b1 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 20d02b1c1ae0..0e82e37d1009 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 6c66f6df14af..338fe20679bc 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 6ba7698a972b..85f248da9be1 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 a5c9626d2836..43fdda8321cb 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 a8c90c08fde0..b4caac4478d1 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 a75e705995a7..ef1c66686251 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 f6d6cfab0eed..a6f7079f6840 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 16d47619b0ff..be76e0b13893 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 3fbc4d65bbe2..e45e4fb01615 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 58c9197f7f79..43fa4ca619ed 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 f71016e6d04c..b4cc3df7c746 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 579d5bd481d4..08fdee573ba0 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 db4898c9c7bd..c7d7c51e7d22 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 ddef510ad4d9..977918eb5168 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 10479643959c..932c218170ca 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 074aae9ae95c..efd81c695ca0 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 64535d85f2ab..c7972cc47a68 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 30090652326d..1835342812b1 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 2a5f8b15534f..e89cea98ad21 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 91202373263f..cbe7d0708b85 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 a9cd446d2767..4af37ba06455 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 9c91fbfbe0b6..0286642f3c7a 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 a0742112b6e1..89071df59680 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 e74619cd8775..b20828d9a767 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 9326cd429038..77427397bac9 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 1ab6b35ae93f..f6ae9fe8dd54 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 921f6ab53549..23c1765caeca 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 78774d92e0a4..6e239a657066 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 5136b3b8779b..dd675ccec599 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 fd52c5df7b27..63b1cdb420b7 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 d0c1f7a61333..ff4ad3218ffa 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 bdc48984f996..5b9ed2b2ecae 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 63bd7b3a2f1f..3c487374c197 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 1d36f4df35bc..a8ce5bc63683 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 4742375fec5c..f4f35048fa8a 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 2ad22c9f7a7f..f180fa765f4b 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 271825a58c39..71d1ba0accd3 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 2ab8997c6333..6768c969a742 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 248bb43aacd9..2e16b75ee310 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 d74185b45c75..ac27016e3622 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 0291d3be452a..80379bcc5d41 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 d95e9bde0b38..1c77d730ed41 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 5e4c38db5e53..530a22f9ac3d 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 f49190b33ccf..2ade0a97a599 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 74cbedb34e5c..6f327e318082 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 f76c832ff08f..4f03845795c9 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 4a84f356f3e8..338a9ae6b6b0 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 33823b21fb8f..5da4898517e2 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 1bba2c21c747..00e11ab252e7 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 93ec84e911c5..9f75b80f58ce 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 33b0d8d7d6fc..c6ce48240340 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 9b47b7c946ca..c90c4915e866 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 4a0a3adab661..67f677892313 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 670936b6fee8..9e7b55efc48d 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 6ace3b636019..e56c022aa546 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 2150a3e8c35d..789942a95005 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 66c3b045f62a..471602968055 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 a1dcebec63ff..5d87599da29f 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 2f9b670384db..1e825f4950af 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 5c33522f6232..24a3f55a519e 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 4ae86a940e0c..e7245d80b60e 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 adb14b5b017d..2a0b281073f5 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 428a7cf855f6..fc4c1fbcef48 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 30e5fb9fdeba..7a540d606ead 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 2bc515e0ae5e..512366f1bc7c 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 a96b64e4e0d5..e844aea24ac2 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 6156efaea190..d80911cc0ec9 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 dd95bd6ede71..d8c2916cc23b 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 13ac9d5ace2d..ee0aa743f434 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 93e9e8b14038..ad2c813c4b7c 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 d110cfefc27d..d97032c8f8ea 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 5f296fae9532..7a5025c0c2fb 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 3cdeed13ec28..e15c045907dd 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 4a9a200d67df..b5918d9f7a2d 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 61ff033d9f93..502abf8dab6d 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 c5efec3f50c5..accb56277181 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 81c7efb96365..57ae977a1a13 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 5abf8ff29ef8..3cb63cc4f952 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 d16ba453f981..668fcd8fabca 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 ebbe744627ef..50c1b65727ea 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 b1711c25857d..15fd6c936fc4 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 b94f130c94eb..598ad0fe8cf1 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 af7816546b4a..388a2defec39 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 fe651c87b241..e9f4f95a9997 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 0b69beaaf3f9..d44c18cf49e3 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 f2ba17d33c0e..9034f75f1379 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 3b0c673ece38..e8edad949407 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 34a5cecdfe3d..c195bb42dac9 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 7d02fae7f98f..31ecdaa0ef3e 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 d5c808d9021f..e0cd1e51a095 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 13fe53f11633..53bbe15799e6 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 2b8427d74ec8..7d34ef9644b5 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 30f756e81e47..a40afdde1237 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 6dacd719862e..f3678d3245f5 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 8a13f791ed6d..85a1081159d5 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 1e70d2c9db87..65513a5d9d1f 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 dcfaa9280dcb..0185774d6274 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 24bfe6050216..ab47dc0b7826 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 931ad36d15f3..51a7d5456278 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 37b51cebd74d..b1f7e65e9dd2 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 7bfd7f86efcd..ac77dfb7454d 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 fc779d544e62..db08544aa559 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 63ff354d7e5f..cde2dc495d54 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 d33befe2c66e..ce4cc6189d45 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 77c2df48d651..b46ce87a45e2 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 9ed340d1d304..58e5ccd9b6e3 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 cbd024ba7a39..d94fc5f8a882 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 3858d8a7bb1d..df7f75dd8d95 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 7baa3dce1f9d..0ebc39c0e5a7 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 7265aab22a49..8e5bab661e18 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 c7592bcb09fc..aec6ea0bf144 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 d66a10bc511b..a7dbe0baeae5 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 9943802ec859..db54a1687b4d 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 900d5d40d96f..0001b8adb41e 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 70c3c56fb311..93253b7e65d4 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 bd14e3868d52..994d49e5b887 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 7a8c1870abe2..be43be598bd3 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 01fc12cd7f10..cfd9008741c3 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 3fb7a1329c74..b3aa7686d301 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 81fcade08f65..01c6d52c30f7 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 5628092de776..21ba391f4fc1 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 83743e4e4ecc..d25a8e666b52 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 9685ba37a49a..91aa96e0f350 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 f41e6500fb30..22a60c764eb4 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 71e7051922b5..1d248891dfd0 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 f4a24e06f46a..7c76c3eaa565 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 ed6bbafdac1f..6e1ef2339a81 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 9161d3db4167..2b702e235ca6 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 de79c2226e68..f48089afb93b 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 c3b8d2bb0ef8..9164959c1f6d 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 4a2a1d2a64a6..456edb04e0c2 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 36cb078f19ff..4ffd8689f1a4 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 f4a78bf75385..32425d7598bc 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 6da1fe3a8b9f..c01eca534bcf 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 6c87ba3e9850..1b39f4cf192e 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 6e28c9dfee06..42a114eaa6ec 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 9880a1dd67d1..9896fba8904b 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 552fddc6ff08..ecc2767fd6ec 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 c06dcd955bac..0f3190413371 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 8c4b2170ad69..257b2ede236d 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 d5069da916fa..d86b48ed2496 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 d9de4fc40a20..8ad98b4a4a78 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 b4c2f119fe05..b50c4bd910dd 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 86dd94e3371b..f09f82f32c93 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 b58d413e074e..26c73bd72271 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 62e6cd4641de..762132f9edd7 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 8991f8250f0b..6d17288b2822 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 a6761ecebe6a..63c1baca5acc 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 676c8a27e574..7126fb95cd00 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 aecd16833b84..62a13de7ceac 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 a3ca59563ab1..333175b417ad 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 a988b3f8c2b0..b111851939d0 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 9a1edcbfb779..3ee6ff7889c8 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 047b095a9594..902ea1575298 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 6fa12947540c..613b00a1a9ba 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 e7643601356d..952103788807 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 2efaef3fb99b..d47b2865b4ee 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 cbd6c280e8ca..21f13cf4f4e4 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 695c617b14c1..b8da9ab5b64f 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 b3b7cb1c6599..928b564c7cef 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 77b038ec8e4a..a54ca4a185ae 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 95212f83acdc..c0d2dcd16289 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 5e833e7ae0f4..2f446b630168 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 596c3d0af66a..20cb13718169 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 17f75fbf8a97..638b09879ce3 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 5c4484f9d457..f4d864d2c654 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 7ae0d961b38f..f2c37f6293d6 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 7839e51c163a..f7bd882da96e 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 8643e85e0559..80aa9fb6deb7 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 bc71cbe45cd9..66ef9fa9429e 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 f3864bac519b..3837219e5d81 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 43101a8a0abf..c43ad76d079d 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 4974f7e9b28c..cfa7739d743f 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 be3e28737201..cf5b533c0268 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 7a0bfe0fa4d8..9221ddf5fc91 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 006901ab05b7..7ab647746072 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 578015aeecdc..adefe794561c 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 627524c0327d..a88fcdc0f9b1 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 4f6d1117e2bc..5f89243be0e3 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 761fcbbe3435..0829f34be979 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 7313618b082b..f6406640dd2d 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 d2ed3c17fe9d..3150204cd954 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 b3286cd2a724..b0b63658caa5 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 86855e7499a5..0ef6b2d35106 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 e6d9e733e35b..e17d06f753a2 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 723942668d8c..d3439d8d3366 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 c493c22af32d..ff5b0f601d03 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 ecb80e4054c3..1ec36e6d9d1b 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 89eac6ce69a1..2d14287d4df4 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 9dc064276c40..8974b7f7fb8c 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 40aa3098683b..7b5a7591813a 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 287676024079..0c2f57dfcb1c 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 cb745b4920b8..865bd789db6f 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 fa5429d4803a..f63fe9cc1f7c 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 2e639f7d5e33..e70aa80ae600 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 f2539af97a0b..1176d1ca9db8 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 f854b1f48ea9..81fd3b9559f4 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 5a9c5c6cabbe..7313176aceed 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 d12750c30ba9..f6cadffe311e 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 34d50a18663c..76cc55767cac 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 51f3cf6c095a..9cc9391b6bc2 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 3a742bbccdf1..7f609f9a5468 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 6bd8b3146e87..216e0760987c 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 cb7e5646fc2b..5da3d0ceb2d0 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 6f7fbacc089c..b71a092a2d46 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 445832822bdf..2c4683ea5ce9 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 11e7088d68db..e6ea032004a9 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 c7d7b3c9ba61..8b1dc8be87c8 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 526bdc6ddb3b..fc5527c48c41 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 eb148063320e..b5525a8e2639 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 5261113f5a0c..69a7932fd3f5 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 ee889e6c4d5a..9258d75f6e29 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 6af7caecc0b3..50b0103b73ef 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 319f24bdcb92..ae1423e1e5f0 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 715948062c05..8062d875b117 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 a6108320d560..9ee4a54168a6 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 e3c183aab5e2..5bd2c51d86fa 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 b5168e912ed7..426c14c191dd 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 85360821078d..77f74df7d7b2 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 134eac22bff5..f18534d5bee2 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 f22199cfe494..dcf7f50eb27c 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 e3292b4e4aef..df5798638ba7 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 d69438de5817..3d8c232c7597 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 2df96faf7624..965531f20b01 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 480b6e9574a6..79621ce64bbc 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 b78fb838edd0..305229927784 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 96df05f89bcf..52fde263d689 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 fd310ececaa3..657b8f6dc64e 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 ade640976d00..8f1cf4fa8fd9 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.end: ; preds = %for.cond +for.cond.for.end_crit_edge: ; preds = %for.inc + br label %for.end + +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 8a36ee84313a..cbd8e410ed7c 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 + %smax = call i32 @llvm.smax.i32(i32 %n, i32 0) + %0 = add nuw i32 %smax, 1 + br label %for.cond.1.preheader -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 - -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 + %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.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 - -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 000000000000..ce785d622fcb --- /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 c1676033fa90..50625b2ddabd 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 f102518da526..8225bd04fce6 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 e32748a4bbb5..064a0d3e700b 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 b32b87b5c3f3..edaadd61dc02 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 431c907857fe..391f0ec8c0f5 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 918d4099740c..fcd56613fc09 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 8f7a87f1c5ac..392509871a9b 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 2d9f997a0767..665dc1ad244d 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 20ebbfbc8b49..579f43d87457 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 5b003325ef0f..ddad36065a5c 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 71e9c02aa8dc..f33933210247 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 6c45b0d41b76..149a2fcfea77 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 95c455f097b2..6b7a9e2edffb 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 8ff471a11cd1..aba886b59d1d 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 89b048772821..7eaec7bd1ad6 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 9755cf1129e6..7bd3e90b3aa8 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 f825cbff1ec5..cd12421344f7 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 6bc5f8d8eb73..1e289425e86d 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 21322bc648f8..0b6e64da437f 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 25e56a08a961..25d59d9f7fd1 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 5cc96cf3a06e..f8cbb084aefe 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 0a8957da4931..a9b53d53aea7 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 7af2411e7e8c..f86ddcea9fe2 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 1dac723aa2c2..21596d16a6e1 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 c6dc1f201efa..8647d89c91d7 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 bd46532d87f1..8785458e42f2 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 cdd46304c932..5de07bad6bd0 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 0b735b910618..984f41cd1e9b 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 befca87972c1..96b822ad4aa8 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 cceb5353d74c..c04cc200e06b 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 c957dd10ed65..2abd37c9f82d 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 4a1ee3b1af51..47cbc0bb1c53 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 9a6d8fbe1275..e82869616d63 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 9f4769402286..dde847bb8d4d 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 5778126ad8f1..84222f73b7c6 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 e5b005f17dcc..10314606a812 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 a7f7ebc13036..992df969f9cc 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 5f3080a12fdb..79fd4c286745 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 31cc633fa65c..62ff184f7a6b 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 fd8048b11f14..aa7932fb737f 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 9daae4b1ce3d..0475506fa9f1 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 e1ec2e1ce3be..1cf79f1bd8de 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 92b42a9e7a87..7779748c8c7f 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 261cba1e68aa..49e0a9b60657 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 f0f1c2b1f39d..a4edc9e725ac 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 6ee9798a050d..c98aece41a9e 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 e238bddf4783..12c8d97f5d63 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 33b321716edc..a9685d12eb17 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 39ea4243d942..bb9c302eaf06 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 7f7f7f91067e..7f0c8b12be9b 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 1675110ffd6f..797a037a6770 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 da9827fd5f2c..3a21702b3672 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 c86b5f0ae238..cc3fa87c8ba0 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 da563a05560c..117671ddc6a2 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 7059e5396987..5ebe0daaec47 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 88c8c6af648e..5c1b0ea7e615 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 0ab9c2d93ff4..941ec637dba3 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 65416e6fffda..ecfc0012fd59 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 910e624adb50..9ae664fd497c 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 cb0630da1b2e..6530dbf8d75b 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 7349c5ae48ba..7f5f995fd6d2 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 df280c88f866..5890a5a2ea3b 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 b9494187d0ff..3e8390aad300 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 e971ccc0ba44..4e71f9b5dd66 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 34179508cae8..9899fe4bde7e 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 84d7d3349e29..753386575d33 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 b0c425ee62cc..218e5c4108c9 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 ff0ec47be1c5..d3a70fdb9613 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 e5085daa2ca1..0aa25f4ad70f 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 91002979f4fa..7998a3896d9d 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 df010846bed2..f1ad40baf33e 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 3fb655e60f1c..0248004c27f5 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 4c3ca4d21447..158fe772c6d2 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 f4c028ac2340..bcb542f2cbf7 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 d55344b355f1..d100b514a0be 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 79ef3b88cb4f..fad8fcd91844 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 aa9284766116..d032644c9e5f 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 2a2241cb5a99..c1ba7ddc6258 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 a414c7c0fed1..c188b5f74b1e 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 1300617f00ee..b1c19745f142 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 81d43db5c352..ad69141a12c6 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 6cbb41041be8..38e1c03a3522 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 f97644052272..d45c32ede708 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 0338edf05329..0f5d9e7c43e4 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 8980a711b325..5934962f8156 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 b2e072f7a3bf..aa083616cac8 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 d850cb5c95aa..b7c4c1b9bd54 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 c5309734a668..12cda0a53fb3 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 b1ce00f0df94..a52aae0d5916 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 3a961b2dc171..84f6564ae4a2 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 f4f79525069e..23b9d3caf741 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 eed27b1c4d9d..e069ccac5534 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 44da399e704d..27ea11a23a3f 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 e5dd359158b8..aaad0dfb2ee6 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 b295f17f628a..444f9a9c24b4 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 2fe16f9d95f6..9e6e3d0e1446 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 6544aaec76f7..20986d17b8f0 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 f3923f6127cd..8d62f156a439 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 d0d74ad99e09..48580907b2f0 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 fbbc158b566b..6d98a6813862 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 a1eadff3e971..251be099c1f4 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 a889ec96a4b1..bd5c51e968ff 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 b56b77e1f453..281b8d33b775 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 14fdc38201bc..6d7f0e948411 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 76e5507f24b0..2e62dcd5799a 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 c97d9a27b24b..57d02f24f781 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 ffd1a37f8a79..600c94e1d9b4 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 0d6d9029c61c..d3353ddc5e4e 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 9c98ec0c603c..1b01a98fca06 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 18ba18c69f1f..1b983ace1b6a 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 846640ac630f..f80c4978669c 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 89dce6536a10..0fdd0bea6f21 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 7b6d0d542581..8ad531d93d29 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 13087a517501..7dfa1ec7905b 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 74103f9a2ac3..2c22b1464876 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 33fa0126aa30..800b0339a142 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 2d06f4b99597..9cb932eeef18 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 931e08fb8f2f..62909f8c3e4c 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 03562b1fd124..a6e51c7f2048 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 18cbbf3b87cd..554dd6e38cd0 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 d236eeeefc11..7ae15c34c94c 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 fc0a737a5edb..00c3caa9c50c 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 7e6f2406a0ac..528dbb102ecb 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 18e6c1fac9e1..6bc1fe71f35f 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 f04163e48028..7c78d621930c 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 7bac53a2b6b5..c1cb618a45f6 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 e38ff6046ac0..474c6ac64ffc 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 17f9dc57f282..e91eeaf544a0 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 d2786d5fd677..5c169f71f4fe 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 710ae3e74f21..93ab77be84de 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 61228e075dab..618e4d3ab3f9 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 d126d3d833ee..a7721d1b42e4 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 c66a8be0852f..86923458ee77 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 c574d315b2fe..641d2e7337e7 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 92a071ea1c37..dd2a76ebbd36 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 4f7d3681e0a0..53a62a3b857e 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 7acac4b150f4..cb54cd958136 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 331953991d86..5642a8470f12 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 9846f1029c08..9e6b3cd43108 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 4d70e5330455..7ae7d8ed3ffa 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 62ae1fef187b..6f2f48005bda 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 7ca46fa9535a..2fd71c28d521 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 b77c72a29174..4f049a3505b0 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 800eb2043dc6..0d016674ffc0 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 49ebdcb04498..568513aedfa1 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 77b71f4df301..0ac50b3b92c4 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 61aaa051e49d..f01b641b17f6 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 fb6d236764b7..51685dca8b7d 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 aa4cd00f39f5..67139bba2fde 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 e385b66f9db2..c17184624c06 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 e22eccbb2831..7cc50bfe7890 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 8f00954f7efc..35cb9dfcdb12 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 ad71f1f59e18..7512da420af0 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 d4720511b7aa..38d58c97e1b0 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 10cc57aa27a1..2d6ace988659 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 abf0b0e23855..3bb5bfb0765e 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 487c585cb9d9..dd6115c421d0 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 702b7dc5e004..e8df1eccd594 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 559c38d2682e..2a8853322f1d 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 3cf4c40bdb60..5e71e7a9d2a4 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 51ab81476d54..286f878f935f 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 dd809ba156c7..9f4d6f5895ae 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 812d2fddc3c8..db8371d96b11 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 59549f3dbbad..a09bdaf06844 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 3f61d0d72304..e71c515fa2d3 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 fa0c81fe9a48..66c50dcbe13f 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 6b9efd4b37c7..e0956df0b1e8 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 6e2ed1240b07..4a280cc929e3 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 d0e8a2accaa2..777c0088c4dd 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 9ffc30f7360e..15dea5a7f4dd 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 65f2f99b48c1..9ac6643564f7 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 7c36f8d7f72e..1657d2f37d8b 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 c8a234e9cbce..76bb438d43ff 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 93b63df1c584..135976e7d51c 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 e736f3382d90..1d9f5c2edebc 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 ae83dd633b96..877f860ba5a9 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 c4a96e4381c9..d3834297e266 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 37e907dc006f..1da6053a8316 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 7f2cf5caa1ce..0d44bf64ffc1 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 4df0d343b0fc..f70b3fa3ea21 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 8968e1319247..3ba2b35e7e50 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 0a294f2016eb..aa72db306525 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 a46acb090b7f..54832607f11d 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 3a5ebf0725b1..0a4284bdd34f 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 9edd0f0a13e5..ed2180407c68 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 d645becb1958..f35a07c8d717 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 1a1ccff4f02d..41721867f176 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 594b36279d6b..0521525e272b 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 6c9f1c2cb5fd..82a85aa5f009 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 07abe46ac039..1f21c0ce7225 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 9a42ae3a3727..580ffab56784 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 ba4801d9a000..67e8f631312e 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 0c3610185e6e..0f9e83210661 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 f0056da37955..9defd41f2523 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 a1810bf6ef53..faaa4d0254db 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 00665fd75cbc..c82e703a8296 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 2de369564940..5a49be8d8097 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 b859840ee111..379981b16703 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 f73d97f70b28..0c8efc590b9c 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 4f02176569b7..09cc95e42a58 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 746350422d6b..d64bdf985c1d 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 44222c88dfa7..d531dd8e5ab0 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 c78a5337fdeb..3f5d1faf4c37 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 5a80a873cd47..d20f375b9a2b 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 e2723a8a9a2e..aa2be1003adc 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 51f3c2d6eb87..163642d9072e 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 ef117612f6cb..5fb08f82b326 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 5b9f98059177..11418499702d 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 163170ce7489..e23b3ae5404b 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 daa1f8c78387..5bc136658cca 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 ca8daa4de01a..3f6bb937ded1 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 0529ded1f6cf..608b6d6e50a3 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 1c06b55300b6..58d39dc239ac 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 153639c42b38..cda666d6f5eb 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 34561fc4645c..50de3c59892e 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 be539b47123b..4dd75e526407 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 61716ecec0d9..fff131292271 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 d25a9576e863..f54b9bec6e7d 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 0310fdde6d26..20afd17f8679 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 47bfc6065b1a..6fa6cc12990a 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 1b73c0d6dd7e..4a3b604d81f0 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 74088120e401..ce8dd921cec1 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 bd13ba8bb696..c35ed9060e50 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 45f59170942e..2afe99fd2c53 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 fb71c75aa75e..347955806267 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 49b23b1e784d..0bd99ea3fcb3 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 f8643b68cc63..1499ab98f736 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 70f8f359e16c..aa1f72dddde9 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 3e7883db48fc..a6eed5df2063 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 32cb114fab05..36beaf5f0f01 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 6a28bd0405fd..5602c443b25d 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 f5f06bfd7d33..3a663f57c277 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 e04257acc201..8963e86bc615 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 2511c0d64608..97cb2c05b16a 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 2106bdf4c068..50e2eda2ce57 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 3ea17f6e266b..4ddb43a01bf2 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 90706a3d3bc4..440d32bab72a 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 9cf67fc10180..7bec9533440f 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 d18d2b2df3e1..2d836e191f85 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 84626861bd39..4964a123d0be 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 b4dd567bafa6..a6db7c06d072 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 cbe4af05169f..b509951bbf0d 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 b30604527676..ea3356e01cc9 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 3c02ae295b5b..9fd1afae4b88 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 5c0cfa103f0b..85198b728a9b 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 58c556a455fb..6046fc0f3865 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 f12798a3d831..77a5ddda93ad 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 4112787e51bf..5411b6e430c6 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 b140f287e27f..888daeff39d8 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 ee716fc12f09..f492222461b3 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 aea691f43e93..4df91d43fc46 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 66f94795ea6e..399c02381c89 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 fb40e4cc45b3..9344a284b311 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 a8ff7f28542b..6db242c97dac 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 81e55e1c7bb3..785b5ba15418 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 9b06cec965a9..917ae7f7d2c9 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 379c7e0ace0a..d56fed4848ff 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 5aa2caba95cf..65aa9cd28314 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 5120de2db767..6e3a43e0ebba 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 33d04b2f96de..cba62549227a 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 608b055e691d..b589d13779e5 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 e112b036cd77..b61ad9d8031e 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 fd5eee52eaf5..be7d15955403 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 42fafb446cea..1bd9bfe10a99 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 966448c9884b..b59d6dc60b08 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 88f6c4152173..859bd459f72d 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 43c05436809b..a742ea889fb1 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 8a9aec8be9e0..8542b7927f86 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 7218f328f9ca..06b082c3f81f 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 eccdd8044d07..bc5b2dffd443 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 4cee4f13d26d..861c9acda3e9 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 c9f06c85dba5..cfd5a08143d6 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 b1b7635e2626..306e726e7808 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 cdca2f11531e..170838ddb8a1 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 700adb6aed2e..a1e7da40554d 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 4d1d800b2a80..6d9c99f9dc27 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 2bb05738955a..ba1cffee1a0d 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 22921d5fba50..5130eb8488ca 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 540e537460e5..f2489a74eb89 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 5ce25836dedb..efd20e90ae74 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 ac5ca907fff6..357b63206b0f 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 927aac6c4af0..c60d28b7039d 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 72d570d46bdc..3de50c04b614 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 84cb971be11f..13ca40f8e1b8 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 6540d7751e46..47d9cfde2d3c 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 c6e36f9dcdef..969aade275af 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 adcf9eef348a..7951094867f2 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 495d77a22f61..ad41f2566e2b 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 c83941a8f0ba..a50c013ac791 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 f2436c263a96..4c05de975fdf 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 872a32fad4fe..b75dd872ad40 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 22cfea23534c..6bdf5a4c33cf 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 206cb73bfc5a..6c8b2e97682e 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 a4506ba1d64e..1ddfb5879ce1 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 f22063e796de..ca901b8825ce 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 2e455b39a9cd..0f5467b0e654 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: