From cbe925bd7264c4e14681db16a14805670fd07c71 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao Date: Tue, 11 Oct 2016 19:51:20 -0600 Subject: for loop index replacement --- src/omegatools.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/omegatools.cc') diff --git a/src/omegatools.cc b/src/omegatools.cc index 6d48a3c..c9f3a9a 100644 --- a/src/omegatools.cc +++ b/src/omegatools.cc @@ -241,12 +241,16 @@ void exp2formula(IR_Code *ir, std::vector v = ir->QueryExpOperand(repr); CHILL_DEBUG_PRINT("IR_OP_MINUS v has %d parts\n", (int) v.size()); - exp2formula(ir, r, f_and, freevars, v[0], e1, side, IR_COND_EQ, true, - uninterpreted_symbols, uninterpreted_symbols_stringrepr); - if (v.size() > 1) { + exp2formula(ir, r, f_and, freevars, v[0], e1, side, IR_COND_EQ, true, + uninterpreted_symbols, uninterpreted_symbols_stringrepr); exp2formula(ir, r, f_and, freevars, v[1], e2, side, IR_COND_EQ, true, uninterpreted_symbols, uninterpreted_symbols_stringrepr); + } else { + exp2formula(ir, r, f_and, freevars, new CG_chillRepr(new chillAST_IntegerLiteral(0)), e1, side, IR_COND_EQ, true, + uninterpreted_symbols, uninterpreted_symbols_stringrepr); + exp2formula(ir, r, f_and, freevars, v[0], e2, side, IR_COND_EQ, true, + uninterpreted_symbols, uninterpreted_symbols_stringrepr); } -- cgit v1.2.3-70-g09d2