Do modern processors have redundancy in their logic units to compensate production faults?
Not in the logic.

However if there are big memories (SRAM) it is common to use a memory with 'redundancy'. These have special logic which can be programmed to replace a area, often a number of rows or columns. 

The failing area is detected during testing and then the redundant memory is programmed to replace the faulty location(s). 

However this 'replacement' must be set-up using OTP (One-Time-Programmable) bits or some other memory which holds its value. Thus these memories are only used in chips which have such a 'permanent memory' feature, or such a programming feature must be added as well, with all the costs this incurs.