diff --git a/compiler/plugins/target/AMD-AIE/aie/AMDAIEObjectFifoStatefulTransform.cpp b/compiler/plugins/target/AMD-AIE/aie/AMDAIEObjectFifoStatefulTransform.cpp index 49daae292..9efa4584b 100644 --- a/compiler/plugins/target/AMD-AIE/aie/AMDAIEObjectFifoStatefulTransform.cpp +++ b/compiler/plugins/target/AMD-AIE/aie/AMDAIEObjectFifoStatefulTransform.cpp @@ -436,17 +436,12 @@ void createUseLocks( // search for the correct lock based on the port of the acq/rel // operation e.g. acq as consumer is the read lock (second) LockOp lock; - if (lockAction == LockAction::AcquireGreaterEqual) { - if (port == ObjectFifoPort::Produce) - lock = locksPerFifo.at(target)[0]; - else - lock = locksPerFifo.at(target)[1]; - } else { - if (port == ObjectFifoPort::Produce) - lock = locksPerFifo.at(target)[1]; - else - lock = locksPerFifo.at(target)[0]; - } + std::vector locks = locksPerFifo.at(target); + if (lockAction == LockAction::AcquireGreaterEqual) + lock = port == ObjectFifoPort::Produce ? locks[0] : locks[1]; + else + lock = port == ObjectFifoPort::Produce ? locks[1] : locks[0]; + builder.create(builder.getUnknownLoc(), lock, lockAction, numLocks); std::pair opPort = {op, static_cast(port)}; @@ -655,11 +650,7 @@ void replaceObjectAcquireOp( // acquire locks size_t numLocks = acquireOp.acqNumber(); size_t alreadyAcq = acquiredIndices.size(); - size_t numCreate; - if (numLocks > alreadyAcq) - numCreate = numLocks - alreadyAcq; - else - numCreate = 0; + size_t numCreate = numLocks > alreadyAcq ? numLocks - alreadyAcq : 0; { OpBuilder::InsertionGuard gg(builder);