LLVM
8.0.1
lib
Target
Mips
Mips16HardFloatInfo.cpp
Go to the documentation of this file.
1
//===---- Mips16HardFloatInfo.cpp for Mips16 Hard Float -----===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file contains the Mips16 implementation of Mips16HardFloatInfo
11
// namespace.
12
//
13
//===----------------------------------------------------------------------===//
14
15
#include "
Mips16HardFloatInfo.h
"
16
#include <string.h>
17
18
namespace
llvm
{
19
20
namespace
Mips16HardFloatInfo {
21
22
const
FuncNameSignature
PredefinedFuncs
[] = {
23
{
"__floatdidf"
, {
NoSig
,
DRet
} },
24
{
"__floatdisf"
, {
NoSig
,
FRet
} },
25
{
"__floatundidf"
, {
NoSig
, DRet } },
26
{
"__fixsfdi"
, {
FSig
,
NoFPRet
} },
27
{
"__fixunsdfsi"
, {
DSig
, NoFPRet } },
28
{
"__fixunsdfdi"
, {
DSig
, NoFPRet } },
29
{
"__fixdfdi"
, {
DSig
, NoFPRet } },
30
{
"__fixunssfsi"
, {
FSig
, NoFPRet } },
31
{
"__fixunssfdi"
, {
FSig
, NoFPRet } },
32
{
"__floatundisf"
, {
NoSig
, FRet } },
33
{
nullptr
, {
NoSig
, NoFPRet } }
34
};
35
36
// just do a search for now. there are very few of these special cases.
37
//
38
extern
FuncSignature
const
*
findFuncSignature
(
const
char
*
name
) {
39
const
char
*name_;
40
int
i = 0;
41
while
(PredefinedFuncs[i].
Name
) {
42
name_ = PredefinedFuncs[i].
Name
;
43
if
(strcmp(name, name_) == 0)
44
return
&PredefinedFuncs[i].
Signature
;
45
i++;
46
}
47
return
nullptr
;
48
}
49
}
50
}
llvm
This class represents lattice values for constants.
Definition:
AllocatorList.h:24
llvm::Mips16HardFloatInfo::FuncNameSignature::Name
const char * Name
Definition:
Mips16HardFloatInfo.h:40
llvm::Mips16HardFloatInfo::FuncNameSignature
Definition:
Mips16HardFloatInfo.h:39
llvm::Mips16HardFloatInfo::FSig
Definition:
Mips16HardFloatInfo.h:32
Name
amdgpu Simplify well known AMD library false Value Value const Twine & Name
Definition:
AMDGPULibCalls.cpp:221
llvm::Mips16HardFloatInfo::DSig
Definition:
Mips16HardFloatInfo.h:32
llvm::Mips16HardFloatInfo::FuncNameSignature::Signature
FuncSignature Signature
Definition:
Mips16HardFloatInfo.h:41
llvm::Mips16HardFloatInfo::PredefinedFuncs
const FuncNameSignature PredefinedFuncs[]
Definition:
Mips16HardFloatInfo.cpp:22
llvm::Mips16HardFloatInfo::NoSig
Definition:
Mips16HardFloatInfo.h:32
llvm::Mips16HardFloatInfo::findFuncSignature
FuncSignature const * findFuncSignature(const char *name)
Definition:
Mips16HardFloatInfo.cpp:38
llvm::Mips16HardFloatInfo::FuncSignature
Definition:
Mips16HardFloatInfo.h:34
llvm::Mips16HardFloatInfo::FRet
Definition:
Mips16HardFloatInfo.h:26
name
static const char * name
Definition:
PPCLoopPreIncPrep.cpp:115
llvm::Mips16HardFloatInfo::DRet
Definition:
Mips16HardFloatInfo.h:26
llvm::Mips16HardFloatInfo::NoFPRet
Definition:
Mips16HardFloatInfo.h:26
Mips16HardFloatInfo.h
Generated on Sun Dec 20 2020 13:56:56 for LLVM by
1.8.13