mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-23 20:34:58 +00:00
Enclose directive .cprestore with .set macro and nomacro to silence assembler
warning. llvm-svn: 137378
This commit is contained in:
parent
41ef68eb17
commit
b787f8a8a5
@ -254,9 +254,15 @@ void MipsFrameLowering::emitPrologue(MachineFunction &MF) const {
|
||||
}
|
||||
|
||||
// Restore GP from the saved stack location
|
||||
if (MipsFI->needGPSaveRestore())
|
||||
BuildMI(MBB, MBBI, dl, TII.get(Mips::CPRESTORE))
|
||||
.addImm(MFI->getObjectOffset(MipsFI->getGPFI()));
|
||||
if (MipsFI->needGPSaveRestore()) {
|
||||
unsigned Offset = MFI->getObjectOffset(MipsFI->getGPFI());
|
||||
BuildMI(MBB, MBBI, dl, TII.get(Mips::CPRESTORE)).addImm(Offset);
|
||||
|
||||
if (Offset >= 0x8000) {
|
||||
BuildMI(MBB, llvm::prior(MBBI), dl, TII.get(Mips::MACRO));
|
||||
BuildMI(MBB, MBBI, dl, TII.get(Mips::NOMACRO));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MipsFrameLowering::emitEpilogue(MachineFunction &MF,
|
||||
|
16
test/CodeGen/Mips/cprestore.ll
Normal file
16
test/CodeGen/Mips/cprestore.ll
Normal file
@ -0,0 +1,16 @@
|
||||
; RUN: llc -march=mipsel < %s | FileCheck %s
|
||||
|
||||
; CHECK: .set macro
|
||||
; CHECK-NEXT: .cprestore
|
||||
; CHECK-NEXT: .set nomacro
|
||||
|
||||
%struct.S = type { [16384 x i32] }
|
||||
|
||||
define void @foo2() nounwind {
|
||||
entry:
|
||||
%s = alloca %struct.S, align 4
|
||||
call void @foo1(%struct.S* byval %s)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare void @foo1(%struct.S* byval)
|
Loading…
x
Reference in New Issue
Block a user