See generally http://www.nullstone.com/htmls/category/fusion.htm
However, the comment on that page that "C compilers generally don't do loop fusion" is well out of date. Most compilers, including all commercial c compilers i'm aware of (IBM XLC, Intel ICC, Sun's compiler, etc) do large amounts of loop fusion.