Performance optimization for the sqlite3ExprListDelete() routine.

FossilOrigin-Name: 2764aeaa11f38cf2ff4d6191e6d5466ddb203022
diff --git a/src/expr.c b/src/expr.c
index 37a7624..0de6378 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1278,10 +1278,9 @@
 /*
 ** Delete an entire expression list.
 */
-void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
+static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
   int i;
   struct ExprList_item *pItem;
-  if( pList==0 ) return;
   assert( pList->a!=0 || pList->nExpr==0 );
   for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
     sqlite3ExprDelete(db, pItem->pExpr);
@@ -1291,6 +1290,9 @@
   sqlite3DbFree(db, pList->a);
   sqlite3DbFree(db, pList);
 }
+void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
+  if( pList ) exprListDeleteNN(db, pList);
+}
 
 /*
 ** Return the bitwise-OR of all Expr.flags fields in the given