As the compiler has no information on the layout of objects in the final output, it cannot take advantage of shorter or more efficient instructions that place a requirement on the address of another object.
While instruction relaxation typically occurs at link-time, inner-module relaxation can already take place as part of the optimising process at compile-time.