The features of the IA64 architecture create new opportunities forlink-time optimization. At the same time they complicate the design ofa link-time optimizer. This paper examines how to exploit some of theopportunities for link-time optimization and how to deal with thecomplications. The prototype link-time optimizer that implements thediscussed techniques is able to reduce the code size of staticallylinked programs with 19% and achieves a speedup of 5.4% on average.