Overivew
During this step, the engine is checking if the SQL has already generated execution plan. This is accomplished by hashing the SQL TEXT into a hash code, which in turn is being crosscheck with the shared pool.
If the check, returns true, then depending on the adaptive cursor sharing valie, the execution plan might or might not be used. If it isn't used at all or doesn't exist, then a HARD PARSE is performed.