From 699e49d2b1d0c3eca680bfc19e79aa8406f42d6a Mon Sep 17 00:00:00 2001 From: Tuowen Zhao Date: Thu, 26 Jan 2017 16:54:04 -0700 Subject: bugfixes --- examples/test_datacopy.py | 12 ++++++++++++ lib/parserel/src/parseRel.cc | 2 +- src/ast/node.cpp | 1 - src/ir_chill.cc | 1 - 4 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 examples/test_datacopy.py diff --git a/examples/test_datacopy.py b/examples/test_datacopy.py new file mode 100644 index 0000000..12246ef --- /dev/null +++ b/examples/test_datacopy.py @@ -0,0 +1,12 @@ +from chill import * + +source('mm.c') +procedure('mm') +#format: rose +loop(0) + +known('ambn == 100') +known('an == 100') +known('bm == 100') + +datacopy(1,3,'C') diff --git a/lib/parserel/src/parseRel.cc b/lib/parserel/src/parseRel.cc index 43d7494..2c37138 100644 --- a/lib/parserel/src/parseRel.cc +++ b/lib/parserel/src/parseRel.cc @@ -63,7 +63,7 @@ simap_t* make_cond_item_add(simap_t* lhs, simap_t* rhs) { simap_t* make_cond_item_sub(simap_t* lhs, simap_t* rhs) { for(simap_t::iterator it = lhs->begin(); it != lhs->end(); it++) - (*rhs)[it->first] -= it->second; + (*rhs)[it->first] = it->second - (*rhs)[it->first]; delete lhs; return rhs; } diff --git a/src/ast/node.cpp b/src/ast/node.cpp index cad5f4c..53b39e4 100644 --- a/src/ast/node.cpp +++ b/src/ast/node.cpp @@ -102,7 +102,6 @@ void chillAST_Node::replaceChild(chillAST_Node *old, chillAST_Node *newchild) { } } CHILL_ERROR("Replace Child Falure, oldchild not a child\n"); - exit(-1); }; void chillAST_Node::loseLoopWithLoopVar(char *var) { diff --git a/src/ir_chill.cc b/src/ir_chill.cc index 8ff9ed1..74f8306 100755 --- a/src/ir_chill.cc +++ b/src/ir_chill.cc @@ -1141,7 +1141,6 @@ void IR_clangCode::ReplaceExpression(IR_Ref *old, omega::CG_outputRepr *repr) { CHILL_ERROR("IR_clangCode::ReplaceExpression() old has no parent ??\n"); exit(-1); } - CASE->getParent()->replaceChild(CASE, newthing); } else if (typeid(*old) == typeid(IR_chillScalarRef)) { -- cgit v1.2.3-70-g09d2