llvm.org GIT mirror llvm / a114baa
Allow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than hardcoding them in DAG lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77586 91177308-0d34-0410-b5e6-96231b3b80d8 Sanjiv Gupta 11 years ago
3 changed file(s) with 14 addition(s) and 3 deletion(s). Raw diff Collapse all Expand all
223223 O_F32,
224224 O_F64,
225225
226 // MEMORY
227 MEMCPY,
228 MEMSET,
229 MEMMOVE,
230
226231 // EXCEPTION HANDLING
227232 UNWIND_RESUME,
228233
33843384 std::pair CallResult =
33853385 TLI.LowerCallTo(Chain, Type::VoidTy,
33863386 false, false, false, false, 0, CallingConv::C, false,
3387 getExternalSymbol("memcpy", TLI.getPointerTy()),
3387 getExternalSymbol(TLI.getLibcallName(RTLIB::MEMCPY),
3388 TLI.getPointerTy()),
33883389 Args, *this, dl);
33893390 return CallResult.second;
33903391 }
34303431 std::pair CallResult =
34313432 TLI.LowerCallTo(Chain, Type::VoidTy,
34323433 false, false, false, false, 0, CallingConv::C, false,
3433 getExternalSymbol("memmove", TLI.getPointerTy()),
3434 getExternalSymbol(TLI.getLibcallName(RTLIB::MEMMOVE),
3435 TLI.getPointerTy()),
34343436 Args, *this, dl);
34353437 return CallResult.second;
34363438 }
34823484 std::pair CallResult =
34833485 TLI.LowerCallTo(Chain, Type::VoidTy,
34843486 false, false, false, false, 0, CallingConv::C, false,
3485 getExternalSymbol("memset", TLI.getPointerTy()),
3487 getExternalSymbol(TLI.getLibcallName(RTLIB::MEMSET),
3488 TLI.getPointerTy()),
34863489 Args, *this, dl);
34873490 return CallResult.second;
34883491 }
240240 Names[RTLIB::UO_F64] = "__unorddf2";
241241 Names[RTLIB::O_F32] = "__unordsf2";
242242 Names[RTLIB::O_F64] = "__unorddf2";
243 Names[RTLIB::MEMCPY] = "memcpy";
244 Names[RTLIB::MEMMOVE] = "memmove";
245 Names[RTLIB::MEMSET] = "memset";
243246 Names[RTLIB::UNWIND_RESUME] = "_Unwind_Resume";
244247 }
245248