Skip to content

Commit 0a5c0c3

Browse files
committed
[mlir][emitc] Reorder match conditions for efficiency
1 parent 64af4c5 commit 0a5c0c3

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ struct FormExpressionsPass
3636
// Wrap each C operator op with an expression op.
3737
OpBuilder builder(context);
3838
auto matchFun = [&](Operation *op) {
39-
if (isa<emitc::CExpressionInterface>(*op) &&
40-
!op->getParentOfType<emitc::ExpressionOp>() &&
41-
!isa<emitc::LiteralOp>(op) && op->getNumResults() == 1)
39+
if (op->getNumResults() == 1 && !isa<emitc::LiteralOp>(op) &&
40+
isa<emitc::CExpressionInterface>(*op) &&
41+
!op->getParentOfType<emitc::ExpressionOp>())
4242
createExpression(op, builder);
4343
};
4444
rootOp->walk(matchFun);

mlir/lib/Target/Cpp/TranslateToCpp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ static LogicalResult printOperation(CppEmitter &emitter, emitc::LoadOp loadOp) {
455455

456456
static LogicalResult printOperation(CppEmitter &emitter,
457457
emitc::LiteralOp literalOp) {
458-
// If literalOp is used inside an expression, we treat it as an embedded one.
458+
// If literalOp is used inside an expression, we treat it as an inlined one.
459459
if (emitter.isPartOfCurrentExpression(literalOp.getResult()))
460460
return emitter.ostream() << literalOp.getValue(), success();
461461

0 commit comments

Comments
 (0)