In the SW-EK-TM4C1294XL-2.1.0.12573.exe, examples/project/startup.gcc has the line:
static uint32_t pui32Stack[64];
which is used by the interrupt vector table to place the initial stack pointer. However, the arm ABI requires 8 byte alignment. This caused me some headaches w/ an implementation of printf to handle uint64_t using va_args, which broke with a misaligned stack.
[EDIT to indicate that LTO wasn't the cause of my code blowing up, attempting to print uint64_t with a printf implementation was - LTO broke something unrelated due to excessive inlining breaking stack counting code]