LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
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::Mips16HardFloatInfo::FuncNameSignature::Name
const char * Name
Definition:
Mips16HardFloatInfo.h:40
llvm::Mips16HardFloatInfo::FuncNameSignature
Definition:
Mips16HardFloatInfo.h:39
llvm::Mips16HardFloatInfo::FSig
Definition:
Mips16HardFloatInfo.h:32
llvm::GraphProgram::Name
Name
Definition:
GraphWriter.h:43
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::findFuncSignature
FuncSignature const * findFuncSignature(const char *name)
Definition:
Mips16HardFloatInfo.cpp:38
llvm::Mips16HardFloatInfo::NoSig
Definition:
Mips16HardFloatInfo.h:32
llvm::Mips16HardFloatInfo::FuncSignature
Definition:
Mips16HardFloatInfo.h:34
llvm::Mips16HardFloatInfo::FRet
Definition:
Mips16HardFloatInfo.h:26
name
static const char * name
Definition:
PPCLoopPreIncPrep.cpp:93
llvm::Mips16HardFloatInfo::DRet
Definition:
Mips16HardFloatInfo.h:26
llvm::Mips16HardFloatInfo::NoFPRet
Definition:
Mips16HardFloatInfo.h:26
Mips16HardFloatInfo.h
Generated on Mon Aug 31 2015 11:04:28 for LLVM by
1.8.6