Lines Matching refs:Libcall
66 // Libcall insertion helpers.
102 SDValue ExpandLibCall(RTLIB::Libcall LC, SDNode *Node, bool isSigned);
103 SDValue ExpandLibCall(RTLIB::Libcall LC, EVT RetVT, const SDValue *Ops,
106 std::pair<SDValue, SDValue> ExpandChainLibCall(RTLIB::Libcall LC,
108 SDValue ExpandFPLibCall(SDNode *Node, RTLIB::Libcall Call_F32,
109 RTLIB::Libcall Call_F64, RTLIB::Libcall Call_F80,
110 RTLIB::Libcall Call_F128,
111 RTLIB::Libcall Call_PPCF128);
113 RTLIB::Libcall Call_I8,
114 RTLIB::Libcall Call_I16,
115 RTLIB::Libcall Call_I32,
116 RTLIB::Libcall Call_I64,
117 RTLIB::Libcall Call_I128);
2027 // ExpandLibCall - Expand a node into a call to a libcall. If the result value
2031 SDValue SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
2048 // By default, the input chain to this libcall is the entry node of the
2049 // function. If the libcall is going to be emitted as a tail call then
2075 /// ExpandLibCall - Generate a libcall taking the given operands as arguments
2077 SDValue SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, EVT RetVT,
2106 // ExpandChainLibCall - Expand a node into a call to a libcall. Similar to
2109 SelectionDAGLegalize::ExpandChainLibCall(RTLIB::Libcall LC,
2141 RTLIB::Libcall Call_F32,
2142 RTLIB::Libcall Call_F64,
2143 RTLIB::Libcall Call_F80,
2144 RTLIB::Libcall Call_F128,
2145 RTLIB::Libcall Call_PPCF128) {
2146 RTLIB::Libcall LC;
2148 default: llvm_unreachable("Unexpected request for libcall!");
2159 RTLIB::Libcall Call_I8,
2160 RTLIB::Libcall Call_I16,
2161 RTLIB::Libcall Call_I32,
2162 RTLIB::Libcall Call_I64,
2163 RTLIB::Libcall Call_I128) {
2164 RTLIB::Libcall LC;
2166 default: llvm_unreachable("Unexpected request for libcall!");
2176 /// isDivRemLibcallAvailable - Return true if divmod libcall is available.
2179 RTLIB::Libcall LC;
2181 default: llvm_unreachable("Unexpected request for libcall!");
2192 /// useDivRem - Only issue divrem libcall if both quotient and remainder are
2226 RTLIB::Libcall LC;
2228 default: llvm_unreachable("Unexpected request for libcall!");
2236 // The input chain to this libcall is the entry node of the function.
2281 /// isSinCosLibcallAvailable - Return true if sincos libcall is available.
2283 RTLIB::Libcall LC;
2285 default: llvm_unreachable("Unexpected request for libcall!");
2295 /// canCombineSinCosLibcall - Return true if sincos libcall is available and
2309 /// useSinCos - Only issue sincos libcall if both sin and cos are
2333 RTLIB::Libcall LC;
2335 default: llvm_unreachable("Unexpected request for libcall!");
2343 // The input chain to this libcall is the entry node of the function.
2824 RTLIB::Libcall LC;
3011 // There is no libcall for atomic load; fake it with ATOMIC_CMP_SWAP.
3026 // There is no libcall for atomic store; fake it with ATOMIC_SWAP.
3060 // ATOMIC_CMP_SWAP will produce a libcall.
3484 // Expand into sincos libcall.
3678 // Expand into divrem libcall
3813 // We can fall back to a libcall with an illegal type for the MUL if we
3814 // have a libcall big enough.
3817 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;