18 19namespace llvm { 20 21namespace Mips16HardFloatInfo { 22 23// Return types that matter for hard float are: 24// float, double, complex float, and complex double 25// 26enum FPReturnVariant { FRet, DRet, CFRet, CDRet, NoFPRet }; 27 28// 29// Parameter type that matter are float, (float, float), (float, double), 30// double, (double, double), (double, float) 31// 32enum FPParamVariant { FSig, FFSig, FDSig, DSig, DDSig, DFSig, NoSig }; 33 34struct FuncSignature { 35 FPParamVariant ParamSig; 36 FPReturnVariant RetSig; 37}; 38 39struct FuncNameSignature { 40 const char *Name; 41 FuncSignature Signature; 42}; 43 44extern const FuncNameSignature PredefinedFuncs[]; 45 46extern FuncSignature const *findFuncSignature(const char *name); 47} 48} 49 50#endif
| 18 19namespace llvm { 20 21namespace Mips16HardFloatInfo { 22 23// Return types that matter for hard float are: 24// float, double, complex float, and complex double 25// 26enum FPReturnVariant { FRet, DRet, CFRet, CDRet, NoFPRet }; 27 28// 29// Parameter type that matter are float, (float, float), (float, double), 30// double, (double, double), (double, float) 31// 32enum FPParamVariant { FSig, FFSig, FDSig, DSig, DDSig, DFSig, NoSig }; 33 34struct FuncSignature { 35 FPParamVariant ParamSig; 36 FPReturnVariant RetSig; 37}; 38 39struct FuncNameSignature { 40 const char *Name; 41 FuncSignature Signature; 42}; 43 44extern const FuncNameSignature PredefinedFuncs[]; 45 46extern FuncSignature const *findFuncSignature(const char *name); 47} 48} 49 50#endif
|