mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Assume an inline asm might be a call, so we get
stack alignment right when it is. This is not ideal but conservatively correct. Adjust a test to compensate for changed stack offset value. gcc.apple/asm-block-57.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76120 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3ac1ab835c
commit
423ccfe51d
@ -148,6 +148,10 @@ void PEI::calculateCallsInformation(MachineFunction &Fn) {
|
||||
if (Size > MaxCallFrameSize) MaxCallFrameSize = Size;
|
||||
HasCalls = true;
|
||||
FrameSDOps.push_back(I);
|
||||
} else if (I->getOpcode() == TargetInstrInfo::INLINEASM) {
|
||||
// An InlineAsm might be a call; assume it is to get the stack frame
|
||||
// aligned correctly for calls.
|
||||
HasCalls = true;
|
||||
}
|
||||
|
||||
MachineFrameInfo *FFI = Fn.getFrameInfo();
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin9 -O0 | grep {movl %edx, 4(%esp)} | count 2
|
||||
; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin9 -O0 | grep {movl %edx, 12(%esp)} | count 2
|
||||
; rdar://6992609
|
||||
|
||||
target triple = "i386-apple-darwin9.0"
|
||||
|
Loading…
Reference in New Issue
Block a user