Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine.

FossilOrigin-Name: 9e6c939144a129b36bb119120442a4a021e00187783da211315d4bb13acd7c3a
diff --git a/src/expr.c b/src/expr.c
index 20ccea7..47b7576 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1656,13 +1656,15 @@
 ** Delete an entire expression list.
 */
 static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
-  int i;
-  struct ExprList_item *pItem;
-  for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
+  int i = pList->nExpr;
+  struct ExprList_item *pItem =  pList->a;
+  assert( pList->nExpr>0 );
+  do{
     sqlite3ExprDelete(db, pItem->pExpr);
     sqlite3DbFree(db, pItem->zName);
     sqlite3DbFree(db, pItem->zSpan);
-  }
+    pItem++;
+  }while( --i>0 );
   sqlite3DbFree(db, pList);
 }
 void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){