mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-11 14:57:05 +00:00
This violates the ABI (that area is "reserved"), and while it is safe if all code is generated with current compilers, there is some very old code around that uses that slot for something else, and breaks if it is stored into. Adjust testcases looking for current behavior. I've verified that the stack frame size is right in all testcases, whether it changed or not. 7311323. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89811 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
1.0 KiB
LLVM
29 lines
1.0 KiB
LLVM
; RUN: llc < %s -mtriple=powerpc-apple-darwin8 -disable-fp-elim | FileCheck %s
|
|
|
|
define i32 @_Z4funci(i32 %a) ssp {
|
|
; CHECK: mflr r0
|
|
; CHECK-NEXT: stw r31, -4(r1)
|
|
; CHECK-NEXT: stw r0, 8(r1)
|
|
; CHECK-NEXT: stwu r1, -80(r1)
|
|
; CHECK-NEXT: Llabel1:
|
|
; CHECK-NEXT: mr r31, r1
|
|
; CHECK-NEXT: Llabel2:
|
|
entry:
|
|
%a_addr = alloca i32 ; <i32*> [#uses=2]
|
|
%retval = alloca i32 ; <i32*> [#uses=2]
|
|
%0 = alloca i32 ; <i32*> [#uses=2]
|
|
%"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
|
|
store i32 %a, i32* %a_addr
|
|
%1 = call i32 @_Z3barPi(i32* %a_addr) ; <i32> [#uses=1]
|
|
store i32 %1, i32* %0, align 4
|
|
%2 = load i32* %0, align 4 ; <i32> [#uses=1]
|
|
store i32 %2, i32* %retval, align 4
|
|
br label %return
|
|
|
|
return: ; preds = %entry
|
|
%retval1 = load i32* %retval ; <i32> [#uses=1]
|
|
ret i32 %retval1
|
|
}
|
|
|
|
declare i32 @_Z3barPi(i32*)
|