I know very little about the topic, but I believe that various transformations and simplifications in lambda calculus are relevant when it comes to compiling functional programs.
Not just functional programs. You can transform any old C program into specific subsets of lambda calculus (administrative normal form or continuation passing style) and do all your optimizations there.