llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.42k stars 11.74k forks source link

[ppc] Bad codegen for overaligned locals #1099

Closed lattner closed 14 years ago

lattner commented 18 years ago
Bugzilla Link 727
Resolution FIXED
Resolved on Feb 22, 2010 12:42
Version 1.6
OS MacOS X

Extended Description

Consider this code:

void %main() { %X = alloca int, align 256 store int 0, int* %X ret void }

We currently emit this:

_main: stwu r1, -512(r1) rlwinm r0, r1, 0, 24, 31 subfic r0, r0, 256 stwux r1, r1, r0 stw r31, 4(r1) mr r31, r1 li r2, 0 stw r2, 256(r31) lwz r31, 4(r31) addi r1, r1, 512 blr

The epilog is wrong.

-Chris

llvmbot commented 18 years ago

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060410/033815.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060410/033816.html

lattner commented 18 years ago

This bug is causing SingleSource/UnitTests/Vector/sumarray-dbl to fail on ppc.

-Chris