Ignore:
Timestamp:
Dec 16, 2016, 4:16:28 PM (3 years ago)
Author:
nmedfort
Message:

Rewrite of the CarryManager? to support non-carry-collapsing loops.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/printer_pablos.cpp

    r5217 r5227  
    8585        } else if (const Advance * adv = dyn_cast<Advance>(stmt)) {
    8686            out << " = pablo.Advance(";
    87             print(adv->getExpr(), out);
     87            print(adv->getExpression(), out);
    8888            out << ", " << std::to_string(adv->getAmount()) << ")";
    8989        } else if (const Lookahead * adv = dyn_cast<Lookahead>(stmt)) {
     
    140140        out << " = ";
    141141        print(assign->getValue(), out);
     142    } else if (const Add * op = dyn_cast<Add>(expr)) {
     143        print(op->getLH(), out);
     144        out << " + ";
     145        print(op->getRH(), out);
     146    } else if (const Subtract * op = dyn_cast<Subtract>(expr)) {
     147        print(op->getLH(), out);
     148        out << " - ";
     149        print(op->getRH(), out);
     150    } else if (const LessThan * op = dyn_cast<LessThan>(expr)) {
     151        print(op->getLH(), out);
     152        out << " < ";
     153        print(op->getRH(), out);
     154    } else if (const LessThanEquals * op = dyn_cast<LessThanEquals>(expr)) {
     155        print(op->getLH(), out);
     156        out << " <= ";
     157        print(op->getRH(), out);
     158    } else if (const Equals * op = dyn_cast<Equals>(expr)) {
     159        print(op->getLH(), out);
     160        out << " == ";
     161        print(op->getRH(), out);
     162    } else if (const GreaterThanEquals * op = dyn_cast<GreaterThanEquals>(expr)) {
     163        print(op->getLH(), out);
     164        out << " >= ";
     165        print(op->getRH(), out);
     166    } else if (const GreaterThan * op = dyn_cast<GreaterThan>(expr)) {
     167        print(op->getLH(), out);
     168        out << " > ";
     169        print(op->getRH(), out);
     170    } else if (const NotEquals * op = dyn_cast<NotEquals>(expr)) {
     171        print(op->getLH(), out);
     172        out << " != ";
     173        print(op->getRH(), out);
    142174    } else if (const Statement * stmt = dyn_cast<Statement>(expr)) {
    143175        out << stmt->getName();
Note: See TracChangeset for help on using the changeset viewer.