mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-22 13:29:44 +00:00
This patch causes problems when both dynamic stack realignment and dynamic allocas combine in the same function. With this patch, we no longer build the epilog correctly, and silently restore registers from the wrong position in the stack. Thanks to Matt for tracking this down, and getting at least an initial test case to Chad. I'm going to try to check a variation of that test case in so we can easily track the fixes required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158654 91177308-0d34-0410-b5e6-96231b3b80d8
16 lines
329 B
LLVM
16 lines
329 B
LLVM
; RUN: llc < %s -march=x86-64 -mtriple=i686-pc-linux | grep and | count 1
|
|
|
|
declare void @bar(<2 x i64>* %n)
|
|
|
|
define void @foo(i64 %h) {
|
|
%p = alloca <2 x i64>, i64 %h
|
|
call void @bar(<2 x i64>* %p)
|
|
ret void
|
|
}
|
|
|
|
define void @foo2(i64 %h) {
|
|
%p = alloca <2 x i64>, i64 %h, align 32
|
|
call void @bar(<2 x i64>* %p)
|
|
ret void
|
|
}
|