mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-27 14:19:01 +00:00
Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC."
sret arguments can never originate from an f128 argument so we detect sret arguments and push false into OriginalArgWasF128. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221102 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
29
lib/Target/Mips/MipsABIInfo.cpp
Normal file
29
lib/Target/Mips/MipsABIInfo.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
//===---- MipsABIInfo.cpp - Information about MIPS ABI's ------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "MipsABIInfo.h"
|
||||
#include "MipsRegisterInfo.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
static const MCPhysReg O32IntRegs[4] = {Mips::A0, Mips::A1, Mips::A2, Mips::A3};
|
||||
|
||||
static const MCPhysReg Mips64IntRegs[8] = {
|
||||
Mips::A0_64, Mips::A1_64, Mips::A2_64, Mips::A3_64,
|
||||
Mips::T0_64, Mips::T1_64, Mips::T2_64, Mips::T3_64};
|
||||
}
|
||||
|
||||
const ArrayRef<MCPhysReg> MipsABIInfo::GetByValArgRegs() const {
|
||||
if (IsO32())
|
||||
return makeArrayRef(O32IntRegs);
|
||||
if (IsN32() || IsN64())
|
||||
return makeArrayRef(Mips64IntRegs);
|
||||
llvm_unreachable("Unhandled ABI");
|
||||
}
|
||||
Reference in New Issue
Block a user