http://llvm.org/bugs/show_bug.cgi?id=21435
Bug ID: 21435
Summary: LLVM no longer honours -stack-alignment=4
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Classification: Unclassified
Created attachment 13268
--> http://llvm.org/bugs/attachment.cgi?id=13268&action=edit
bug1347703.ll
LLVM stoped honouring
This can easily be reproduced with the attached bug1347703.ll doing
$ llc -o - -mtriple=i686-pc-mingw32 -mattr=+avx -stack-alignment=4
bug1347703.ll | grep '\<and.*[er]sp'
$
which produces nothing showing that the stack pointer is never aligned.
However if one disables frame-pointer elimination then it works again:
$
/home/jfonseca/work/vmware/llvm/llvm/build/linux-x86_64/Debug+Asserts/bin/llc
-disable-fp-elim -o - -mtriple=i686-pc-mingw32 -mattr=+avx -stack-alignment=4
bug1347703.ll | grep '\<and.*[er]sp'
andl $-32, %esp
andl $-32, %esp
$
Which doesn't seem the right behavior -- using the frame-pointer to align the
stack seems an implementation detail -- there are probably other ways, and if
frame-pointer is indeed necessary it should be automatically employed as
necessary.
This regression happened between LLVM release 3.2 and release 3.3. I strongly
suspect r168627 --
https://github.com/llvm-mirror/llvm/commit/1243922fc1a1e3d2681ed9e78503eeabd875ba93
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs