Skip to content

Commit 8b1528f

Browse files
authored
RuntimeLibcalls: Use array initializers for default values (#143082)
1 parent d4e2c0b commit 8b1528f

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

llvm/include/llvm/IR/RuntimeLibcalls.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,13 @@ struct RuntimeLibcallsInfo {
103103

104104
private:
105105
/// Stores the name each libcall.
106-
const char *LibcallRoutineNames[RTLIB::UNKNOWN_LIBCALL + 1];
106+
const char *LibcallRoutineNames[RTLIB::UNKNOWN_LIBCALL + 1] = {nullptr};
107+
108+
static_assert(static_cast<int>(CallingConv::C) == 0,
109+
"default calling conv should be encoded as 0");
107110

108111
/// Stores the CallingConv that should be used for each libcall.
109-
CallingConv::ID LibcallCallingConvs[RTLIB::UNKNOWN_LIBCALL];
112+
CallingConv::ID LibcallCallingConvs[RTLIB::UNKNOWN_LIBCALL] = {};
110113

111114
/// The condition type that should be used to test the result of each of the
112115
/// soft floating-point comparison libcall against integer zero.

llvm/lib/IR/RuntimeLibcalls.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,7 @@ void RuntimeLibcallsInfo::initSoftFloatCmpLibcallPredicates() {
284284
/// Set default libcall names. If a target wants to opt-out of a libcall it
285285
/// should be placed here.
286286
void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
287-
std::fill(std::begin(LibcallRoutineNames), std::end(LibcallRoutineNames),
288-
nullptr);
287+
initSoftFloatCmpLibcallPredicates();
289288

290289
initSoftFloatCmpLibcallPredicates();
291290

@@ -295,10 +294,6 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
295294
#undef HANDLE_LIBCALL
296295
#undef LIBCALL_NO_NAME
297296

298-
// Initialize calling conventions to their default.
299-
for (int LC = 0; LC < RTLIB::UNKNOWN_LIBCALL; ++LC)
300-
setLibcallCallingConv((RTLIB::Libcall)LC, CallingConv::C);
301-
302297
// Use the f128 variants of math functions on x86
303298
if (TT.isX86() && TT.isGNUEnvironment()) {
304299
setLibcallName(RTLIB::REM_F128, "fmodf128");

0 commit comments

Comments
 (0)