This typically happens when output signals from a logic block are not connected (though a typo or some other unintended reason) ... as MAP works backwards it trims away.
To find the offending path, either use a simulator (highly recommended), or add some "debug only signals" .... which are the OR of all output signals from a suspected block .... whose output is brought to a top level I/O. If this small logic addition suddenly adds large amounts of previously trimmed logic, then you know that the downstream signals are being optimized away.
Good luck.