LLVM
20.0.0git
lib
Target
Mips
Mips16HardFloatInfo.h
Go to the documentation of this file.
1
//===---- Mips16HardFloatInfo.h for Mips16 Hard Float --------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file defines some data structures relevant to the implementation of
10
// Mips16 hard float.
11
//
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_LIB_TARGET_MIPS_MIPS16HARDFLOATINFO_H
16
#define LLVM_LIB_TARGET_MIPS_MIPS16HARDFLOATINFO_H
17
18
namespace
llvm
{
19
20
namespace
Mips16HardFloatInfo {
21
22
// Return types that matter for hard float are:
23
// float, double, complex float, and complex double
24
//
25
enum
FPReturnVariant
{
FRet
,
DRet
,
CFRet
,
CDRet
,
NoFPRet
};
26
27
//
28
// Parameter type that matter are float, (float, float), (float, double),
29
// double, (double, double), (double, float)
30
//
31
enum
FPParamVariant
{
FSig
,
FFSig
,
FDSig
,
DSig
,
DDSig
,
DFSig
,
NoSig
};
32
33
struct
FuncSignature
{
34
FPParamVariant
ParamSig
;
35
FPReturnVariant
RetSig
;
36
};
37
38
struct
FuncNameSignature
{
39
const
char
*
Name
;
40
FuncSignature
Signature
;
41
};
42
43
extern
const
FuncNameSignature
PredefinedFuncs
[];
44
45
extern
FuncSignature
const
*
findFuncSignature
(
const
char
*
name
);
46
}
47
}
48
49
#endif
name
static const char * name
Definition:
SMEABIPass.cpp:50
llvm::Mips16HardFloatInfo::FPParamVariant
FPParamVariant
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::DFSig
@ DFSig
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::DSig
@ DSig
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::FDSig
@ FDSig
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::NoSig
@ NoSig
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::FSig
@ FSig
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::FFSig
@ FFSig
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::DDSig
@ DDSig
Definition:
Mips16HardFloatInfo.h:31
llvm::Mips16HardFloatInfo::PredefinedFuncs
const FuncNameSignature PredefinedFuncs[]
Definition:
Mips16HardFloatInfo.cpp:21
llvm::Mips16HardFloatInfo::FPReturnVariant
FPReturnVariant
Definition:
Mips16HardFloatInfo.h:25
llvm::Mips16HardFloatInfo::DRet
@ DRet
Definition:
Mips16HardFloatInfo.h:25
llvm::Mips16HardFloatInfo::CDRet
@ CDRet
Definition:
Mips16HardFloatInfo.h:25
llvm::Mips16HardFloatInfo::CFRet
@ CFRet
Definition:
Mips16HardFloatInfo.h:25
llvm::Mips16HardFloatInfo::NoFPRet
@ NoFPRet
Definition:
Mips16HardFloatInfo.h:25
llvm::Mips16HardFloatInfo::FRet
@ FRet
Definition:
Mips16HardFloatInfo.h:25
llvm::Mips16HardFloatInfo::findFuncSignature
FuncSignature const * findFuncSignature(const char *name)
Definition:
Mips16HardFloatInfo.cpp:37
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::Mips16HardFloatInfo::FuncNameSignature
Definition:
Mips16HardFloatInfo.h:38
llvm::Mips16HardFloatInfo::FuncNameSignature::Signature
FuncSignature Signature
Definition:
Mips16HardFloatInfo.h:40
llvm::Mips16HardFloatInfo::FuncNameSignature::Name
const char * Name
Definition:
Mips16HardFloatInfo.h:39
llvm::Mips16HardFloatInfo::FuncSignature
Definition:
Mips16HardFloatInfo.h:33
llvm::Mips16HardFloatInfo::FuncSignature::RetSig
FPReturnVariant RetSig
Definition:
Mips16HardFloatInfo.h:35
llvm::Mips16HardFloatInfo::FuncSignature::ParamSig
FPParamVariant ParamSig
Definition:
Mips16HardFloatInfo.h:34
Generated on Tue Dec 3 2024 16:33:23 for LLVM by
1.9.6