Ignore:
Timestamp:
Dec 8, 2018, 10:35:24 AM (6 months ago)
Author:
cameron
Message:

Trace facility initial check-in

File:
1 edited

Legend:

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

    r6216 r6220  
    428428            Value * const op0 = compileExpression(b, stmt->getOperand(0));
    429429            Value * const op1 = compileExpression(b, stmt->getOperand(1));
    430             value = b->simd_and(op0, op1);
     430            value = b->simd_and(op0, op1, stmt->getName());
    431431        } else if (isa<Or>(stmt)) {
    432432            Value * const op0 = compileExpression(b, stmt->getOperand(0));
    433433            Value * const op1 = compileExpression(b, stmt->getOperand(1));
    434             value = b->simd_or(op0, op1);
     434            value = b->simd_or(op0, op1, stmt->getName());
    435435        } else if (isa<Xor>(stmt)) {
    436436            Value * const op0 = compileExpression(b, stmt->getOperand(0));
    437437            Value * const op1 = compileExpression(b, stmt->getOperand(1));
    438             value = b->simd_xor(op0, op1);
     438            value = b->simd_xor(op0, op1, stmt->getName());
    439439        } else if (const Sel * sel = dyn_cast<Sel>(stmt)) {
    440440            Value* ifMask = compileExpression(b, sel->getCondition());
     
    443443            value = b->simd_or(ifTrue, ifFalse);
    444444        } else if (isa<Not>(stmt)) {
    445             value = b->simd_not(compileExpression(b, stmt->getOperand(0)));
     445            value = b->simd_not(compileExpression(b, stmt->getOperand(0)), stmt->getName());
    446446        } else if (isa<Advance>(stmt)) {
    447447            const Advance * const adv = cast<Advance>(stmt);
     
    461461            Value * const marker_and_cc = b->simd_and(marker, cc);
    462462            Value * const sum = mCarryManager->addCarryInCarryOut(b, mstar, marker_and_cc, cc);
    463             value = b->simd_or(b->simd_xor(sum, cc), marker);
     463            value = b->simd_or(b->simd_xor(sum, cc), marker, mstar->getName());
    464464        } else if (const ScanThru * sthru = dyn_cast<ScanThru>(stmt)) {
    465465            Value * const from = compileExpression(b, sthru->getScanFrom());
    466466            Value * const thru = compileExpression(b, sthru->getScanThru());
    467467            Value * const sum = mCarryManager->addCarryInCarryOut(b, sthru, from, thru);
    468             value = b->simd_and(sum, b->simd_not(thru));
     468            value = b->simd_and(sum, b->simd_not(thru), sthru->getName());
    469469        } else if (const ScanTo * sthru = dyn_cast<ScanTo>(stmt)) {
    470470            Value * const marker_expr = compileExpression(b, sthru->getScanFrom());
    471471            Value * const to = b->simd_xor(compileExpression(b, sthru->getScanTo()), b->getScalarField("EOFmask"));
    472472            Value * const sum = mCarryManager->addCarryInCarryOut(b, sthru, marker_expr, b->simd_not(to));
    473             value = b->simd_and(sum, to);
     473            value = b->simd_and(sum, to, sthru->getName());
    474474        } else if (const AdvanceThenScanThru * sthru = dyn_cast<AdvanceThenScanThru>(stmt)) {
    475475            Value * const from = compileExpression(b, sthru->getScanFrom());
    476476            Value * const thru = compileExpression(b, sthru->getScanThru());
    477477            Value * const sum = mCarryManager->addCarryInCarryOut(b, sthru, from, b->simd_or(from, thru));
    478             value = b->simd_and(sum, b->simd_not(thru));
     478            value = b->simd_and(sum, b->simd_not(thru), sthru->getName());
    479479        } else if (const AdvanceThenScanTo * sthru = dyn_cast<AdvanceThenScanTo>(stmt)) {
    480480            Value * const from = compileExpression(b, sthru->getScanFrom());
    481481            Value * const to = b->simd_xor(compileExpression(b, sthru->getScanTo()), b->getScalarField("EOFmask"));
    482482            Value * const sum = mCarryManager->addCarryInCarryOut(b, sthru, from, b->simd_or(from, b->simd_not(to)));
    483             value = b->simd_and(sum, to);
     483            value = b->simd_and(sum, to, sthru->getName());
    484484        } else if (const TerminateAt * s = dyn_cast<TerminateAt>(stmt)) {
    485485            Value * signal_strm = compileExpression(b, s->getExpr());
Note: See TracChangeset for help on using the changeset viewer.