-
Notifications
You must be signed in to change notification settings - Fork 14.3k
ARM: Remove fake entries for divrem libcalls #143832
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARM: Remove fake entries for divrem libcalls #143832
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
@llvm/pr-subscribers-llvm-ir @llvm/pr-subscribers-backend-arm Author: Matt Arsenault (arsenm) ChangesThis was defining aliases of the i32 divrem functions for the i8 Full diff: https://github.com/llvm/llvm-project/pull/143832.diff 1 Files Affected:
diff --git a/llvm/lib/IR/RuntimeLibcalls.cpp b/llvm/lib/IR/RuntimeLibcalls.cpp
index 331b319511aed..d84c56f0af5c6 100644
--- a/llvm/lib/IR/RuntimeLibcalls.cpp
+++ b/llvm/lib/IR/RuntimeLibcalls.cpp
@@ -41,13 +41,8 @@ static void setARMLibcallNames(RuntimeLibcallsInfo &Info, const Triple &TT) {
const char *const Name;
const CallingConv::ID CC;
} LibraryCalls[] = {
- {RTLIB::SDIVREM_I8, "__rt_sdiv", CallingConv::ARM_AAPCS},
- {RTLIB::SDIVREM_I16, "__rt_sdiv", CallingConv::ARM_AAPCS},
{RTLIB::SDIVREM_I32, "__rt_sdiv", CallingConv::ARM_AAPCS},
{RTLIB::SDIVREM_I64, "__rt_sdiv64", CallingConv::ARM_AAPCS},
-
- {RTLIB::UDIVREM_I8, "__rt_udiv", CallingConv::ARM_AAPCS},
- {RTLIB::UDIVREM_I16, "__rt_udiv", CallingConv::ARM_AAPCS},
{RTLIB::UDIVREM_I32, "__rt_udiv", CallingConv::ARM_AAPCS},
{RTLIB::UDIVREM_I64, "__rt_udiv64", CallingConv::ARM_AAPCS},
};
@@ -62,13 +57,8 @@ static void setARMLibcallNames(RuntimeLibcallsInfo &Info, const Triple &TT) {
const char *const Name;
const CallingConv::ID CC;
} LibraryCalls[] = {
- {RTLIB::SDIVREM_I8, "__aeabi_idivmod", CallingConv::ARM_AAPCS},
- {RTLIB::SDIVREM_I16, "__aeabi_idivmod", CallingConv::ARM_AAPCS},
{RTLIB::SDIVREM_I32, "__aeabi_idivmod", CallingConv::ARM_AAPCS},
{RTLIB::SDIVREM_I64, "__aeabi_ldivmod", CallingConv::ARM_AAPCS},
-
- {RTLIB::UDIVREM_I8, "__aeabi_uidivmod", CallingConv::ARM_AAPCS},
- {RTLIB::UDIVREM_I16, "__aeabi_uidivmod", CallingConv::ARM_AAPCS},
{RTLIB::UDIVREM_I32, "__aeabi_uidivmod", CallingConv::ARM_AAPCS},
{RTLIB::UDIVREM_I64, "__aeabi_uldivmod", CallingConv::ARM_AAPCS},
};
|
1a68c13
to
50b8219
Compare
This was defining aliases of the i32 divrem functions for the i8 and i16 cases. This is unnecessary and was unused. The divrem candidate cases wouldn't have formed with illegal types in the first place, so codegen wouldn't even query these.
47f1862
to
4b01a03
Compare
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/157/builds/30580 Here is the relevant piece of the build log for the reference
|
This was defining aliases of the i32 divrem functions for the i8 and i16 cases. This is unnecessary and was unused. The divrem candidate cases wouldn't have formed with illegal types in the first place, so codegen wouldn't even query these.
This was defining aliases of the i32 divrem functions for the i8 and i16 cases. This is unnecessary and was unused. The divrem candidate cases wouldn't have formed with illegal types in the first place, so codegen wouldn't even query these.
This was defining aliases of the i32 divrem functions for the i8
and i16 cases. This is unnecessary and was unused. The divrem
candidate cases wouldn't have formed with illegal types in the
first place, so codegen wouldn't even query these.