;; Function foo (foo, funcdef_no=0, decl_uid=1749, cgraph_uid=0, symbol_order=3) Analyzing loop at vect-pr43423.c:14 vect-pr43423.c:14:17: note: ===== analyze_loop_nest ===== vect-pr43423.c:14:17: note: === vect_analyze_loop_form === split exit edge. vect-pr43423.c:14:17: note: === get_loop_niters === Analyzing # of iterations of loop 3 exit condition [graphite_IV.5_50, + , 1](no_overflow) < (signed long) n_5(D) + -1 bounds on difference of bases: -18446744073709551615 ... 18446744073709551614 result: zero if (signed long) n_5(D) <= graphite_IV.5_50 # of iterations ((unsigned long) n_5(D) - (unsigned long) graphite_IV.5_50) + 18446744073709551615, bounded by 0x0fffffffffffffffe vect-pr43423.c:14:17: note: Symbolic number of iterations is (signed long) n_5(D) > graphite_IV.5_50 ? (unsigned long) n_5(D) - (unsigned long) graphite_IV.5_50 : 1 vect-pr43423.c:14:17: note: === vect_analyze_data_refs === Creating dr for a[_56] analyze_innermost: failed: evolution of offset is not affine. base_address: offset from base address: constant offset from base address: step: aligned to: base_object: a Access function 0: (int) {(unsigned int) graphite_IV.5_50, +, 1}_3; Creating dr for c[_56] analyze_innermost: failed: evolution of offset is not affine. base_address: offset from base address: constant offset from base address: step: aligned to: base_object: c Access function 0: (int) {(unsigned int) graphite_IV.5_50, +, 1}_3; Creating dr for a[_64] analyze_innermost: failed: evolution of offset is not affine. base_address: offset from base address: constant offset from base address: step: aligned to: base_object: a Access function 0: (int) {(unsigned int) graphite_IV.5_50, +, 1}_3; Creating dr for a[_56] analyze_innermost: success. base_address: &a offset from base address: (ssizetype) ((sizetype) _56 * 4) constant offset from base address: 0 step: 0 aligned to: 4 base_object: a[_56] vect-pr43423.c:14:17: note: got vectype for stmt: _55 = a[_56]; vector(4) int vect-pr43423.c:14:17: note: not vectorized: not suitable for gather load _55 = a[_56]; vect-pr43423.c:14:17: note: bad data references. Analyzing loop at vect-pr43423.c:12 vect-pr43423.c:12:17: note: ===== analyze_loop_nest ===== vect-pr43423.c:12:17: note: === vect_analyze_loop_form === split exit edge. vect-pr43423.c:12:17: note: === get_loop_niters === Analyzing # of iterations of loop 2 exit condition [0, + , 1](no_overflow) < _32 + -1 bounds on difference of bases: -9223372036854775808 ... 9223372036854775806 result: zero if _32 <= 0 # of iterations (unsigned long) (_32 + -1), bounded by 9223372036854775806 vect-pr43423.c:12:17: note: Symbolic number of iterations is (unsigned long) MAX_EXPR <_32, 1> vect-pr43423.c:12:17: note: === vect_analyze_data_refs === Creating dr for a[_37] analyze_innermost: failed: evolution of offset is not affine. base_address: offset from base address: constant offset from base address: step: aligned to: base_object: a Access function 0: (int) {0, +, 1}_2; Creating dr for b[_37] analyze_innermost: failed: evolution of offset is not affine. base_address: offset from base address: constant offset from base address: step: aligned to: base_object: b Access function 0: (int) {0, +, 1}_2; Creating dr for a[_45] analyze_innermost: failed: evolution of offset is not affine. base_address: offset from base address: constant offset from base address: step: aligned to: base_object: a Access function 0: (int) {0, +, 1}_2; Creating dr for a[_37] analyze_innermost: success. base_address: &a offset from base address: (ssizetype) ((sizetype) _37 * 4) constant offset from base address: 0 step: 0 aligned to: 4 base_object: a[_37] vect-pr43423.c:12:17: note: got vectype for stmt: _36 = a[_37]; vector(4) int vect-pr43423.c:12:17: note: not vectorized: not suitable for gather load _36 = a[_37]; vect-pr43423.c:12:17: note: bad data references. vect-pr43423.c:6:6: note: vectorized 0 loops in function. foo (int n, int mid) { _Bool phi_out_of_ssa.3_I_lsm.9; int phi_out_of_ssa.3_I_lsm.8; _Bool phi_out_of_ssa.3_I_lsm.7; int phi_out_of_ssa.3_I_lsm.6; signed long graphite_IV.5; signed long graphite_IV.4; int D.1775; int D.1774; int D.1773; int D.1772; int D.1771; int D.1770; int D.1769; int phi_out_of_ssa.3[1]; int i; signed long _28; signed long _29; signed long _30; _Bool _31; signed long _32; signed long _33; int _36; int _37; int _38; int _39; int _45; signed long _46; signed long _47; signed long _48; _Bool _49; signed long _51; signed long _52; int _55; int _56; int _57; int _58; int _64; : if (n_5(D) > 0) goto ; else goto ; : return; : _28 = (signed long) n_5(D); _29 = (signed long) mid_6(D); _30 = MIN_EXPR <_28, _29>; _31 = _30 > 0; if (_31 != 0) goto ; else goto ; : _32 = MIN_EXPR <_28, _29>; _33 = _32 + -1; : # graphite_IV.4_34 = PHI <0(5), graphite_IV.4_35(7)> _37 = (int) graphite_IV.4_34; _36 = a[_37]; _38 = b[_37]; _39 = _36 + _38; _45 = (int) graphite_IV.4_34; a[_45] = _39; graphite_IV.4_35 = graphite_IV.4_34 + 1; if (graphite_IV.4_34 < _33) goto ; else goto ; : goto ; : : _46 = (signed long) mid_6(D); _47 = MAX_EXPR <_46, 0>; _48 = (signed long) n_5(D); _49 = _47 < _48; if (_49 != 0) goto ; else goto ; : graphite_IV.5_50 = MAX_EXPR <_46, 0>; _51 = (signed long) n_5(D); _52 = _51 + -1; : # graphite_IV.5_53 = PHI _56 = (int) graphite_IV.5_53; _55 = a[_56]; _57 = c[_56]; _58 = _55 + _57; _64 = (int) graphite_IV.5_53; a[_64] = _58; graphite_IV.5_54 = graphite_IV.5_53 + 1; if (graphite_IV.5_53 < _52) goto ; else goto ; : goto ; : : goto ; }