RuntimeLibcalls: Pass in ABI name from MCOptions (#144894)
ARM needs this to compute the available libcalls.
This commit is contained in:
@@ -58,8 +58,8 @@ struct RuntimeLibcallsInfo {
|
||||
const Triple &TT,
|
||||
ExceptionHandling ExceptionModel = ExceptionHandling::None,
|
||||
FloatABI::ABIType FloatABI = FloatABI::Default,
|
||||
EABI EABIVersion = EABI::Default) {
|
||||
initLibcalls(TT, ExceptionModel, FloatABI, EABIVersion);
|
||||
EABI EABIVersion = EABI::Default, StringRef ABIName = "") {
|
||||
initLibcalls(TT, ExceptionModel, FloatABI, EABIVersion, ABIName);
|
||||
}
|
||||
|
||||
/// Rename the default libcall routine name for the specified libcall.
|
||||
@@ -150,7 +150,8 @@ private:
|
||||
/// Set default libcall names. If a target wants to opt-out of a libcall it
|
||||
/// should be placed here.
|
||||
LLVM_ABI void initLibcalls(const Triple &TT, ExceptionHandling ExceptionModel,
|
||||
FloatABI::ABIType FloatABI, EABI ABIType);
|
||||
FloatABI::ABIType FloatABI, EABI ABIType,
|
||||
StringRef ABIName);
|
||||
};
|
||||
|
||||
} // namespace RTLIB
|
||||
|
||||
@@ -633,7 +633,8 @@ void RTLIB::initCmpLibcallCCs(ISD::CondCode *CmpLibcallCCs) {
|
||||
/// NOTE: The TargetMachine owns TLOF.
|
||||
TargetLoweringBase::TargetLoweringBase(const TargetMachine &tm)
|
||||
: TM(tm), Libcalls(TM.getTargetTriple(), TM.Options.ExceptionModel,
|
||||
TM.Options.FloatABIType, TM.Options.EABIVersion) {
|
||||
TM.Options.FloatABIType, TM.Options.EABIVersion,
|
||||
TM.Options.MCOptions.getABIName()) {
|
||||
initActions();
|
||||
|
||||
// Perform these initializations only once.
|
||||
|
||||
@@ -359,7 +359,7 @@ static void setLongDoubleIsF128Libm(RuntimeLibcallsInfo &Info,
|
||||
void RuntimeLibcallsInfo::initLibcalls(const Triple &TT,
|
||||
ExceptionHandling ExceptionModel,
|
||||
FloatABI::ABIType FloatABI,
|
||||
EABI EABIVersion) {
|
||||
EABI EABIVersion, StringRef ABIName) {
|
||||
initSoftFloatCmpLibcallPredicates();
|
||||
|
||||
initSoftFloatCmpLibcallPredicates();
|
||||
|
||||
Reference in New Issue
Block a user