Adaptive and Resilient Circuits for Improving Processor Performance, Energy Efficiency and Yield