summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/isl/test_inputs/codegen/omega
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/External/isl/test_inputs/codegen/omega')
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/README5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/basics-0.c8
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/basics-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/basics-1.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/basics-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.c9
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.c9
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c15
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c17
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/collard-0.c16
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/collard-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.c17
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.c17
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.c17
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gc-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gc-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ge-0.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ge-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ge-1.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ge-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-1.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-2.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-3.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-4.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-4.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-5.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/gist-5.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.c12
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.c9
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.c11
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.c12
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.c11
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c8
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.c9
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.c13
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.c15
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.c16
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.c16
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.c9
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.c16
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.c18
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.c20
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.c22
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.c22
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-0.c10
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-1.c10
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-2.c10
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-3.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c11
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c12
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c12
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m1-0.c6
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m1-1.c13
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m1-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m10-0.c7
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m10-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m10-1.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m10-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m11-0.c6
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m11-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m12-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m12-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m12-1.c25
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m12-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m2-0.c11
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m2-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m2-1.c12
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m2-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m3-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m3-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m4-0.c5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m4-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m4-1.c5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m4-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m7-0.c6
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m7-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m7-1.c10
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m7-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m8-0.c6
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m8-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m8-1.c10
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m8-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m9-0.c5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m9-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m9-1.c5
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/m9-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/olda-0.c8
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/olda-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/olda-1.c9
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/olda-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c10
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p6-0.c8
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p6-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p6-1.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/p6-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.c3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.c1
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.c1
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c13
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c35
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c10
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.c27
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.c55
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.c26
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.c35
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.c8
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.c21
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.c4
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/x-0.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/x-0.in3
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/x-1.c14
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/omega/x-1.in3
267 files changed, 1570 insertions, 0 deletions
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/README b/polly/lib/External/isl/test_inputs/codegen/omega/README
new file mode 100644
index 00000000000..80e27fd462d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/README
@@ -0,0 +1,5 @@
+The tests in this directory have been adapted from the corresponding omega+
+test cases.
+The options have been derived semi-automatically and may not always
+correspond to the intended meaning of the specified "effort" in the omega+
+test cases.
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/basics-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/basics-0.c
new file mode 100644
index 00000000000..53995e9e89e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/basics-0.c
@@ -0,0 +1,8 @@
+{
+ for (int c0 = 5; c0 <= 8; c0 += 1)
+ s0(c0);
+ for (int c0 = 10; c0 <= 16; c0 += 2)
+ s0(c0);
+ for (int c0 = 20; c0 <= 25; c0 += 1)
+ s0(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/basics-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/basics-0.in
new file mode 100644
index 00000000000..025da3d30d6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/basics-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : (In_1 >= 5 and In_1 <= 8) or (exists (e0 = [(In_1)/2]: 2e0 = In_1 and In_1 >= 10 and In_1 <= 16)) or (In_1 >= 20 and In_1 <= 25) }
+{ : }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/basics-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/basics-1.c
new file mode 100644
index 00000000000..d3d69704165
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/basics-1.c
@@ -0,0 +1,3 @@
+for (int c0 = -9; c0 <= 9; c0 += 1)
+ for (int c1 = max(1, -c0 + 1); c1 <= min(10, -c0 + 10); c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/basics-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/basics-1.in
new file mode 100644
index 00000000000..82e109311bc
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/basics-1.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_2 >= 1 - In_1 and In_2 >= 1 and In_2 <= 10 - In_1 and In_2 <= 10 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.c
new file mode 100644
index 00000000000..464ee493499
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.c
@@ -0,0 +1,9 @@
+{
+ for (int c1 = 2; c1 <= n; c1 += 1)
+ s0(c1);
+ for (int c1 = 1; c1 < n; c1 += 1) {
+ for (int c3 = c1 + 1; c3 <= n; c3 += 1)
+ s1(c3, c1);
+ s2(c1 + 1);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.in
new file mode 100644
index 00000000000..81fde503f74
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[i] -> [0, i, 0, 0] : i >= 2 and i <= n; s1[i, j] -> [1, j, 0, i] : j >= 1 and j <= -1 + i and i <= n; s2[i] -> [1, -1 + i, 1, 0] : i >= 2 and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.c
new file mode 100644
index 00000000000..464ee493499
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.c
@@ -0,0 +1,9 @@
+{
+ for (int c1 = 2; c1 <= n; c1 += 1)
+ s0(c1);
+ for (int c1 = 1; c1 < n; c1 += 1) {
+ for (int c3 = c1 + 1; c3 <= n; c3 += 1)
+ s1(c3, c1);
+ s2(c1 + 1);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.in
new file mode 100644
index 00000000000..b5abf2917e8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/chosol-1.in
@@ -0,0 +1,3 @@
+[n] -> { s0[i] -> [0, i, 0, 0] : i >= 2 and i <= n; s1[i, j] -> [1, j, 0, i] : j >= 1 and j <= -1 + i and i <= n; s2[i] -> [1, -1 + i, 1, 0] : i >= 2 and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c
new file mode 100644
index 00000000000..6340134fcdb
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= 8; c0 += 1)
+ for (int c1 = 0; c1 <= 7; c1 += 1) {
+ if (c0 >= 2 && c0 <= 6 && c1 <= 4)
+ s1(c0, c1);
+ if (c1 + 1 >= c0)
+ s0(c0, c1);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in
new file mode 100644
index 00000000000..a3fa3b1652d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 6 and In_2 >= 0 and In_2 <= 4; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_2 >= -1 + In_1 and In_2 <= 7 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 1; [i0, i1] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c
new file mode 100644
index 00000000000..f4ec0e9c066
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c
@@ -0,0 +1,15 @@
+for (int c0 = 1; c0 <= 8; c0 += 1) {
+ if (c0 >= 2) {
+ if (c0 <= 6)
+ for (int c1 = 0; c1 < c0 - 1; c1 += 1)
+ s1(c0, c1);
+ for (int c1 = c0 - 1; c1 <= 4; c1 += 1) {
+ s1(c0, c1);
+ s0(c0, c1);
+ }
+ for (int c1 = max(5, c0 - 1); c1 <= 7; c1 += 1)
+ s0(c0, c1);
+ } else
+ for (int c1 = 0; c1 <= 7; c1 += 1)
+ s0(1, c1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in
new file mode 100644
index 00000000000..c6f7fa54a91
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 6 and In_2 >= 0 and In_2 <= 4; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_2 >= -1 + In_1 and In_2 <= 7 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c
new file mode 100644
index 00000000000..f92e58368a5
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c
@@ -0,0 +1,17 @@
+{
+ for (int c1 = 0; c1 <= 7; c1 += 1)
+ s0(1, c1);
+ for (int c0 = 2; c0 <= 6; c0 += 1) {
+ for (int c1 = 0; c1 < c0 - 1; c1 += 1)
+ s1(c0, c1);
+ for (int c1 = c0 - 1; c1 <= 4; c1 += 1) {
+ s1(c0, c1);
+ s0(c0, c1);
+ }
+ for (int c1 = 5; c1 <= 7; c1 += 1)
+ s0(c0, c1);
+ }
+ for (int c0 = 7; c0 <= 8; c0 += 1)
+ for (int c1 = c0 - 1; c1 <= 7; c1 += 1)
+ s0(c0, c1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in
new file mode 100644
index 00000000000..03a7b5df3a3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 6 and In_2 >= 0 and In_2 <= 4; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_2 >= -1 + In_1 and In_2 <= 7 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= -1; [i0, i1] -> separate[o0] : o0 >= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/collard-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/collard-0.c
new file mode 100644
index 00000000000..413fbda482f
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/collard-0.c
@@ -0,0 +1,16 @@
+{
+ for (int c4 = 1; c4 <= n; c4 += 1)
+ s2(c4);
+ for (int c1 = 1; c1 < n; c1 += 1) {
+ for (int c4 = 0; c4 < n - c1; c4 += 1)
+ s0(c1, n - c4);
+ for (int c3 = 0; c3 < n - c1; c3 += 1)
+ for (int c4 = c1 + 1; c4 <= n; c4 += 1)
+ s1(c1, n - c3, c4);
+ }
+ for (int c1 = 1; c1 <= n; c1 += 1) {
+ s4(c1);
+ for (int c3 = c1 + 1; c3 <= n; c3 += 1)
+ s3(c3, c1);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/collard-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/collard-0.in
new file mode 100644
index 00000000000..d803da7574c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/collard-0.in
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [1, i, 1, n - j, k] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s2[i] -> [0, 0, 0, 0, i] : i >= 1 and i <= n; s4[i] -> [2, i, 0, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [1, i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s3[i, j] -> [2, j, 1, i, j] : j >= 1 and j <= -1 + i and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c
new file mode 100644
index 00000000000..3e403ddcd33
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c
@@ -0,0 +1,2 @@
+for (int c0 = 0; c0 <= 99; c0 += 1)
+ s0(c0 % 10, c0 / 10);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in
new file mode 100644
index 00000000000..0c2b107517a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i + 10j] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }
+{ : }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c
new file mode 100644
index 00000000000..a3e4458f146
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c
@@ -0,0 +1,2 @@
+for (int c0 = 0; c0 <= 99; c0 += 1)
+ s0(c0, c0 % 10, (c0 + 10) / 10 - 1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in
new file mode 100644
index 00000000000..e0c72739736
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in
@@ -0,0 +1,3 @@
+{s0[p,i,j] -> [p,i,j] : 0 <= i,j <= 9 && p = i+10j}
+{ : }
+{ [p,i,j] -> separate[o0] : o0 >= 2; [p,i,j] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.c
new file mode 100644
index 00000000000..fbec13a719b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.c
@@ -0,0 +1,7 @@
+for (int c0 = 0; c0 < n - 1; c0 += 1) {
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ s0(c0 + 1, n - c3);
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+ s1(c0 + 1, n - c3, c6);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.in
new file mode 100644
index 00000000000..688f9580d9b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.c
new file mode 100644
index 00000000000..768a04fbc4d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.c
@@ -0,0 +1,17 @@
+{
+ for (int c3 = 1; c3 <= n; c3 += 1)
+ s2(c3);
+ for (int c0 = 0; c0 < n - 1; c0 += 1) {
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ s0(c0 + 1, n - c3);
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+ s1(c0 + 1, n - c3, c6);
+ }
+ for (int c0 = n - 1; c0 < 2 * n - 1; c0 += 1) {
+ if (c0 >= n)
+ for (int c2 = -n + c0 + 2; c2 <= n; c2 += 1)
+ s3(c2, -n + c0 + 1);
+ s4(-n + c0 + 2);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.in
new file mode 100644
index 00000000000..c9135fff76c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-1.in
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s3[i, j] -> [-1 + n + j, 0, i, j] : j >= 1 and j <= -1 + i and i <= n; s4[i] -> [-2 + n + i, 1, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s2[i] -> [0, 0, 0, i] : i >= 1 and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.c
new file mode 100644
index 00000000000..768a04fbc4d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.c
@@ -0,0 +1,17 @@
+{
+ for (int c3 = 1; c3 <= n; c3 += 1)
+ s2(c3);
+ for (int c0 = 0; c0 < n - 1; c0 += 1) {
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ s0(c0 + 1, n - c3);
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+ s1(c0 + 1, n - c3, c6);
+ }
+ for (int c0 = n - 1; c0 < 2 * n - 1; c0 += 1) {
+ if (c0 >= n)
+ for (int c2 = -n + c0 + 2; c2 <= n; c2 += 1)
+ s3(c2, -n + c0 + 1);
+ s4(-n + c0 + 2);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.in
new file mode 100644
index 00000000000..6d9a1626a5b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc1-2.in
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s3[i, j] -> [-1 + n + j, 0, i, j] : j >= 1 and j <= -1 + i and i <= n; s4[i] -> [-2 + n + i, 1, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s2[i] -> [0, 0, 0, i] : i >= 1 and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.c
new file mode 100644
index 00000000000..fbec13a719b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.c
@@ -0,0 +1,7 @@
+for (int c0 = 0; c0 < n - 1; c0 += 1) {
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ s0(c0 + 1, n - c3);
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+ s1(c0 + 1, n - c3, c6);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.in
new file mode 100644
index 00000000000..688f9580d9b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.c
new file mode 100644
index 00000000000..768a04fbc4d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.c
@@ -0,0 +1,17 @@
+{
+ for (int c3 = 1; c3 <= n; c3 += 1)
+ s2(c3);
+ for (int c0 = 0; c0 < n - 1; c0 += 1) {
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ s0(c0 + 1, n - c3);
+ for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+ for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+ s1(c0 + 1, n - c3, c6);
+ }
+ for (int c0 = n - 1; c0 < 2 * n - 1; c0 += 1) {
+ if (c0 >= n)
+ for (int c2 = -n + c0 + 2; c2 <= n; c2 += 1)
+ s3(c2, -n + c0 + 1);
+ s4(-n + c0 + 2);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.in
new file mode 100644
index 00000000000..c9135fff76c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/fc2-1.in
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s3[i, j] -> [-1 + n + j, 0, i, j] : j >= 1 and j <= -1 + i and i <= n; s4[i] -> [-2 + n + i, 1, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s2[i] -> [0, 0, 0, i] : i >= 1 and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c
new file mode 100644
index 00000000000..db7f43707c3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c
@@ -0,0 +1,2 @@
+for (int c0 = 4 * floord(m - 1, 12) + 4; c0 <= floord(n, 3); c0 += 4)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in
new file mode 100644
index 00000000000..45faa57c37d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(In_1)/4]: 4e0 = In_1 and 3In_1 >= m and 3In_1 <= n) }
+{ : }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c
new file mode 100644
index 00000000000..bc879829073
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c
@@ -0,0 +1,2 @@
+for (int c0 = floord(m, 4); c0 <= n; c0 += 1)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in
new file mode 100644
index 00000000000..7ae72abb93e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : 4In_1 >= -3 + m and In_1 <= n }
+{ : }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c
new file mode 100644
index 00000000000..ff5f3c33745
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c
@@ -0,0 +1,2 @@
+for (int c0 = 4 * floord(m, 4); c0 <= n; c0 += 1)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in
new file mode 100644
index 00000000000..73e1b8eb554
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(m)/4]: 4e0 <= m and 4e0 >= -3 + m and 4e0 <= In_1 and In_1 <= n) }
+{ : }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c
new file mode 100644
index 00000000000..e3c9728de91
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c
@@ -0,0 +1,2 @@
+for (int c0 = 3 * floord(m, 3) + 4 * floord(m, 4); c0 <= n; c0 += 1)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in
new file mode 100644
index 00000000000..1ff7e2c3861
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(m)/3], e1 = [(m)/4]: 4e1 <= m and 3e0 <= m and 4e1 >= -3 + m and 3e0 >= -2 + m and In_1 <= n and 4e1 <= In_1 - 3e0) }
+{ : }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c
new file mode 100644
index 00000000000..dc6ba0ae941
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c
@@ -0,0 +1,3 @@
+if (n >= 3 * floord(n + 1, 3))
+ for (int c0 = m; c0 <= 5 * floord(n + 1, 3); c0 += 1)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in
new file mode 100644
index 00000000000..7a726c39379
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in
@@ -0,0 +1,3 @@
+[n, m] -> { s0[In_1] -> [In_1] : exists (e0 = [(1 + n)/3]: In_1 >= m and 5e0 >= In_1 and 3e0 <= n and 3e0 >= -1 + n) }
+{ : }
+[n, m] -> { [i0] -> atomic[o0] : o0 <= -1; [i0] -> separate[o0] : o0 >= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c
new file mode 100644
index 00000000000..3e9f47d4ccc
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c
@@ -0,0 +1,2 @@
+for (int c0 = 4 * floord(m, 32); c0 <= n; c0 += 1)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in
new file mode 100644
index 00000000000..cc24250ddaa
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(m)/32]: 32e0 <= m and 32e0 >= -31 + m and 4e0 <= In_1 and In_1 <= n) }
+{ : }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c
new file mode 100644
index 00000000000..743b0c938c5
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c
@@ -0,0 +1,3 @@
+if (m >= 8 * floord(m + 1, 8))
+ for (int c0 = 4 * floord(m + 1, 32); c0 <= n; c0 += 1)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in
new file mode 100644
index 00000000000..78d2be97e2a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(1 + m)/8], e1 = [(e0)/4]: 8e0 <= m and 8e0 >= -6 + m and 4e1 <= In_1 and In_1 <= n and 32e1 <= 1 + m and 32e1 >= -30 + m) }
+{ : }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gc-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/gc-0.c
new file mode 100644
index 00000000000..d8234a378ce
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gc-0.c
@@ -0,0 +1,2 @@
+for (int c0 = 2; c0 <= 8; c0 += 2)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gc-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/gc-0.in
new file mode 100644
index 00000000000..063e35361f1
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gc-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : exists (e0 = [(In_1)/2]: 2e0 = In_1 and In_1 >= 2 and In_1 <= 8) }
+{ : }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ge-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/ge-0.c
new file mode 100644
index 00000000000..1c22a5d9b0a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ge-0.c
@@ -0,0 +1,7 @@
+for (int c0 = 2; c0 <= n; c0 += 1)
+ for (int c1 = 1; c1 <= n; c1 += 1) {
+ for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+ s1(c3, c0, c1);
+ if (c0 >= c1 + 1)
+ s0(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ge-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/ge-0.in
new file mode 100644
index 00000000000..edd7c36ee61
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ge-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[k, i] -> [i, k, 1, 0] : k >= 1 and i >= 1 + k and i <= n; s1[k, i, j] -> [i, j, 0, k] : i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ge-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/ge-1.c
new file mode 100644
index 00000000000..1c22a5d9b0a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ge-1.c
@@ -0,0 +1,7 @@
+for (int c0 = 2; c0 <= n; c0 += 1)
+ for (int c1 = 1; c1 <= n; c1 += 1) {
+ for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+ s1(c3, c0, c1);
+ if (c0 >= c1 + 1)
+ s0(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ge-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/ge-1.in
new file mode 100644
index 00000000000..4a08142d506
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ge-1.in
@@ -0,0 +1,3 @@
+[n] -> { s0[k, i] -> [i, k, 1, 0] : k >= 1 and i >= 1 + k and i <= n; s1[k, i, j] -> [i, j, 0, k] : i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/gist-0.c
new file mode 100644
index 00000000000..4608d61d8db
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 4)
+ for (int c1 = c0; c1 <= n; c1 += 3)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/gist-0.in
new file mode 100644
index 00000000000..b2f3366f8d3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/4], e1 = [(-3 - In_1 + 4In_2)/12]: 4e0 = -1 + In_1 and 12e1 = -3 - In_1 + 4In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/gist-1.c
new file mode 100644
index 00000000000..8f1c692c8ea
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-1.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 4)
+ for (int c1 = c0; c1 <= n; c1 += 8)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/gist-1.in
new file mode 100644
index 00000000000..ecbf8e7b06e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-1.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/4], e1 = [(-In_1 + In_2)/8]: 4e0 = -1 + In_1 and 8e1 = -In_1 + In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/gist-2.c
new file mode 100644
index 00000000000..317498782d4
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-2.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 256)
+ for (int c1 = c0; c1 <= n; c1 += 8)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/gist-2.in
new file mode 100644
index 00000000000..63edb52b5f7
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-2.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/256], e1 = [(-1 + In_2)/8]: 256e0 = -1 + In_1 and 8e1 = -1 + In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/gist-3.c
new file mode 100644
index 00000000000..513f385c3c5
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-3.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 < n; c0 += 4)
+ for (int c1 = c0 + 1; c1 <= n; c1 += 6)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/gist-3.in
new file mode 100644
index 00000000000..43cac1243b8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-3.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/4], e1 = [(-1 - In_1 + In_2)/6]: 4e0 = -1 + In_1 and 6e1 = -1 - In_1 + In_2 and In_1 >= 1 and In_2 >= 1 + In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-4.c b/polly/lib/External/isl/test_inputs/codegen/omega/gist-4.c
new file mode 100644
index 00000000000..a6f6fd001b0
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-4.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 6)
+ for (int c1 = c0; c1 <= n; c1 += 4)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-4.in b/polly/lib/External/isl/test_inputs/codegen/omega/gist-4.in
new file mode 100644
index 00000000000..f67f837d598
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-4.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/6], e1 = [(-2 - In_1 + 3In_2)/12]: 6e0 = -1 + In_1 and 12e1 = -2 - In_1 + 3In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-5.c b/polly/lib/External/isl/test_inputs/codegen/omega/gist-5.c
new file mode 100644
index 00000000000..c2df61fb4e1
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-5.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 12)
+ for (int c1 = c0; c1 <= n; c1 += 8)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/gist-5.in b/polly/lib/External/isl/test_inputs/codegen/omega/gist-5.in
new file mode 100644
index 00000000000..8b192c132fd
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/gist-5.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/12], e1 = [(-2 - In_1 + 3In_2)/24]: 12e0 = -1 + In_1 and 24e1 = -2 - In_1 + 3In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.c
new file mode 100644
index 00000000000..555d644f561
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.c
@@ -0,0 +1,2 @@
+if ((n - m + 2) % 3 == 0)
+ s0(n, m);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.in
new file mode 100644
index 00000000000..52964e26489
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-0.in
@@ -0,0 +1,3 @@
+[n, m] -> { s0[n, m] -> [n, m] : exists (e0 = [(-2 - n + m)/3]: 3e0 = -2 - n + m) }
+{ : }
+[n, m] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.c
new file mode 100644
index 00000000000..335c1b838fe
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.c
@@ -0,0 +1,2 @@
+if ((n - m + 1) % 2 == 0)
+ s0(n, m);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.in
new file mode 100644
index 00000000000..141f585d358
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/guard1-1.in
@@ -0,0 +1,3 @@
+[n, m] -> { s0[n, m] -> [n, m] : exists (e0 = [(-1 - n + m)/2]: 2e0 = -1 - n + m) }
+{ : }
+[n, m] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.c
new file mode 100644
index 00000000000..c676558941f
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.c
@@ -0,0 +1,4 @@
+if (P2 >= 0 && P2 <= 3 && P1 == P2)
+ for (int c0 = 0; c0 <= min(2, -P2 + 4); c0 += 1)
+ for (int c2 = (-P2 - c0 + 6) % 3; c2 <= 3; c2 += 3)
+ s0(c0, c0, c2, c2);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.in
new file mode 100644
index 00000000000..e697792ea66
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/hpf-0.in
@@ -0,0 +1,3 @@
+[P1, P2] -> { s0[In_1, In_1, In_3, In_3] -> [In_1, In_1, In_3, In_3] : exists (e0 = [(-2P2 - 2In_1 + In_3)/3]: P1 = P2 and 3e0 = -2P2 - 2In_1 + In_3 and P2 >= 0 and P2 <= 3 and In_1 <= 4 - P2 and In_1 >= 0 and In_1 <= 2 and In_3 >= 0 and In_3 <= 3) }
+{ : }
+[P2, P1] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.c
new file mode 100644
index 00000000000..bc8d3370a6d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.c
@@ -0,0 +1,12 @@
+if (m <= 1) {
+ for (int c0 = 1; c0 <= n; c0 += 1)
+ for (int c1 = 1; c1 <= n; c1 += 1)
+ s2(c0, c1);
+} else if (n >= m + 1) {
+ for (int c0 = 1; c0 <= n; c0 += 1)
+ for (int c1 = 1; c1 <= n; c1 += 1)
+ s0(c0, c1);
+} else
+ for (int c0 = 1; c0 <= n; c0 += 1)
+ for (int c1 = 1; c1 <= n; c1 += 1)
+ s1(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.in
new file mode 100644
index 00000000000..93f3f7c2bc8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-0.in
@@ -0,0 +1,3 @@
+[n, m] -> { s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= n and In_2 >= 1 and In_2 <= n and m <= 1; s0[In_1, In_2] -> [In_1, In_2] : m >= 2 and m <= -1 + n and In_1 >= 1 and In_1 <= n and In_2 >= 1 and In_2 <= n; s1[In_1, In_2] -> [In_1, In_2] : In_1 <= n and In_2 <= n and m >= n and In_1 >= 1 and In_2 >= 1 and m >= 2 }
+{ : }
+[n, m] -> { [i0, i1] -> atomic[o0] : o0 <= 1; [i0, i1] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.c
new file mode 100644
index 00000000000..18ca3702186
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.c
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+ if (n >= 2)
+ s0(c0);
+ for (int c1 = 1; c1 <= 100; c1 += 1) {
+ if (n >= 2)
+ s1(c0, c1);
+ s2(c0, c1);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.in
new file mode 100644
index 00000000000..0258439fff7
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-1.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1] -> [In_1,0] : In_1 >= 1 and In_1 <= 100 and n >= 2; s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and n >= 2; s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 }
+{ : }
+[n] -> { [i0,i1] -> separate[o0] : o0 >= 2; [i0,i1] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.c
new file mode 100644
index 00000000000..d1ce579aa97
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.c
@@ -0,0 +1,11 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+ if (n >= 2) {
+ s0(c0);
+ for (int c1 = 1; c1 <= 100; c1 += 1) {
+ s1(c0, c1);
+ s2(c0, c1);
+ }
+ } else
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ s2(c0, c1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.in
new file mode 100644
index 00000000000..0a220ee3a54
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-2.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1] -> [In_1,0] : In_1 >= 1 and In_1 <= 100 and n >= 2; s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and n >= 2; s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 }
+{ : }
+[n] -> { [i0,i1] -> separate[o0] : o0 >= 1; [i0,i1] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.c
new file mode 100644
index 00000000000..570cbe5556f
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.c
@@ -0,0 +1,12 @@
+if (n >= 2) {
+ for (int c0 = 1; c0 <= 100; c0 += 1) {
+ s0(c0);
+ for (int c1 = 1; c1 <= 100; c1 += 1) {
+ s1(c0, c1);
+ s2(c0, c1);
+ }
+ }
+} else
+ for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ s2(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.in
new file mode 100644
index 00000000000..a0315f1a7b1
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-3.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1] -> [In_1,0] : In_1 >= 1 and In_1 <= 100 and n >= 2; s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and n >= 2; s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 }
+{ : }
+[n] -> { [i0,i1] -> separate[o0] : o0 >= 0; [i0,i1] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.c b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.c
new file mode 100644
index 00000000000..fa81628ade8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.c
@@ -0,0 +1,7 @@
+for (int c0 = 4; c0 <= 100; c0 += 4) {
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ s0(c0, c1);
+ if (c0 >= 8 && c0 <= 96)
+ for (int c1 = 10; c1 <= 100; c1 += 1)
+ s1(c0 + 2, c1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.in b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.in
new file mode 100644
index 00000000000..30dc8dc24d2
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-4.in
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-2 + In_1)/4]: 4e0 = -2 + In_1 and In_1 >= 10 and In_1 <= 98 and In_2 >= 10 and In_2 <= 100); s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/4]: 4e0 = In_1 and In_1 >= 4 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100) }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 1; [i0, i1] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.c b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.c
new file mode 100644
index 00000000000..fa81628ade8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.c
@@ -0,0 +1,7 @@
+for (int c0 = 4; c0 <= 100; c0 += 4) {
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ s0(c0, c1);
+ if (c0 >= 8 && c0 <= 96)
+ for (int c1 = 10; c1 <= 100; c1 += 1)
+ s1(c0 + 2, c1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.in b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.in
new file mode 100644
index 00000000000..87a40f4733a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/if_then-5.in
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-2 + In_1)/4]: 4e0 = -2 + In_1 and In_1 >= 10 and In_1 <= 98 and In_2 >= 10 and In_2 <= 100); s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/4]: 4e0 = In_1 and In_1 >= 4 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100) }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.c
new file mode 100644
index 00000000000..c15c86b2f6b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.c
@@ -0,0 +1,2 @@
+for (int c0 = 2; c0 <= 9; c0 += 1)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.in
new file mode 100644
index 00000000000..8b876786027
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter1-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : In_1 >= 2 and In_1 <= 9 }
+{ : }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.c
new file mode 100644
index 00000000000..5506929a106
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= 10; c0 += 1)
+ for (int c1 = 10; c1 <= 100; c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.in
new file mode 100644
index 00000000000..16ea0df1805
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter2-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 10 and In_2 >= 10 and In_2 <= 100 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.c
new file mode 100644
index 00000000000..43b6e3aa0f6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 8; c0 += 1)
+ for (int c1 = c0 + 1; c1 <= 9; c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.in
new file mode 100644
index 00000000000..fc26493e28e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter3-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_2 >= 1 + In_1 and In_2 <= 9 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.c
new file mode 100644
index 00000000000..65e37023ff3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 9; c0 += 1)
+ for (int c1 = c0 + 1; c1 <= 2 * c0; c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.in
new file mode 100644
index 00000000000..94001d5251d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter4-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_2 >= 1 + In_1 and In_2 <= 2In_1 and In_1 <= 9 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.c
new file mode 100644
index 00000000000..66c7c0971f8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 9; c0 += 1)
+ for (int c1 = c0 + 1; c1 <= min(16, 2 * c0); c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.in
new file mode 100644
index 00000000000..1e4f739447e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter5-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_2 >= 1 + In_1 and In_2 <= 2In_1 and In_2 <= 16 and In_1 <= 9 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.c
new file mode 100644
index 00000000000..a0346b69cdd
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= 5; c0 += 1)
+ for (int c1 = 12; c1 <= 17; c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.in
new file mode 100644
index 00000000000..1b8ed2b3c04
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 5 and In_2 >= 12 and In_2 <= 17 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.c
new file mode 100644
index 00000000000..daccd39be7a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.c
@@ -0,0 +1,2 @@
+for (int c0 = 46; c0 <= 70; c0 += 12)
+ s0(c0, (17 * c0 - 170) / 12);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.in
new file mode 100644
index 00000000000..4ee2ad6608d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter6-1.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, o1] : 12In_2 = -170 + 17In_1 and 12o1 = -170 + 17In_1 and In_1 >= 46 and In_1 <= 70 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.c
new file mode 100644
index 00000000000..2606890886e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.c
@@ -0,0 +1,2 @@
+for (int c0 = 1; c0 <= 3; c0 += 2)
+ s0(c0, (-3 * c0 + 15) / 2);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.in
new file mode 100644
index 00000000000..90d3efb7de0
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter7-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, o1] : 2In_2 = 15 - 3In_1 and 2o1 = 15 - 3In_1 and In_1 <= 3 and In_1 >= 1 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.c
new file mode 100644
index 00000000000..a33fc49b76a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.c
@@ -0,0 +1,2 @@
+for (int c0 = max(exprVar2 + 1, exprVar2 + 8 * floord(-exprVar2 + exprVar1 - 1, 8) + 9); c0 <= 16; c0 += 8)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.in
new file mode 100644
index 00000000000..682928048df
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter8-0.in
@@ -0,0 +1,3 @@
+[exprVar2, exprVar3, exprVar1] -> { s0[In_1] -> [In_1] : exists (e0 = [(-1 - exprVar2 + In_1)/8]: exprVar3 = 0 and 8e0 = -1 - exprVar2 + In_1 and exprVar1 >= 1 and In_1 >= 1 + exprVar1 and In_1 <= 16 and In_1 >= 1 + exprVar2) }
+[exprVar3, exprVar2, exprVar1] -> { : exists (e0: exprVar3 = 0 and 8e0 >= -15 + exprVar2 and exprVar2 <= 15 and exprVar1 >= 1 and 8e0 <= exprVar2 - exprVar1) }
+[exprVar2, exprVar3, exprVar1] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.c
new file mode 100644
index 00000000000..9b8522ba7d8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.c
@@ -0,0 +1,11 @@
+for (int c0 = 1; c0 <= 15; c0 += 1) {
+ if (((-exprVar1 + 15) % 8) + c0 <= 15) {
+ s4(c0);
+ s0(c0);
+ s3(c0);
+ s2(c0);
+ s1(c0);
+ }
+ if (((-exprVar1 + 15) % 8) + c0 <= 15 || (c0 >= exprVar1 + 1 && (exprVar1 - c0 + 1) % 8 == 0))
+ s5(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.in
new file mode 100644
index 00000000000..9596d73727c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/iter9-0.in
@@ -0,0 +1,3 @@
+[exprVar2, exprVar1] -> { s3[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s4[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s1[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s5[In_1] -> [In_1] : (exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1)) or (exists (e0 = [(-1 - exprVar1 + In_1)/8]: exprVar2 = 0 and 8e0 = -1 - exprVar1 + In_1 and In_1 >= 1 + exprVar1 and In_1 >= 1 and In_1 <= 15)); s0[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s2[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1) }
+[exprVar2, exprVar1] -> { : exprVar2 = 0 and exprVar1 <= 15 }
+[exprVar2, exprVar1] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c
new file mode 100644
index 00000000000..aab26208811
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c
@@ -0,0 +1,5 @@
+for (int c0 = 0; c0 <= 15; c0 += 1)
+ for (int c1 = max(2 * c0 - 15, c0 / 2); c1 <= min(15, c0 + 1); c1 += 1)
+ for (int c2 = max(max(max(1, 67 * c0 - (c0 + 1) / 3), 67 * c1 - (c1 + 2) / 3), 133 * c0 - 67 * c1 + (c0 + c1 + 1) / 3 - 66); c2 <= min(min(1000, 100 * c0 + 99), 133 * c0 - 67 * c1 + floord(c0 + c1 - 1, 3) + 133); c2 += 1)
+ for (int c3 = max(max(c2, 200 * c0 - c2), 100 * c1 + (c2 + 1) / 2); c3 <= min(min(2 * c2 + 1, 200 * c0 - c2 + 199), 100 * c1 + (c2 + 1) / 2 + 99); c3 += 1)
+ s0(c0, c1, c2, c3);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in
new file mode 100644
index 00000000000..cf99c811b7e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4] -> [In_1, In_2, In_3, In_4] : In_3 >= 1 and In_4 >= In_3 and In_4 <= 1 + 2In_3 and In_3 <= 1000 and In_4 >= 200In_1 - In_3 and In_4 <= 199 + 200In_1 - In_3 and 2In_4 >= 200In_2 + In_3 and 2In_4 <= 199 + 200In_2 + In_3 }
+{ : }
+{ [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c
new file mode 100644
index 00000000000..aab26208811
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c
@@ -0,0 +1,5 @@
+for (int c0 = 0; c0 <= 15; c0 += 1)
+ for (int c1 = max(2 * c0 - 15, c0 / 2); c1 <= min(15, c0 + 1); c1 += 1)
+ for (int c2 = max(max(max(1, 67 * c0 - (c0 + 1) / 3), 67 * c1 - (c1 + 2) / 3), 133 * c0 - 67 * c1 + (c0 + c1 + 1) / 3 - 66); c2 <= min(min(1000, 100 * c0 + 99), 133 * c0 - 67 * c1 + floord(c0 + c1 - 1, 3) + 133); c2 += 1)
+ for (int c3 = max(max(c2, 200 * c0 - c2), 100 * c1 + (c2 + 1) / 2); c3 <= min(min(2 * c2 + 1, 200 * c0 - c2 + 199), 100 * c1 + (c2 + 1) / 2 + 99); c3 += 1)
+ s0(c0, c1, c2, c3);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in
new file mode 100644
index 00000000000..cf99c811b7e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4] -> [In_1, In_2, In_3, In_4] : In_3 >= 1 and In_4 >= In_3 and In_4 <= 1 + 2In_3 and In_3 <= 1000 and In_4 >= 200In_1 - In_3 and In_4 <= 199 + 200In_1 - In_3 and 2In_4 >= 200In_2 + In_3 and 2In_4 <= 199 + 200In_2 + In_3 }
+{ : }
+{ [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c
new file mode 100644
index 00000000000..aab26208811
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c
@@ -0,0 +1,5 @@
+for (int c0 = 0; c0 <= 15; c0 += 1)
+ for (int c1 = max(2 * c0 - 15, c0 / 2); c1 <= min(15, c0 + 1); c1 += 1)
+ for (int c2 = max(max(max(1, 67 * c0 - (c0 + 1) / 3), 67 * c1 - (c1 + 2) / 3), 133 * c0 - 67 * c1 + (c0 + c1 + 1) / 3 - 66); c2 <= min(min(1000, 100 * c0 + 99), 133 * c0 - 67 * c1 + floord(c0 + c1 - 1, 3) + 133); c2 += 1)
+ for (int c3 = max(max(c2, 200 * c0 - c2), 100 * c1 + (c2 + 1) / 2); c3 <= min(min(2 * c2 + 1, 200 * c0 - c2 + 199), 100 * c1 + (c2 + 1) / 2 + 99); c3 += 1)
+ s0(c0, c1, c2, c3);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in
new file mode 100644
index 00000000000..bc9611db469
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4] -> [In_1, In_2, In_3, In_4] : In_3 >= 1 and In_4 >= In_3 and In_4 <= 1 + 2In_3 and In_3 <= 1000 and In_4 >= 200In_1 - In_3 and In_4 <= 199 + 200In_1 - In_3 and 2In_4 >= 200In_2 + In_3 and 2In_4 <= 199 + 200In_2 + In_3 }
+{ : }
+{ [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c
new file mode 100644
index 00000000000..05ac73f3a44
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c
@@ -0,0 +1,7 @@
+for (int c0 = 0; c0 <= 3; c0 += 1)
+ for (int c1 = max(2 * c0 - 3, c0 / 2); c1 <= min(3, c0 + 1); c1 += 1)
+ for (int c2 = c0; c2 <= min(min(3, 2 * c0 - c1 + 1), 3 * c1 + 2); c2 += 1)
+ for (int c3 = max(max(max(0, c1 - (-c1 + 3) / 3), c0 - (-c2 + 3) / 3), c2 + floord(3 * c1 - c2 - 1, 6)); c3 <= min(3, c0 + 1); c3 += 1)
+ for (int c4 = max(max(max(max(-200 * c1 + 400 * c3 - 199, 250 * c3 + 1), 667 * c0 - 333 * c1 - (c0 + c1 + 3) / 3 - 332), 333 * c1 + c1 / 3), 333 * c2 + (c2 + 1) / 3); c4 <= min(min(min(min(1000, 500 * c0 + 499), -200 * c1 + 400 * c3 + 400), 333 * c2 - (-c2 + 3) / 3 + 333), 333 * c3 - (-c3 + 3) / 3 + 334); c4 += 1)
+ for (int c5 = max(max(max(c4, 1000 * c0 - c4), 1000 * c3 - 2 * c4 + 2), 500 * c1 + (c4 + 1) / 2); c5 <= min(min(min(2 * c4 + 1, 1000 * c0 - c4 + 999), 1000 * c3 - 2 * c4 + 1001), 500 * c1 + (c4 + 1) / 2 + 499); c5 += 1)
+ s0(c0, c1, c2, c3, c4, c5);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in
new file mode 100644
index 00000000000..890f413e743
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5, In_6] -> [In_1, In_2, In_3, In_4, In_5, In_6] : In_6 >= In_5 and In_6 <= 1 + 2In_5 and In_5 <= 1000 and In_6 >= 1000In_1 - In_5 and In_6 <= 999 + 1000In_1 - In_5 and In_6 >= 2 + 1000In_4 - 2In_5 and In_6 <= 1001 + 1000In_4 - 2In_5 and In_4 >= 0 and 2In_6 >= 1000In_2 + In_5 and 2In_6 <= 999 + 1000In_2 + In_5 and 3In_5 >= -1 + 1000In_3 and 3In_5 <= 998 + 1000In_3 }
+{ : }
+{ [i0, i1, i2, i3, i4, i5] -> separate[o0] : o0 >= 5; [i0, i1, i2, i3, i4, i5] -> atomic[o0] : o0 <= 4 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c
new file mode 100644
index 00000000000..124d0f15cb5
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c
@@ -0,0 +1,8 @@
+for (int c0 = 0; c0 <= 3; c0 += 1)
+ for (int c1 = max(2 * c0 - 3, c0 / 2); c1 <= min(3, c0 + 1); c1 += 1)
+ for (int c2 = c0; c2 <= min(min(3, 2 * c0 - c1 + 1), 3 * c1 + 2); c2 += 1)
+ for (int c3 = max(max(max(c1 - (-c1 + 3) / 3, c0 - (-c2 + 3) / 3), c2 - (c2 + 2) / 3), c2 + floord(3 * c1 - c2 - 1, 6)); c3 <= min(3, c0 + c2 / 3 + 1); c3 += 1)
+ for (int c5 = max(max(max(max(0, 2 * c3 - 4), c1 - (-c1 + 3) / 3), c2 - (c2 + 3) / 3), c3 - (c3 + 3) / 3); c5 <= min(min(c1 + 1, c3), -c2 + 2 * c3 - (c2 + 3) / 3 + 2); c5 += 1)
+ for (int c6 = max(max(max(max(max(-200 * c1 + 400 * c3 - 199, 250 * c3 + 1), 1000 * c0 - 500 * c5 - 501), 667 * c0 - 333 * c1 - (c0 + c1 + 3) / 3 - 332), 333 * c1 + c1 / 3), 333 * c2 + (c2 + 1) / 3); c6 <= min(min(min(min(min(min(1000, 500 * c0 + 499), -200 * c1 + 400 * c3 + 400), 500 * c5 + 501), 1000 * c0 - 500 * c5 + 997), 333 * c2 - (-c2 + 3) / 3 + 333), 333 * c3 - (-c3 + 3) / 3 + 334); c6 += 1)
+ for (int c7 = max(max(max(max(500 * c5 + 2, c6), 1000 * c0 - c6), 1000 * c3 - 2 * c6 + 2), 500 * c1 + (c6 + 1) / 2); c7 <= min(min(min(min(500 * c5 + 501, 2 * c6 + 1), 1000 * c0 - c6 + 999), 1000 * c3 - 2 * c6 + 1001), 500 * c1 + (c6 + 1) / 2 + 499); c7 += 1)
+ s0(c0, c1, c2, c3, c2 / 3, c5, c6, c7);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in
new file mode 100644
index 00000000000..c50a0da4c51
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5, In_6, In_7, In_8] -> [In_1, In_2, In_3, In_4, In_5, In_6, In_7, In_8] : In_7 >= 1000In_5 and In_8 >= In_7 and In_8 <= 501 + 500In_6 and In_8 <= 1 + 2In_7 and In_7 <= 999 + 1000In_5 and In_7 <= 1000 and In_8 >= 1000In_1 - In_7 and In_8 <= 999 + 1000In_1 - In_7 and 2In_8 >= 1000In_2 + In_7 and 2In_8 <= 999 + 1000In_2 + In_7 and 3In_7 >= -1 + 1000In_3 and 3In_7 <= 998 + 1000In_3 and In_8 >= 2 + 500In_6 and In_6 >= 0 and In_8 >= 2 + 1000In_4 - 2In_7 and In_8 <= 1001 + 1000In_4 - 2In_7 }
+{ : }
+{ [i0, i1, i2, i3, i4, i5, i6, i7] -> atomic[o0] : o0 <= 6; [i0, i1, i2, i3, i4, i5, i6, i7] -> separate[o0] : o0 >= 7 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.c
new file mode 100644
index 00000000000..f7b1ae9ae7b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.c
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ if (c0 <= 60)
+ s0(c0, c1, c2, c3, c4);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.in
new file mode 100644
index 00000000000..31ae11ad533
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 5; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 4 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.c
new file mode 100644
index 00000000000..3910e4f264d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.c
@@ -0,0 +1,13 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1) {
+ if (c0 >= 61) {
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.in
new file mode 100644
index 00000000000..44de4acbb94
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-1.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.c
new file mode 100644
index 00000000000..8737f3c50bf
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.c
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1) {
+ if (c0 >= 61) {
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.in
new file mode 100644
index 00000000000..241fbb96293
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-2.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.c
new file mode 100644
index 00000000000..4d73f89d63d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.c
@@ -0,0 +1,15 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1) {
+ if (c0 >= 61) {
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.in
new file mode 100644
index 00000000000..a50a9ece72c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-3.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 2; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.c
new file mode 100644
index 00000000000..7d2de29261c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.c
@@ -0,0 +1,16 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+ if (c0 >= 61) {
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.in
new file mode 100644
index 00000000000..db7d85c8eed
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-4.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 1; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.c
new file mode 100644
index 00000000000..2a24f683e66
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.c
@@ -0,0 +1,16 @@
+{
+ for (int c0 = 1; c0 <= 60; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ for (int c0 = 61; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.in
new file mode 100644
index 00000000000..2f9d5786569
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift1-5.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 0; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.c
new file mode 100644
index 00000000000..181d6e58fc3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.c
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ if (c0 >= 5 && c0 <= 60)
+ s0(c0, c1, c2, c3, c4);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.in
new file mode 100644
index 00000000000..5df0444130e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 5; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 4 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.c
new file mode 100644
index 00000000000..f914743ecc2
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.c
@@ -0,0 +1,16 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1) {
+ if (c0 >= 61) {
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else if (c0 <= 4) {
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.in
new file mode 100644
index 00000000000..7ef2a8d9a9e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-1.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.c
new file mode 100644
index 00000000000..8b6dbafc507
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.c
@@ -0,0 +1,18 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1) {
+ if (c0 >= 61) {
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else if (c0 <= 4) {
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.in
new file mode 100644
index 00000000000..3e9a9782460
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-2.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.c
new file mode 100644
index 00000000000..1a5954a8081
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.c
@@ -0,0 +1,20 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1) {
+ if (c0 >= 61) {
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else if (c0 <= 4) {
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.in
new file mode 100644
index 00000000000..0580f079dbc
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-3.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 2; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.c
new file mode 100644
index 00000000000..d1d04d6507d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.c
@@ -0,0 +1,22 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+ if (c0 >= 61) {
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else if (c0 <= 4) {
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ } else
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.in
new file mode 100644
index 00000000000..d64462ae11b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-4.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 1; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.c b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.c
new file mode 100644
index 00000000000..16bd6dbafd7
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.c
@@ -0,0 +1,22 @@
+{
+ for (int c0 = 1; c0 <= 4; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+ for (int c0 = 5; c0 <= 60; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1) {
+ s1(c0, c1, c2, c3, c4);
+ s0(c0, c1, c2, c3, c4);
+ }
+ for (int c0 = 61; c0 <= 100; c0 += 1)
+ for (int c1 = 1; c1 <= 100; c1 += 1)
+ for (int c2 = 1; c2 <= 100; c2 += 1)
+ for (int c3 = 1; c3 <= 100; c3 += 1)
+ for (int c4 = 1; c4 <= 100; c4 += 1)
+ s1(c0, c1, c2, c3, c4);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.in b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.in
new file mode 100644
index 00000000000..37a57befecd
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lift2-5.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{ : }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 0; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu-0.c
new file mode 100644
index 00000000000..e71f47bbd58
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-0.c
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+ for (int c1 = c0 - 1; c1 <= n; c1 += 64)
+ for (int c2 = c0; c2 <= n; c2 += 1) {
+ for (int c3 = c0; c3 <= min(min(c0 + 63, c1 + 62), c2 - 1); c3 += 1)
+ for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s1(c3, c4, c2);
+ if (c0 + 63 >= c2)
+ for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s0(c2, c4);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu-0.in
new file mode 100644
index 00000000000..510d677c350
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-0.in
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{ : }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 5; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 4 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu-1.c
new file mode 100644
index 00000000000..e71f47bbd58
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-1.c
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+ for (int c1 = c0 - 1; c1 <= n; c1 += 64)
+ for (int c2 = c0; c2 <= n; c2 += 1) {
+ for (int c3 = c0; c3 <= min(min(c0 + 63, c1 + 62), c2 - 1); c3 += 1)
+ for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s1(c3, c4, c2);
+ if (c0 + 63 >= c2)
+ for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s0(c2, c4);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu-1.in
new file mode 100644
index 00000000000..2e8f7efa535
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-1.in
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{ : }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 4; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu-2.c
new file mode 100644
index 00000000000..e71f47bbd58
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-2.c
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+ for (int c1 = c0 - 1; c1 <= n; c1 += 64)
+ for (int c2 = c0; c2 <= n; c2 += 1) {
+ for (int c3 = c0; c3 <= min(min(c0 + 63, c1 + 62), c2 - 1); c3 += 1)
+ for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s1(c3, c4, c2);
+ if (c0 + 63 >= c2)
+ for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s0(c2, c4);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu-2.in
new file mode 100644
index 00000000000..ab2ec412b06
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-2.in
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{ : }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 3; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu-3.c
new file mode 100644
index 00000000000..3fd0d4eb543
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-3.c
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+ for (int c1 = c0 - 1; c1 <= n; c1 += 64) {
+ for (int c2 = c0; c2 <= min(n, c0 + 63); c2 += 1) {
+ for (int c3 = c0; c3 <= min(c1 + 62, c2 - 1); c3 += 1)
+ for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s1(c3, c4, c2);
+ for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s0(c2, c4);
+ }
+ for (int c2 = c0 + 64; c2 <= n; c2 += 1)
+ for (int c3 = c0; c3 <= min(c0 + 63, c1 + 62); c3 += 1)
+ for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+ s1(c3, c4, c2);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu-3.in
new file mode 100644
index 00000000000..817db46120a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu-3.in
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{ : }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 2; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c
new file mode 100644
index 00000000000..da2571ac530
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= n; c0 += 1)
+ for (int c1 = 2; c1 <= n; c1 += 1) {
+ for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+ s1(c3, c1, c0);
+ if (c1 >= c0 + 1)
+ s0(c0, c1);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in
new file mode 100644
index 00000000000..5aae58cfb57
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[k, j] -> [k, j, 1, 0] : k >= 1 and j >= 1 + k and j <= n; s1[k, j, i] -> [i, j, 0, k] : j >= 1 + k and i >= 1 + k and k >= 1 and j <= n and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c
new file mode 100644
index 00000000000..da2571ac530
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= n; c0 += 1)
+ for (int c1 = 2; c1 <= n; c1 += 1) {
+ for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+ s1(c3, c1, c0);
+ if (c1 >= c0 + 1)
+ s0(c0, c1);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in
new file mode 100644
index 00000000000..06a860c43fe
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in
@@ -0,0 +1,3 @@
+[n] -> { s0[k, j] -> [k, j, 1, 0] : k >= 1 and j >= 1 + k and j <= n; s1[k, j, i] -> [i, j, 0, k] : j >= 1 + k and i >= 1 + k and k >= 1 and j <= n and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c
new file mode 100644
index 00000000000..561ae1104b5
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c
@@ -0,0 +1,11 @@
+if (n >= 2)
+ for (int c0 = 1; c0 <= n; c0 += 1) {
+ for (int c1 = 2; c1 <= c0; c1 += 1)
+ for (int c3 = 1; c3 < c1; c3 += 1)
+ s1(c3, c1, c0);
+ for (int c1 = c0 + 1; c1 <= n; c1 += 1) {
+ for (int c3 = 1; c3 < c0; c3 += 1)
+ s1(c3, c1, c0);
+ s0(c0, c1);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in
new file mode 100644
index 00000000000..6ad8a4497e4
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in
@@ -0,0 +1,3 @@
+[n] -> { s0[k, j] -> [k, j, 1, 0] : k >= 1 and j >= 1 + k and j <= n; s1[k, j, i] -> [i, j, 0, k] : j >= 1 + k and i >= 1 + k and k >= 1 and j <= n and i <= n }
+{ : }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 0; [i0, i1, i2, i3] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c
new file mode 100644
index 00000000000..4c8c72ad594
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c
@@ -0,0 +1,12 @@
+if (ub >= lb)
+ for (int c0 = 1; c0 <= ub; c0 += 1)
+ for (int c1 = c0; c1 <= n; c1 += 1) {
+ if (c0 >= lb && c1 >= c0 + 1) {
+ s0(c0, c1);
+ if (n >= ub + 1)
+ s2(c0, c1);
+ } else if (lb >= c0 + 1)
+ s3(c0, c1, lb, c0, c1);
+ for (int c3 = max(lb, c0); c3 <= ub; c3 += 1)
+ s1(c0, c1, c3);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in
new file mode 100644
index 00000000000..0dd09538192
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in
@@ -0,0 +1,3 @@
+[n, lb, ub] -> { s1[k, i, j] -> [k, i, 1, j, 0, 0, 0, 0] : k >= 1 and j >= k and j <= n and j <= ub and i >= k and i <= n and j >= lb; s3[k, i, lb, k, i] -> [k, i, 1, lb, -1, k, i, 0] : k >= 1 and k <= -1 + lb and lb <= n and ub >= lb and i >= k and i <= n; s0[k, i] -> [k, i, 0, 0, 0, 0, 0, 0] : k >= 1 and k >= lb and i >= 1 + k and i <= n and k <= ub; s2[k, i] -> [k, i, 0, 0, 1, 0, 0, 0] : k >= 1 and k >= lb and k <= ub and ub <= -1 + n and i >= 1 + k and i <= n }
+[lb, n, ub] -> { : ub <= n and lb >= 1 }
+[n, lb, ub] -> { [i0, i1, i2, i3, i4, i5, i6, i7] -> atomic[o0] : o0 <= 7; [i0, i1, i2, i3, i4, i5, i6, i7] -> separate[o0] : o0 >= 8 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c
new file mode 100644
index 00000000000..4c8c72ad594
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c
@@ -0,0 +1,12 @@
+if (ub >= lb)
+ for (int c0 = 1; c0 <= ub; c0 += 1)
+ for (int c1 = c0; c1 <= n; c1 += 1) {
+ if (c0 >= lb && c1 >= c0 + 1) {
+ s0(c0, c1);
+ if (n >= ub + 1)
+ s2(c0, c1);
+ } else if (lb >= c0 + 1)
+ s3(c0, c1, lb, c0, c1);
+ for (int c3 = max(lb, c0); c3 <= ub; c3 += 1)
+ s1(c0, c1, c3);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in
new file mode 100644
index 00000000000..5d628befe3e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in
@@ -0,0 +1,3 @@
+[n, lb, ub] -> { s1[k, i, j] -> [k, i, 1, j, 0, 0, 0, 0] : k >= 1 and j >= k and j <= n and j <= ub and i >= k and i <= n and j >= lb; s3[k, i, lb, k, i] -> [k, i, 1, lb, -1, k, i, 0] : k >= 1 and k <= -1 + lb and lb <= n and ub >= lb and i >= k and i <= n; s0[k, i] -> [k, i, 0, 0, 0, 0, 0, 0] : k >= 1 and k >= lb and i >= 1 + k and i <= n and k <= ub; s2[k, i] -> [k, i, 0, 0, 1, 0, 0, 0] : k >= 1 and k >= lb and k <= ub and ub <= -1 + n and i >= 1 + k and i <= n }
+[lb, n, ub] -> { : ub <= n and lb >= 1 }
+[n, lb, ub] -> { [i0, i1, i2, i3, i4, i5, i6, i7] -> atomic[o0] : o0 <= 6; [i0, i1, i2, i3, i4, i5, i6, i7] -> separate[o0] : o0 >= 7 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m1-0.c
new file mode 100644
index 00000000000..bb149359f93
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m1-0.c
@@ -0,0 +1,6 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c0, c1);
+ if (c0 == 5)
+ s1(5, c1);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m1-0.in
new file mode 100644
index 00000000000..ca2b8a9b2c0
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m1-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i, j, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[5, j] -> [5, j, 1] : j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m1-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m1-1.c
new file mode 100644
index 00000000000..07b91f794e0
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m1-1.c
@@ -0,0 +1,13 @@
+for (int c0 = 1; c0 <= 9; c0 += 1) {
+ if (c0 >= 6) {
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s0(c0, c1);
+ } else if (c0 <= 4) {
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s0(c0, c1);
+ } else
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(5, c1);
+ s1(5, c1);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m1-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m1-1.in
new file mode 100644
index 00000000000..08dbf45ed10
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m1-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i, j, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[5, j] -> [5, j, 1] : j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m10-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m10-0.c
new file mode 100644
index 00000000000..2b51c7b9106
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m10-0.c
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= 18; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ if (c0 % 2 == 0)
+ s0(c1, c0 / 2);
+ if (c0 <= 9)
+ s1(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m10-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m10-0.in
new file mode 100644
index 00000000000..3046811e743
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m10-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m10-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m10-1.c
new file mode 100644
index 00000000000..b3f34f6ec93
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m10-1.c
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 18; c0 += 1) {
+ if (c0 >= 2 && c0 <= 9) {
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ if (c0 % 2 == 0)
+ s0(c1, c0 / 2);
+ s1(c1, c0);
+ }
+ } else if (c0 == 1) {
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s1(c1, 1);
+ } else if (c0 % 2 == 0)
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s0(c1, c0 / 2);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m10-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m10-1.in
new file mode 100644
index 00000000000..81dfc3bbdea
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m10-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m11-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m11-0.c
new file mode 100644
index 00000000000..1ecb4a53289
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m11-0.c
@@ -0,0 +1,6 @@
+for (int c0 = 1; c0 <= min(4, floord(2 * m - 1, 17) + 1); c0 += 1)
+ for (int c1 = 1; c1 <= 2; c1 += 1)
+ for (int c2 = 0; c2 <= min(2, -c0 - c1 + (2 * m + 3 * c0 + 10 * c1 + 6) / 20 + 1); c2 += 1)
+ for (int c3 = 8 * c0 + (c0 + 1) / 2 - 8; c3 <= min(min(30, m - 5 * c1 - 10 * c2 + 5), 8 * c0 + c0 / 2); c3 += 1)
+ for (int c4 = 5 * c1 + 10 * c2 - 4; c4 <= min(5 * c1 + 10 * c2, m - c3 + 1); c4 += 1)
+ s0(c0, c1, c2, c3, c4, -9 * c0 + c3 + c0 / 2 + 9, -5 * c1 - 5 * c2 + c4 + 5);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m11-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m11-0.in
new file mode 100644
index 00000000000..d85fcf2734b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m11-0.in
@@ -0,0 +1,3 @@
+[m] -> { s0[In_1, In_2, In_3, In_4, In_5, In_6, 5 - 5In_2 - 5In_3 + In_5] -> [In_1, In_2, In_3, In_4, In_5, In_6, 5 - 5In_2 - 5In_3 + In_5] : In_2 >= 1 and 2In_3 >= 1 - In_2 and In_2 <= 2 and 2In_3 <= 6 - In_2 and In_4 <= 30 and In_1 >= 1 and 2In_6 <= 18 - 17In_1 + 2In_4 and 2In_6 >= 17 - 17In_1 + 2In_4 and In_5 <= 5In_2 + 10In_3 and In_5 >= -4 + 5In_2 + 10In_3 and 2In_4 <= 17In_1 and 2In_4 >= -16 + 17In_1 and In_5 <= 1 + m - In_4 }
+{ : }
+[m] -> { [i0, i1, i2, i3, i4, i5, i6] -> atomic[o0] : o0 <= 5; [i0, i1, i2, i3, i4, i5, i6] -> separate[o0] : o0 >= 6 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m12-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m12-0.c
new file mode 100644
index 00000000000..2dc6ab1fea6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m12-0.c
@@ -0,0 +1,3 @@
+for (int c1 = 1; c1 <= n; c1 += 1)
+ for (int c2 = 1; c2 <= m; c2 += 1)
+ s0(1, c1, c2, 0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m12-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m12-0.in
new file mode 100644
index 00000000000..0c988ab110c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m12-0.in
@@ -0,0 +1,3 @@
+[m, n] -> { s0[1, In_2, In_3, 0] -> [1, In_2, In_3, 0] : In_3 >= 1 and In_3 <= m and In_2 >= 1 and In_2 <= n }
+{ : }
+[m, n] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m12-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m12-1.c
new file mode 100644
index 00000000000..eba7c8a6170
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m12-1.c
@@ -0,0 +1,25 @@
+{
+ for (int c1 = 1; c1 <= n; c1 += 1)
+ for (int c2 = 1; c2 <= m; c2 += 1) {
+ s0(1, c1, c2, 0);
+ s1(1, c1, c2, 0);
+ }
+ for (int c1 = 1; c1 <= n; c1 += 1) {
+ s3(2, c1, 0, 0);
+ s2(2, c1, 0, 0);
+ }
+ for (int c1 = 1; c1 <= m; c1 += 1) {
+ for (int c3 = 1; c3 <= n; c3 += 1) {
+ s5(3, c1, 1, c3);
+ s4(3, c1, 1, c3);
+ }
+ for (int c3 = 1; c3 <= n; c3 += 1) {
+ s7(3, c1, 2, c3);
+ s6(3, c1, 2, c3);
+ }
+ }
+ for (int c1 = 1; c1 <= m; c1 += 1) {
+ s8(4, c1, 0, 0);
+ s9(4, c1, 0, 0);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m12-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m12-1.in
new file mode 100644
index 00000000000..355075faf68
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m12-1.in
@@ -0,0 +1,3 @@
+[m, n] -> { s1[1, In_2, In_3, 0] -> [1, In_2, In_3, 0] : In_3 >= 1 and In_3 <= m and In_2 >= 1 and In_2 <= n; s2[2, In_2, 0, 0] -> [2, In_2, 0, 0] : In_2 >= 1 and In_2 <= n; s3[2, In_2, 0, 0] -> [2, In_2, 0, 0] : In_2 >= 1 and In_2 <= n; s8[4, In_2, 0, 0] -> [4, In_2, 0, 0] : In_2 >= 1 and In_2 <= m; s0[1, In_2, In_3, 0] -> [1, In_2, In_3, 0] : In_3 >= 1 and In_3 <= m and In_2 >= 1 and In_2 <= n; s7[3, In_2, 2, In_4] -> [3, In_2, 2, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m; s4[3, In_2, 1, In_4] -> [3, In_2, 1, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m; s6[3, In_2, 2, In_4] -> [3, In_2, 2, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m; s9[4, In_2, 0, 0] -> [4, In_2, 0, 0] : In_2 >= 1 and In_2 <= m; s5[3, In_2, 1, In_4] -> [3, In_2, 1, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m }
+{ : }
+[m, n] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m2-0.c
new file mode 100644
index 00000000000..669f51a7d14
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m2-0.c
@@ -0,0 +1,11 @@
+for (int c0 = 2; c0 <= 9; c0 += 1) {
+ if (c0 >= 5) {
+ s1(c0, 1);
+ for (int c1 = 2; c1 <= 9; c1 += 1) {
+ s1(c0, c1);
+ s0(c0, c1);
+ }
+ } else
+ for (int c1 = 2; c1 <= 9; c1 += 1)
+ s0(c0, c1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m2-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m2-0.in
new file mode 100644
index 00000000000..ae7780e0403
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m2-0.in
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 5 and In_1 <= 9 and In_2 >= 1 and In_2 <= 9; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 9 and In_2 >= 2 and In_2 <= 9 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m2-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m2-1.c
new file mode 100644
index 00000000000..09255e0c510
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m2-1.c
@@ -0,0 +1,12 @@
+{
+ for (int c0 = 2; c0 <= 4; c0 += 1)
+ for (int c1 = 2; c1 <= 9; c1 += 1)
+ s0(c0, c1);
+ for (int c0 = 5; c0 <= 9; c0 += 1) {
+ s1(c0, 1);
+ for (int c1 = 2; c1 <= 9; c1 += 1) {
+ s1(c0, c1);
+ s0(c0, c1);
+ }
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m2-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m2-1.in
new file mode 100644
index 00000000000..32302bb11e6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m2-1.in
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 5 and In_1 <= 9 and In_2 >= 1 and In_2 <= 9; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 9 and In_2 >= 2 and In_2 <= 9 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= -1; [i0, i1] -> separate[o0] : o0 >= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m3-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m3-0.c
new file mode 100644
index 00000000000..d3d69704165
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m3-0.c
@@ -0,0 +1,3 @@
+for (int c0 = -9; c0 <= 9; c0 += 1)
+ for (int c1 = max(1, -c0 + 1); c1 <= min(10, -c0 + 10); c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m3-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m3-0.in
new file mode 100644
index 00000000000..82e109311bc
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m3-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_2 >= 1 - In_1 and In_2 >= 1 and In_2 <= 10 - In_1 and In_2 <= 10 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m4-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m4-0.c
new file mode 100644
index 00000000000..a5280732a46
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m4-0.c
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c1, c0);
+ s1(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m4-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m4-0.in
new file mode 100644
index 00000000000..b7912a306b6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m4-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m4-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m4-1.c
new file mode 100644
index 00000000000..a5280732a46
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m4-1.c
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c1, c0);
+ s1(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m4-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m4-1.in
new file mode 100644
index 00000000000..c9e17d93466
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m4-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m7-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m7-0.c
new file mode 100644
index 00000000000..d9f93d96fcd
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m7-0.c
@@ -0,0 +1,6 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c1, c0);
+ if (c0 % 2 == 0)
+ s1(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m7-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m7-0.in
new file mode 100644
index 00000000000..45a185043bc
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m7-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m7-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m7-1.c
new file mode 100644
index 00000000000..a01856e4b4d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m7-1.c
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 <= 9; c0 += 1) {
+ if (c0 % 2 == 0) {
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c1, c0);
+ s1(c1, c0);
+ }
+ } else
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s0(c1, c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m7-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m7-1.in
new file mode 100644
index 00000000000..f4b6f6ffce8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m7-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m8-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m8-0.c
new file mode 100644
index 00000000000..9aaed9e9636
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m8-0.c
@@ -0,0 +1,6 @@
+for (int c0 = 2; c0 <= 8; c0 += 2)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ if (c0 % 4 == 0)
+ s0(c1, c0);
+ s1(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m8-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m8-0.in
new file mode 100644
index 00000000000..e9a0e39646b
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m8-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : exists (e0 = [(j)/4]: 4e0 = j and i >= 1 and i <= 9 and j >= 4 and j <= 8); s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m8-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m8-1.c
new file mode 100644
index 00000000000..51c77daeca4
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m8-1.c
@@ -0,0 +1,10 @@
+for (int c0 = 2; c0 <= 8; c0 += 2) {
+ if (c0 % 4 == 0) {
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c1, c0);
+ s1(c1, c0);
+ }
+ } else
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s1(c1, c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m8-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m8-1.in
new file mode 100644
index 00000000000..80e57e499db
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m8-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : exists (e0 = [(j)/4]: 4e0 = j and i >= 1 and i <= 9 and j >= 4 and j <= 8); s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m9-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/m9-0.c
new file mode 100644
index 00000000000..a5280732a46
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m9-0.c
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c1, c0);
+ s1(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m9-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/m9-0.in
new file mode 100644
index 00000000000..fc38bf2e486
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m9-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [2j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m9-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/m9-1.c
new file mode 100644
index 00000000000..a5280732a46
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m9-1.c
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ s0(c1, c0);
+ s1(c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/m9-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/m9-1.in
new file mode 100644
index 00000000000..398e3260abf
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/m9-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [2j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/olda-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/olda-0.c
new file mode 100644
index 00000000000..b05f991ad1f
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/olda-0.c
@@ -0,0 +1,8 @@
+for (int c0 = 1; c0 <= morb; c0 += 1)
+ for (int c1 = 1; c1 <= np; c1 += 1)
+ for (int c2 = 1; c2 <= np; c2 += 1) {
+ if (c2 >= c1)
+ s0(c2, c1, c0);
+ if (c1 >= c2)
+ s1(c1, c2, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/olda-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/olda-0.in
new file mode 100644
index 00000000000..88f86f558c5
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/olda-0.in
@@ -0,0 +1,3 @@
+[np, morb] -> { s0[mp, mq, mi] -> [mi, mq, mp, 0] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb; s1[mp, mq, mi] -> [mi, mp, mq, 1] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb }
+{ : }
+[np, morb] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/olda-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/olda-1.c
new file mode 100644
index 00000000000..4b3098068e4
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/olda-1.c
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= morb; c0 += 1)
+ for (int c1 = 1; c1 <= np; c1 += 1) {
+ for (int c2 = 1; c2 < c1; c2 += 1)
+ s1(c1, c2, c0);
+ s0(c1, c1, c0);
+ s1(c1, c1, c0);
+ for (int c2 = c1 + 1; c2 <= np; c2 += 1)
+ s0(c2, c1, c0);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/olda-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/olda-1.in
new file mode 100644
index 00000000000..a3a387fbac4
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/olda-1.in
@@ -0,0 +1,3 @@
+[np, morb] -> { s0[mp, mq, mi] -> [mi, mq, mp, 0] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb; s1[mp, mq, mi] -> [mi, mp, mq, 1] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb }
+{ : }
+[np, morb] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c
new file mode 100644
index 00000000000..c676558941f
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c
@@ -0,0 +1,4 @@
+if (P2 >= 0 && P2 <= 3 && P1 == P2)
+ for (int c0 = 0; c0 <= min(2, -P2 + 4); c0 += 1)
+ for (int c2 = (-P2 - c0 + 6) % 3; c2 <= 3; c2 += 3)
+ s0(c0, c0, c2, c2);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in
new file mode 100644
index 00000000000..5b277a12d78
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in
@@ -0,0 +1,3 @@
+[P2, P1] -> { s0[In_1, In_1, In_3, In_3] -> [In_1, In_1, In_3, In_3] : exists (e0 = [(-2P2 - 2In_1 + In_3)/3]: P1 = P2 and 3e0 = -2P2 - 2In_1 + In_3 and P2 >= 0 and P2 <= 3 and In_1 <= 4 - P2 and In_1 >= 0 and In_1 <= 2 and In_3 >= 0 and In_3 <= 3) }
+{ : }
+[P2, P1] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c
new file mode 100644
index 00000000000..ad5a4cab0d6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c
@@ -0,0 +1,10 @@
+if (P1 >= 0 && P1 <= 3 && P2 >= 0 && P2 <= 3)
+ for (int c0 = P1 - 1; c0 <= 3; c0 += 1)
+ for (int c2 = 0; c2 <= 7; c2 += 1)
+ for (int c3 = 0; c3 <= 7; c3 += 1)
+ if ((5 * P2 + 2 * c3) % 9 <= 3) {
+ if (P1 >= 1 && c0 + 1 == P1 && (5 * P1 + 2 * c2) % 9 <= 2) {
+ s0(P1 - 1, P2, c2, c3, ((5 * P1 + 2 * c2) % 9) + 1, (-4 * P2 + 2 * c3 + 9) % 9);
+ } else if (P1 == 0 && c0 == 3 && c2 % 4 == 0)
+ s0(3, P2, c2, c3, (-c2 / 4) + 3, (-4 * P2 + 2 * c3 + 9) % 9);
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in
new file mode 100644
index 00000000000..f44b9bfdaa9
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in
@@ -0,0 +1,3 @@
+[P1, P2] -> { s0[In_1, P2, In_3, In_4, In_5, In_6] -> [In_1, P2, In_3, In_4, In_5, In_6] : (exists (e0 = [(8 + 4In_1 + 16In_3 + In_5)/9], e1 = [(12 - 4P1 + 9e0)/16], e2 = [(-2In_1 - 2In_3 + In_5)/3], e3 = [(-5P2 - 2In_4 + In_6)/9]: 3e2 = -2In_1 - 2In_3 + In_5 and 9e3 = -5P2 - 2In_4 + In_6 and P1 >= 0 and In_1 >= 1 + P1 and In_1 <= 3 and P2 >= 0 and P2 <= 3 and In_6 >= 0 and In_6 <= 3 and In_5 >= 0 and In_5 <= 3 and In_5 >= 1 - 4In_1 - 16In_3 and In_5 <= 126 - 4In_1 - 16In_3 and In_6 <= 126 - 4P2 - 16In_4 and 16e1 <= -4P1 + 9e0 and 2In_6 <= P2 + 4In_4 and 9e0 <= 3 + 4In_1 + 16In_3 + In_5 and 9e0 >= 4In_1 + 16In_3 + In_5 and 16e1 >= -3 - 4P1 + 9e0)) or (exists (e0 = [(8 + 4In_1 + 16In_3 + In_5)/9], e1 = [(12 - 4P1 + 9e0)/16], e2 = [(-2In_1 - 2In_3 + In_5)/3], e3 = [(-5P2 - 2In_4 + In_6)/9]: 3e2 = -2In_1 - 2In_3 + In_5 and 9e3 = -5P2 - 2In_4 + In_6 and In_1 >= 0 and In_1 <= -1 + P1 and P1 <= 3 and In_6 >= 0 and In_6 <= 3 and In_6 <= 1 + 2In_4 and P2 >= 0 and P2 <= 3 and In_5 >= 0 and In_5 <= 3 and In_5 >= 1 - 4In_1 - 16In_3 and In_5 <= 126 - 4In_1 - 16In_3 and In_6 <= 126 - 4P2 - 16In_4 and 16e1 <= -4P1 + 9e0 and 9e0 <= 3 + 4In_1 + 16In_3 + In_5 and 9e0 >= 4In_1 + 16In_3 + In_5 and 16e1 >= -3 - 4P1 + 9e0)) }
+{ : }
+[P1, P2] -> { [i0, i1, i2, i3, i4, i5] -> atomic[o0] : o0 <= 4; [i0, i1, i2, i3, i4, i5] -> separate[o0] : o0 >= 5 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p6-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/p6-0.c
new file mode 100644
index 00000000000..53995e9e89e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p6-0.c
@@ -0,0 +1,8 @@
+{
+ for (int c0 = 5; c0 <= 8; c0 += 1)
+ s0(c0);
+ for (int c0 = 10; c0 <= 16; c0 += 2)
+ s0(c0);
+ for (int c0 = 20; c0 <= 25; c0 += 1)
+ s0(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p6-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/p6-0.in
new file mode 100644
index 00000000000..025da3d30d6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p6-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : (In_1 >= 5 and In_1 <= 8) or (exists (e0 = [(In_1)/2]: 2e0 = In_1 and In_1 >= 10 and In_1 <= 16)) or (In_1 >= 20 and In_1 <= 25) }
+{ : }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p6-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/p6-1.c
new file mode 100644
index 00000000000..d3d69704165
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p6-1.c
@@ -0,0 +1,3 @@
+for (int c0 = -9; c0 <= 9; c0 += 1)
+ for (int c1 = max(1, -c0 + 1); c1 <= min(10, -c0 + 10); c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p6-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/p6-1.in
new file mode 100644
index 00000000000..82e109311bc
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/p6-1.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_2 >= 1 - In_1 and In_2 >= 1 and In_2 <= 10 - In_1 and In_2 <= 10 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.c
new file mode 100644
index 00000000000..c65c2e39fbc
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.c
@@ -0,0 +1,2 @@
+for (int c0 = 3; c0 <= 9; c0 += 3)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.in
new file mode 100644
index 00000000000..e09908713f1
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride1-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : exists (e0 = [(In_1)/3]: 3e0 = In_1 and In_1 >= 3 and In_1 <= 9) }
+{ : }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.c
new file mode 100644
index 00000000000..0a7e8e7464d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 0; c0 <= n; c0 += 32)
+ for (int c1 = c0; c1 <= min(n, c0 + 31); c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.in
new file mode 100644
index 00000000000..73dc13d60e4
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride2-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/32]: 32e0 = In_1 and In_2 <= 31 + In_1 and In_1 >= 0 and In_2 >= In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.c
new file mode 100644
index 00000000000..8913c802cc0
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 3; c0 <= n; c0 += 32)
+ for (int c1 = c0; c1 <= min(n, c0 + 31); c1 += 1)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.in
new file mode 100644
index 00000000000..360d7d01de1
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride3-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-3 + In_1)/32]: 32e0 = -3 + In_1 and In_2 <= 31 + In_1 and In_1 >= 3 and In_2 >= In_1 and In_2 <= n) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.c
new file mode 100644
index 00000000000..ed62b592ee2
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.c
@@ -0,0 +1,2 @@
+for (int c0 = 18; c0 <= 98; c0 += 5)
+ s0(c0);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.in
new file mode 100644
index 00000000000..8779c3ceffa
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride4-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : exists (e0 = [(-3 + In_1)/5]: 5e0 = -3 + In_1 and In_1 >= 18 and In_1 <= 98) }
+{ : }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.c
new file mode 100644
index 00000000000..2eeeb5a7b54
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= min(100, -2 * n + 400); c0 += 2)
+ for (int c1 = 2 * n + c0; c1 <= 400; c1 += 2)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.in
new file mode 100644
index 00000000000..c26c5476b3c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride5-0.in
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/2], e1 = [(In_2)/2]: 2e0 = In_1 and 2e1 = In_2 and In_1 >= 2 and In_1 <= 100 and In_2 <= 400 and In_2 >= 2n + In_1) }
+{ : }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.c
new file mode 100644
index 00000000000..f4df469cf62
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= 101; c0 += 1)
+ for (int c1 = -((c0 - 1) % 2) + c0 + 1; c1 <= 400; c1 += 2)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.in
new file mode 100644
index 00000000000..16fda744249
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-0.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_2)/2]: 2e0 = In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= 400 and In_1 <= 101) }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.c
new file mode 100644
index 00000000000..070028f0504
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.c
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 100; c0 += 2)
+ for (int c1 = c0; c1 <= 400; c1 += 2)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.in
new file mode 100644
index 00000000000..91eaab26a32
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-1.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/2], e1 = [(In_2)/2]: 2e0 = In_1 and 2e1 = In_2 and In_1 >= 2 and In_2 >= In_1 and In_2 <= 400 and In_1 <= 100) }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.c
new file mode 100644
index 00000000000..070028f0504
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.c
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 100; c0 += 2)
+ for (int c1 = c0; c1 <= 400; c1 += 2)
+ s0(c0, c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.in
new file mode 100644
index 00000000000..91eaab26a32
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride6-2.in
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/2], e1 = [(In_2)/2]: 2e0 = In_1 and 2e1 = In_2 and In_1 >= 2 and In_2 >= In_1 and In_2 <= 400 and In_1 <= 100) }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.c
new file mode 100644
index 00000000000..7fe17588f3d
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.c
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 36; c0 += 1) {
+ if (c0 <= 3) {
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s1(c1, c0);
+ } else if (c0 <= 9) {
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ if (c0 % 4 == 0)
+ s0(c1, c0 / 4);
+ s1(c1, c0);
+ }
+ } else if (c0 % 4 == 0)
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s0(c1, c0 / 4);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.in
new file mode 100644
index 00000000000..b84f2045fde
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.c
new file mode 100644
index 00000000000..e79d58deb10
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.c
@@ -0,0 +1,14 @@
+{
+ for (int c0 = 1; c0 <= 3; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s1(c1, c0);
+ for (int c0 = 4; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1) {
+ if (c0 % 4 == 0)
+ s0(c1, c0 / 4);
+ s1(c1, c0);
+ }
+ for (int c0 = 3; c0 <= 9; c0 += 1)
+ for (int c1 = 1; c1 <= 9; c1 += 1)
+ s0(c1, c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.in
new file mode 100644
index 00000000000..3ec82b9c39a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/stride7-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 0; [i0, i1, i2] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.c
new file mode 100644
index 00000000000..b12c07d3751
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.c
@@ -0,0 +1,3 @@
+for (int c0 = 0; c0 <= 10; c0 += 1)
+ for (int c1 = max(2 * c0 - 4, c0); c1 <= min(2 * c0, c0 + 6); c1 += 1)
+ s0(2 * c0 - c1, -c0 + c1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.in
new file mode 100644
index 00000000000..f4af71649b6
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i + j, i + 2j] : i >= 0 and i <= 4 and j >= 0 and j <= 6 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.c
new file mode 100644
index 00000000000..486514c0433
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.c
@@ -0,0 +1,3 @@
+for (int c0 = 0; c0 <= 14; c0 += 1)
+ for (int c1 = max(2 * c0 - 12, -c0 + 3 * floord(c0 - 1, 2) + 3); c1 <= min(2 * c0, c0 / 2 + 9); c1 += 3)
+ s0((2 * c0 - c1) / 3, (-c0 + 2 * c1) / 3);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.in
new file mode 100644
index 00000000000..504b220fbef
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [2i + j, i + 2j] : i >= 0 and i <= 4 and j >= 0 and j <= 6 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.c
new file mode 100644
index 00000000000..9748950ae52
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.c
@@ -0,0 +1,2 @@
+for (int c0 = -3; c0 <= 96; c0 += 1)
+ s0(c0, c0 + 4);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.in
new file mode 100644
index 00000000000..bc9af0c0063
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-2.in
@@ -0,0 +1,3 @@
+{ s0[i, 4 + i] -> [i, 4 + i] : i >= -3 and i <= 96 }
+{ : }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.c
new file mode 100644
index 00000000000..86c197f7a95
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.c
@@ -0,0 +1 @@
+s0(n + 19);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.in
new file mode 100644
index 00000000000..ea1ac1ab914
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-3.in
@@ -0,0 +1,3 @@
+[n] -> { s0[19 + n] -> [19 + n] }
+{ : }
+[n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.c b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.c
new file mode 100644
index 00000000000..27b3199c0c3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.c
@@ -0,0 +1 @@
+s0(n + 1);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.in b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.in
new file mode 100644
index 00000000000..ecb07cd85bd
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/substitution-4.in
@@ -0,0 +1,3 @@
+[n] -> { s0[i] -> [i] : exists (e0 = [(-1 - n + i)/18]: 18e0 = -1 - n + i and i <= 16 + n and i >= 1 + n) }
+{ : }
+[n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c
new file mode 100644
index 00000000000..bb3ef7fa252
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+ for (int c1 = max(-n + 1, -b + 1); c1 <= min(b - c0, n - c0); c1 += 1)
+ for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+ s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in
new file mode 100644
index 00000000000..28a7deb1f05
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+{ : }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c
new file mode 100644
index 00000000000..22ec83ec7ee
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+ for (int c1 = -b + 1; c1 <= b - c0; c1 += 1)
+ for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+ s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in
new file mode 100644
index 00000000000..496aebe2e8f
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+[b, n] -> { : b >= 1 and n >= b }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c
new file mode 100644
index 00000000000..bb3ef7fa252
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+ for (int c1 = max(-n + 1, -b + 1); c1 <= min(b - c0, n - c0); c1 += 1)
+ for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+ s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in
new file mode 100644
index 00000000000..28a7deb1f05
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+{ : }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c
new file mode 100644
index 00000000000..22ec83ec7ee
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+ for (int c1 = -b + 1; c1 <= b - c0; c1 += 1)
+ for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+ s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in
new file mode 100644
index 00000000000..496aebe2e8f
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+[b, n] -> { : b >= 1 and n >= b }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c
new file mode 100644
index 00000000000..c70e95bcb41
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c
@@ -0,0 +1,14 @@
+{
+ for (int c1 = 0; c1 <= 1; c1 += 1) {
+ if (c1 == 1) {
+ s0(1, 1, 1, 0, 0);
+ s0(1, 1, 1, N - 1, 0);
+ } else
+ for (int c3 = 0; c3 < N; c3 += 1)
+ s0(1, 0, 1, c3, 0);
+ }
+ for (int c1 = 0; c1 <= floord(T - 1, 1000); c1 += 1)
+ for (int c2 = 1000 * c1 + 1; c2 <= min(N + T - 3, N + 1000 * c1 + 997); c2 += 1)
+ for (int c3 = max(0, -N - 1000 * c1 + c2 + 2); c3 <= min(min(999, T - 1000 * c1 - 1), -1000 * c1 + c2 - 1); c3 += 1)
+ s1(2, 1000 * c1 + c3, 1, -1000 * c1 + c2 - c3, 1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in
new file mode 100644
index 00000000000..b1f92ea71a7
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, t, 1, i, 1] -> [2, tb, t + i, t - 1000tb, 0] : 1000tb <= t and 1000tb >= -999 + t and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s0[1, 0, 1, In_4, 0] -> [1, 0, 1, In_4, 0] : In_4 >= 0 and In_4 <= -1 + N; s0[1, 1, 1, 0, 0] -> [1, 1, 1, 0, 0]; s0[1, 1, 1, -1 + N, 0] -> [1, 1, 1, -1 + N, 0] }
+[T, N] -> { : T >= 0 and N >= 4 }
+[N] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c
new file mode 100644
index 00000000000..5cf4bc9f5c8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c
@@ -0,0 +1,13 @@
+{
+ for (int c1 = 0; c1 < N; c1 += 1)
+ s0(1, c1, 1, 0, 0);
+ for (int c1 = 0; c1 <= floord(T - 1, 500); c1 += 1)
+ for (int c2 = 1000 * c1; c2 <= min(N + 2 * T - 3, N + 1000 * c1 + 997); c2 += 1) {
+ for (int c3 = max(0, -((N + c2) % 2) - N - 1000 * c1 + c2 + 2); c3 <= min(min(998, 2 * T - 1000 * c1 - 2), -1000 * c1 + c2 - 2); c3 += 2) {
+ s1(2, 1000 * c1 + c3, 0, -1000 * c1 + c2 - c3, 1);
+ s2(2, 1000 * c1 + c3 + 1, 0, -1000 * c1 + c2 - c3 - 1, 1);
+ }
+ if (2 * T >= c2 + 1 && 1000 * c1 + 999 >= c2)
+ s1(2, -(c2 % 2) + c2, 0, c2 % 2, 1);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in
new file mode 100644
index 00000000000..ce585b0836c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, t, 0, i, 1] -> [2, tb, t + i, t - 1000tb, 1] : exists (e0 = [(t - 1000tb)/2]: 2e0 = t - 1000tb and 1000tb <= t and 1000tb >= -999 + t and i >= 0 and i <= -1 + N and t >= 0 and t <= -2 + 2T); s0[1, In_2, 1, 0, 0] -> [1, In_2, 1, 0, 0] : In_2 >= 0 and In_2 <= -1 + N; s2[2, t, 0, i, 1] -> [2, tb, t + i, t - 1000tb, 1] : exists (e0 = [(-1 + t - 1000tb)/2]: 2e0 = -1 + t - 1000tb and 1000tb <= t and 1000tb >= -999 + t and i >= 1 and i <= -2 + N and t >= 1 and t <= -1 + 2T) }
+[T, N] -> { : T >= 0 and N >= 4 }
+[N] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c
new file mode 100644
index 00000000000..41e3ae6094e
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c
@@ -0,0 +1,35 @@
+{
+ for (int c1 = -1; c1 < T; c1 += 1)
+ for (int c2 = 0; c2 < N; c2 += 1) {
+ if (c1 == -1) {
+ s0(1, -1, c2, 0, 0);
+ } else if (c2 == 0) {
+ s0(1, c1, 0, 0, 0);
+ } else if (c2 + 1 == N)
+ s0(1, c1, N - 1, 0, 0);
+ }
+ for (int c1 = 0; c1 <= floord(T - 1, 500); c1 += 1) {
+ for (int c3 = -((c1 + 9) / 8) + 2; c3 <= floord(N - 500 * c1 - 3, 4000) + 1; c3 += 1)
+ for (int c4 = max(500 * c1 + 1, 1000 * c1 + 4000 * c3 - 3999); c4 <= min(min(N + T - 3, 1000 * c1 + 4000 * c3 - 3000), 2 * N - 4000 * c3 + 3995); c4 += 1)
+ for (int c5 = max(0, -N - 500 * c1 + c4 + 2); c5 <= min(min(T - 500 * c1 - 1, -500 * c1 + c4 - 1), -500 * c1 - 2000 * c3 + (c4 + 1) / 2 + 1999); c5 += 1)
+ s1(2, 500 * c1 + c5, 1, -500 * c1 + c4 - c5, 1);
+ for (int c3 = max(-((T + 4000) / 4000) + 2, -((c1 + 9) / 8) + 2); c3 <= floord(N - 500 * c1 - 3, 4000) + 1; c3 += 1)
+ for (int c4 = max(1000 * c1 + 4000 * c3 - 3999, -4000 * c3 + 4000); c4 <= min(min(2 * T + 4000 * c3 - 4000, 1000 * c1 + 4000 * c3 - 3000), 2 * N - 4000 * c3 + 3995); c4 += 1)
+ s2(2, -2000 * c3 + (c4 + 1) / 2 + 1999, 1, 2000 * c3 + c4 - (c4 + 1) / 2 - 1999, 1);
+ for (int c3 = -((c1 + 7) / 8) + 1; c3 <= min(floord(N + T - 1000 * c1 - 1004, 4000) + 1, floord(N - 500 * c1 - 504, 4000) + 1); c3 += 1)
+ for (int c4 = max(500 * c1 + 1, 1000 * c1 + 4000 * c3 - 2999); c4 <= min(min(N + T - 3, N + 500 * c1 + 497), 1000 * c1 + 4000 * c3); c4 += 1)
+ for (int c5 = max(0, -N - 500 * c1 + c4 + 2); c5 <= min(min(499, T - 500 * c1 - 1), -500 * c1 + c4 - 1); c5 += 1)
+ s3(2, 500 * c1 + c5, 1, -500 * c1 + c4 - c5, 1);
+ for (int c3 = max(-((T + 4000) / 4000) + 1, -((c1 + 9) / 8) + 1); c3 <= floord(N - 500 * c1 - 3, 4000); c3 += 1)
+ for (int c4 = max(-4000 * c3, 1000 * c1 + 4000 * c3 + 1); c4 <= min(min(2 * N - 4000 * c3 - 5, 2 * T + 4000 * c3), 1000 * c1 + 4000 * c3 + 1000); c4 += 1)
+ s4(2, -2000 * c3 + (c4 + 1) / 2 - 1, 1, 2000 * c3 + c4 - (c4 + 1) / 2 + 1, 1);
+ for (int c3 = -((c1 + 8) / 8) + 1; c3 <= min(floord(N + T - 1000 * c1 - 4, 4000), floord(N - 500 * c1 + 496, 4000)); c3 += 1)
+ for (int c4 = max(1000 * c1 + 4000 * c3 + 1, -4000 * c3 + 2); c4 <= min(min(min(N + T - 3, N + 500 * c1 + 497), 2 * T + 4000 * c3 - 2), 1000 * c1 + 4000 * c3 + 998); c4 += 1)
+ for (int c5 = max(-N - 500 * c1 + c4 + 2, -500 * c1 - 2000 * c3 + (c4 + 1) / 2); c5 <= min(min(499, T - 500 * c1 - 1), -500 * c1 + c4 - 1); c5 += 1)
+ s5(2, 500 * c1 + c5, 1, -500 * c1 + c4 - c5, 1);
+ }
+ if (T >= 1)
+ for (int c3 = -((T + 3998) / 4000) + 1; c3 <= floord(N - T - 2, 4000) + 1; c3 += 1)
+ for (int c4 = max(T, 2 * T + 4000 * c3 - 4001); c4 < min(N + T - 2, 2 * T + 4000 * c3 - 1); c4 += 1)
+ s6(2, T - 1, 1, -T + c4 + 1, 1);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in
new file mode 100644
index 00000000000..0f86a1c38b9
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, t, 1, i, 1] -> [2, tb, 1, proc, t + i, t - 500tb, 0] : 4000proc >= 3000 + t + i - 1000tb and 500tb <= t and 4000proc <= 3999 - t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s0[1, -1, c, 0, 0] -> [1, -1, c, 0, 0, 0, 0] : c >= 0 and c <= -1 + N; s0[1, b, 0, 0, 0] -> [1, b, 0, 0, 0, 0, 0] : b >= 0 and b <= -1 + T; s0[1, b, -1 + N, 0, 0] -> [1, b, -1 + N, 0, 0, 0, 0] : b >= 0 and b <= -1 + T; s6[2, -1 + T, 1, i, 1] -> [3, tb, 7, proc, -1 + T + i, -1 + T - 500tb, 0] : 500tb <= -1 + T and 500tb >= -500 + T and 4000proc >= 1 - T + i and 4000proc <= 4000 - T + i and i >= 1 and i <= -2 + N and T >= 1; s3[2, t, 1, i, 1] -> [2, tb, 3, proc, t + i, t - 500tb, 0] : 500tb <= t and 500tb >= -499 + t and 4000proc <= 2999 + t + i - 1000tb and 4000proc >= t + i - 1000tb and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s2[2, t, 1, i, 1] -> [2, tb, 2, proc, t + i, t - 500tb, 0] : 500tb <= t and 500tb >= -499 + t and 4000proc <= 3999 - t + i and 4000proc >= 3998 - t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s4[2, t, 1, i, 1] -> [2, tb, 4, Out_4, t + i, t - 500tb, 0] : 500tb <= t and 500tb >= -499 + t and 4000Out_4 <= -1 - t + i and 4000Out_4 >= -2 - t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s5[2, t, 1, i, 1] -> [2, tb, 5, proc, t + i, t - 500tb, 0] : 500tb >= -499 + t and 4000proc <= -1 + t + i - 1000tb and 4000proc >= -t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T }
+[T, N] -> { : T >= 0 and N >= 4 }
+[N, T] -> { [i0, i1, i2, i3, i4, i5, i6] -> atomic[o0] : o0 <= 5; [i0, i1, i2, i3, i4, i5, i6] -> separate[o0] : o0 >= 6 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c
new file mode 100644
index 00000000000..9eff756c5bd
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c
@@ -0,0 +1,10 @@
+{
+ for (int c1 = 0; c1 < N; c1 += 1)
+ s0(1, c1, 1, 0, 0);
+ for (int c1 = 0; c1 < T; c1 += 1) {
+ for (int c3 = 0; c3 < N; c3 += 1)
+ s1(2, c1, 0, c3, 1);
+ for (int c3 = 1; c3 < N - 1; c3 += 1)
+ s2(2, c1, 1, c3, 1);
+ }
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in
new file mode 100644
index 00000000000..153ba7e9bfe
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, In_2, 0, In_4, 1] -> [2, In_2, 0, In_4, 1] : In_4 >= 0 and In_4 <= -1 + N and In_2 >= 0 and In_2 <= -1 + T; s0[1, In_2, 1, 0, 0] -> [1, In_2, 1, 0, 0] : In_2 >= 0 and In_2 <= -1 + N; s2[2, In_2, 1, In_4, 1] -> [2, In_2, 1, In_4, 1] : In_4 >= 1 and In_4 <= -2 + N and In_2 >= 0 and In_2 <= -1 + T }
+[T, N] -> { : T >= 0 and N >= 4 }
+[N] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.c
new file mode 100644
index 00000000000..2c310e8d2ee
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.c
@@ -0,0 +1,27 @@
+{
+ for (int c0 = a2; c0 <= min(min(a1 - 1, a3 - 1), b2); c0 += 1)
+ s1(c0);
+ for (int c0 = a1; c0 <= min(b1, a3 - 1); c0 += 1) {
+ s0(c0);
+ if (c0 >= a2 && b2 >= c0)
+ s1(c0);
+ }
+ for (int c0 = max(max(a1, b1 + 1), a2); c0 <= min(a3 - 1, b2); c0 += 1)
+ s1(c0);
+ for (int c0 = a3; c0 <= b3; c0 += 1) {
+ if (c0 >= a1 && b1 >= c0)
+ s0(c0);
+ if (c0 >= a2 && b2 >= c0)
+ s1(c0);
+ s2(c0);
+ }
+ for (int c0 = max(max(a3, b3 + 1), a2); c0 <= min(a1 - 1, b2); c0 += 1)
+ s1(c0);
+ for (int c0 = max(max(a1, a3), b3 + 1); c0 <= b1; c0 += 1) {
+ s0(c0);
+ if (c0 >= a2 && b2 >= c0)
+ s1(c0);
+ }
+ for (int c0 = max(max(max(max(a1, b1 + 1), a3), b3 + 1), a2); c0 <= b2; c0 += 1)
+ s1(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.in
new file mode 100644
index 00000000000..4cf37cb3192
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.in
@@ -0,0 +1,3 @@
+[a3, b3, a2, b2, a1, b1] -> { s2[i] -> [i, 2] : i >= a3 and i <= b3; s0[i] -> [i, 0] : i >= a1 and i <= b1; s1[i] -> [i, 1] : i >= a2 and i <= b2 }
+{ : }
+[a1, b1] -> { [i0, i1] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.c
new file mode 100644
index 00000000000..7fdda1dd58c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.c
@@ -0,0 +1,55 @@
+{
+ for (int c0 = a2; c0 <= min(min(a1 - 1, a3 - 1), b2); c0 += 1)
+ s1(c0);
+ for (int c0 = a3; c0 <= min(min(a1 - 1, b3), a2 - 1); c0 += 1)
+ s2(c0);
+ for (int c0 = max(a3, a2); c0 <= min(min(a1 - 1, b3), b2); c0 += 1) {
+ s1(c0);
+ s2(c0);
+ }
+ for (int c0 = a1; c0 <= min(min(b1, a3 - 1), a2 - 1); c0 += 1)
+ s0(c0);
+ for (int c0 = max(a1, a2); c0 <= min(min(b1, a3 - 1), b2); c0 += 1) {
+ s0(c0);
+ s1(c0);
+ }
+ for (int c0 = max(max(a1, b1 + 1), a2); c0 <= min(a3 - 1, b2); c0 += 1)
+ s1(c0);
+ for (int c0 = max(a1, a3); c0 <= min(min(b1, b3), a2 - 1); c0 += 1) {
+ s0(c0);
+ s2(c0);
+ }
+ for (int c0 = max(max(a1, b1 + 1), a3); c0 <= min(b3, a2 - 1); c0 += 1)
+ s2(c0);
+ for (int c0 = max(max(a1, a3), a2); c0 <= min(min(b1, b3), b2); c0 += 1) {
+ s0(c0);
+ s1(c0);
+ s2(c0);
+ }
+ for (int c0 = max(max(max(a1, b1 + 1), a3), a2); c0 <= min(b3, b2); c0 += 1) {
+ s1(c0);
+ s2(c0);
+ }
+ for (int c0 = max(max(a3, a2), b2 + 1); c0 <= min(a1 - 1, b3); c0 += 1)
+ s2(c0);
+ for (int c0 = max(max(a1, a2), b2 + 1); c0 <= min(b1, a3 - 1); c0 += 1)
+ s0(c0);
+ for (int c0 = max(max(max(a1, a3), a2), b2 + 1); c0 <= min(b1, b3); c0 += 1) {
+ s0(c0);
+ s2(c0);
+ }
+ for (int c0 = max(max(max(max(a1, b1 + 1), a3), a2), b2 + 1); c0 <= b3; c0 += 1)
+ s2(c0);
+ for (int c0 = max(max(a3, b3 + 1), a2); c0 <= min(a1 - 1, b2); c0 += 1)
+ s1(c0);
+ for (int c0 = max(max(a1, a3), b3 + 1); c0 <= min(b1, a2 - 1); c0 += 1)
+ s0(c0);
+ for (int c0 = max(max(max(a1, a3), b3 + 1), a2); c0 <= min(b1, b2); c0 += 1) {
+ s0(c0);
+ s1(c0);
+ }
+ for (int c0 = max(max(max(max(a1, b1 + 1), a3), b3 + 1), a2); c0 <= b2; c0 += 1)
+ s1(c0);
+ for (int c0 = max(max(max(max(a1, a3), b3 + 1), a2), b2 + 1); c0 <= b1; c0 += 1)
+ s0(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.in
new file mode 100644
index 00000000000..75c96d49895
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak1-1.in
@@ -0,0 +1,3 @@
+[a3, b3, a2, b2, a1, b1] -> { s2[i] -> [i, 2] : i >= a3 and i <= b3; s0[i] -> [i, 0] : i >= a1 and i <= b1; s1[i] -> [i, 1] : i >= a2 and i <= b2 }
+{ : }
+[a1, b1] -> { [i0, i1] -> separate[o0] : o0 >= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.c
new file mode 100644
index 00000000000..3f51dbca273
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.c
@@ -0,0 +1,26 @@
+{
+ for (int c0 = a1; c0 <= min(b1, a2 - 1); c0 += 1)
+ for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+ if (c2 >= d2 + 1) {
+ for (int c0 = max(a1, a2); c0 <= min(b1, b2); c0 += 1)
+ for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+ } else
+ for (int c0 = a2; c0 <= b2; c0 += 1) {
+ if (c0 >= a1 && b1 >= c0)
+ for (int c1_0 = c1; c1_0 <= min(d1, c2 - 1); c1_0 += 1)
+ s0(c0, c1_0);
+ for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1) {
+ if (c0 >= a1 && b1 >= c0 && c1_0 >= c1 && d1 >= c1_0)
+ s0(c0, c1_0);
+ s1(c0, c1_0);
+ }
+ if (c0 >= a1 && b1 >= c0)
+ for (int c1_0 = max(c1, d2 + 1); c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+ }
+ for (int c0 = max(max(a1, a2), b2 + 1); c0 <= b1; c0 += 1)
+ for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.in
new file mode 100644
index 00000000000..da7a6953bf3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.in
@@ -0,0 +1,3 @@
+[a2, b2, c2, d2, a1, b1, c1, d1] -> { s0[i, j] -> [i, j, 0] : i >= a1 and i <= b1 and j >= c1 and j <= d1; s1[i, j] -> [i, j, 1] : i >= a2 and i <= b2 and j >= c2 and j <= d2 }
+{ : }
+[a1, b1, c1, d1] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.c
new file mode 100644
index 00000000000..cc20357718a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.c
@@ -0,0 +1,35 @@
+{
+ for (int c0 = a1; c0 <= min(b1, a2 - 1); c0 += 1)
+ for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+ if (c2 >= d2 + 1) {
+ for (int c0 = max(a1, a2); c0 <= min(b1, b2); c0 += 1)
+ for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+ } else
+ for (int c0 = a2; c0 <= b2; c0 += 1) {
+ if (a1 >= c0 + 1) {
+ for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1)
+ s1(c0, c1_0);
+ } else if (c0 >= b1 + 1) {
+ for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1)
+ s1(c0, c1_0);
+ } else {
+ for (int c1_0 = c1; c1_0 <= min(d1, c2 - 1); c1_0 += 1)
+ s0(c0, c1_0);
+ for (int c1_0 = c2; c1_0 <= min(c1 - 1, d2); c1_0 += 1)
+ s1(c0, c1_0);
+ for (int c1_0 = max(c1, c2); c1_0 <= min(d1, d2); c1_0 += 1) {
+ s0(c0, c1_0);
+ s1(c0, c1_0);
+ }
+ for (int c1_0 = max(c1, d2 + 1); c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+ for (int c1_0 = max(max(c1, d1 + 1), c2); c1_0 <= d2; c1_0 += 1)
+ s1(c0, c1_0);
+ }
+ }
+ for (int c0 = max(max(a1, a2), b2 + 1); c0 <= b1; c0 += 1)
+ for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+ s0(c0, c1_0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.in
new file mode 100644
index 00000000000..c92ac3c82c8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.in
@@ -0,0 +1,3 @@
+[a2, b2, c2, d2, a1, b1, c1, d1] -> { s0[i, j] -> [i, j, 0] : i >= a1 and i <= b1 and j >= c1 and j <= d1; s1[i, j] -> [i, j, 1] : i >= a2 and i <= b2 and j >= c2 and j <= d2 }
+{ : }
+[a1, b1, c1, d1] -> { [i0, i1, i2] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.c
new file mode 100644
index 00000000000..06be04aae78
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.c
@@ -0,0 +1,8 @@
+for (int c0 = a; c0 <= b + 20; c0 += 1) {
+ if (b >= c0)
+ s0(c0);
+ if (c0 >= a + 10 && b + 10 >= c0)
+ s1(c0);
+ if (c0 >= a + 20)
+ s2(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.in
new file mode 100644
index 00000000000..a4c4de9c88c
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-0.in
@@ -0,0 +1,3 @@
+[a, b] -> { s2[i] -> [i, 2] : i >= 20 + a and i <= 20 + b; s0[i] -> [i, 0] : i >= a and i <= b; s1[i] -> [i, 1] : i >= 10 + a and i <= 10 + b }
+{ : }
+[a, b] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.c
new file mode 100644
index 00000000000..3045b2195cb
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.c
@@ -0,0 +1,21 @@
+{
+ for (int c0 = a; c0 <= min(a + 9, b); c0 += 1)
+ s0(c0);
+ for (int c0 = a + 10; c0 <= min(a + 19, b); c0 += 1) {
+ s0(c0);
+ s1(c0);
+ }
+ for (int c0 = max(a + 10, b + 1); c0 <= min(a + 19, b + 10); c0 += 1)
+ s1(c0);
+ for (int c0 = a + 20; c0 <= b; c0 += 1) {
+ s0(c0);
+ s1(c0);
+ s2(c0);
+ }
+ for (int c0 = max(a + 20, b + 1); c0 <= b + 10; c0 += 1) {
+ s1(c0);
+ s2(c0);
+ }
+ for (int c0 = max(a + 20, b + 11); c0 <= b + 20; c0 += 1)
+ s2(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.in
new file mode 100644
index 00000000000..ae319e5ddeb
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak3-1.in
@@ -0,0 +1,3 @@
+[a, b] -> { s2[i] -> [i, 2] : i >= 20 + a and i <= 20 + b; s0[i] -> [i, 0] : i >= a and i <= b; s1[i] -> [i, 1] : i >= 10 + a and i <= 10 + b }
+{ : }
+[a, b] -> { [i0, i1] -> atomic[o0] : o0 <= -1; [i0, i1] -> separate[o0] : o0 >= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.c
new file mode 100644
index 00000000000..5cefe4be4d3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.c
@@ -0,0 +1,4 @@
+for (int c0 = max(max(max(max(a1, a2), a3), a4), a5); c0 <= min(min(min(min(b1, b2), b3), b4), b5); c0 += 1) {
+ s0(c0);
+ s1(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.in
new file mode 100644
index 00000000000..9862df21458
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-0.in
@@ -0,0 +1,3 @@
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { s0[i] -> [i, 0] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5; s1[i] -> [i, 1] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5 }
+{ : }
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { [i0, i1] -> separate[o0] : o0 >= 1; [i0, i1] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.c
new file mode 100644
index 00000000000..5cefe4be4d3
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.c
@@ -0,0 +1,4 @@
+for (int c0 = max(max(max(max(a1, a2), a3), a4), a5); c0 <= min(min(min(min(b1, b2), b3), b4), b5); c0 += 1) {
+ s0(c0);
+ s1(c0);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.in
new file mode 100644
index 00000000000..076cdd1f48a
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/wak4-1.in
@@ -0,0 +1,3 @@
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { s0[i] -> [i, 0] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5; s1[i] -> [i, 1] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5 }
+{ : }
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { [i0, i1] -> separate[o0] : o0 >= 0; [i0, i1] -> atomic[o0] : o0 <= -1 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/x-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/x-0.c
new file mode 100644
index 00000000000..f890920d709
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/x-0.c
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 11; c0 += 1) {
+ for (int c1 = max(1, c0 - 3); c1 <= min(c0, -c0 + 8); c1 += 1)
+ s1(c1, c0 - c1 + 1);
+ for (int c1 = max(1, -c0 + 9); c1 <= min(c0 - 4, -c0 + 12); c1 += 1)
+ s0(c1, c0 + c1 - 8);
+ for (int c1 = max(c0 - 3, -c0 + 9); c1 <= min(c0, -c0 + 12); c1 += 1) {
+ s0(c1, c0 + c1 - 8);
+ s1(c1, c0 - c1 + 1);
+ }
+ for (int c1 = max(c0 - 3, -c0 + 13); c1 <= min(8, c0); c1 += 1)
+ s1(c1, c0 - c1 + 1);
+ for (int c1 = max(c0 + 1, -c0 + 9); c1 <= min(8, -c0 + 12); c1 += 1)
+ s0(c1, c0 + c1 - 8);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/x-0.in b/polly/lib/External/isl/test_inputs/codegen/omega/x-0.in
new file mode 100644
index 00000000000..24340efe4d8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/x-0.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [8 - i + j, i, 0] : i >= 1 and i <= 8 and j >= 1 and j <= 4; s1[i, j] -> [-1 + i + j, i, 1] : i >= 1 and i <= 8 and j >= 1 and j <= 4 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/x-1.c b/polly/lib/External/isl/test_inputs/codegen/omega/x-1.c
new file mode 100644
index 00000000000..f890920d709
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/x-1.c
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 11; c0 += 1) {
+ for (int c1 = max(1, c0 - 3); c1 <= min(c0, -c0 + 8); c1 += 1)
+ s1(c1, c0 - c1 + 1);
+ for (int c1 = max(1, -c0 + 9); c1 <= min(c0 - 4, -c0 + 12); c1 += 1)
+ s0(c1, c0 + c1 - 8);
+ for (int c1 = max(c0 - 3, -c0 + 9); c1 <= min(c0, -c0 + 12); c1 += 1) {
+ s0(c1, c0 + c1 - 8);
+ s1(c1, c0 - c1 + 1);
+ }
+ for (int c1 = max(c0 - 3, -c0 + 13); c1 <= min(8, c0); c1 += 1)
+ s1(c1, c0 - c1 + 1);
+ for (int c1 = max(c0 + 1, -c0 + 9); c1 <= min(8, -c0 + 12); c1 += 1)
+ s0(c1, c0 + c1 - 8);
+}
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/x-1.in b/polly/lib/External/isl/test_inputs/codegen/omega/x-1.in
new file mode 100644
index 00000000000..24340efe4d8
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/omega/x-1.in
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [8 - i + j, i, 0] : i >= 1 and i <= 8 and j >= 1 and j <= 4; s1[i, j] -> [-1 + i + j, i, 1] : i >= 1 and i <= 8 and j >= 1 and j <= 4 }
+{ : }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }
OpenPOWER on IntegriCloud