the expandAddRecExprLiterally function incorrectly transforms: [Start + Step * X] into Step * [Start + X] instead of the correct transform of [Step * X] + Start
this caused https://github.com/JuliaLang/julia/issues/14704#issuecomment-174126219 due to what appeared to be sufficiently complicated loop interactions (.ll code that reproduces the issue in llc available upon request)