Author: aheejin Date: Mon Jun 4 11:23:00 2018 New Revision: 333938 URL: http://llvm.org/viewvc/llvm-project?rev=333938&view=rev Log: Remove llvm::Triple argument from get***Personality() functions. NFC.
Summary: Because `llvm::Triple` can be derived from `TargetInfo`, it is simpler to take only `TargetInfo` argument. Reviewers: sbc100 Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D47620 Modified: cfe/trunk/lib/CodeGen/CGException.cpp Modified: cfe/trunk/lib/CodeGen/CGException.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGException.cpp?rev=333938&r1=333937&r2=333938&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CGException.cpp (original) +++ cfe/trunk/lib/CodeGen/CGException.cpp Mon Jun 4 11:23:00 2018 @@ -114,8 +114,9 @@ EHPersonality::MSVC_CxxFrameHandler3 = { const EHPersonality EHPersonality::GNU_Wasm_CPlusPlus = { "__gxx_wasm_personality_v0", nullptr }; -static const EHPersonality &getCPersonality(const llvm::Triple &T, +static const EHPersonality &getCPersonality(const TargetInfo &Target, const LangOptions &L) { + const llvm::Triple &T = Target.getTriple(); if (L.SjLjExceptions) return EHPersonality::GNU_C_SJLJ; if (L.DWARFExceptions) @@ -127,11 +128,12 @@ static const EHPersonality &getCPersonal return EHPersonality::GNU_C; } -static const EHPersonality &getObjCPersonality(const llvm::Triple &T, +static const EHPersonality &getObjCPersonality(const TargetInfo &Target, const LangOptions &L) { + const llvm::Triple &T = Target.getTriple(); switch (L.ObjCRuntime.getKind()) { case ObjCRuntime::FragileMacOSX: - return getCPersonality(T, L); + return getCPersonality(Target, L); case ObjCRuntime::MacOSX: case ObjCRuntime::iOS: case ObjCRuntime::WatchOS: @@ -153,9 +155,9 @@ static const EHPersonality &getObjCPerso llvm_unreachable("bad runtime kind"); } -static const EHPersonality &getCXXPersonality(const llvm::Triple &T, - const LangOptions &L, - const TargetInfo &Target) { +static const EHPersonality &getCXXPersonality(const TargetInfo &Target, + const LangOptions &L) { + const llvm::Triple &T = Target.getTriple(); if (L.SjLjExceptions) return EHPersonality::GNU_CPlusPlus_SJLJ; if (L.DWARFExceptions) @@ -174,14 +176,13 @@ static const EHPersonality &getCXXPerson /// Determines the personality function to use when both C++ /// and Objective-C exceptions are being caught. -static const EHPersonality &getObjCXXPersonality(const llvm::Triple &T, - const LangOptions &L, - const TargetInfo &Target) { +static const EHPersonality &getObjCXXPersonality(const TargetInfo &Target, + const LangOptions &L) { switch (L.ObjCRuntime.getKind()) { // In the fragile ABI, just use C++ exception handling and hope // they're not doing crazy exception mixing. case ObjCRuntime::FragileMacOSX: - return getCXXPersonality(T, L, Target); + return getCXXPersonality(Target, L); // The ObjC personality defers to the C++ personality for non-ObjC // handlers. Unlike the C++ case, we use the same personality @@ -189,7 +190,7 @@ static const EHPersonality &getObjCXXPer case ObjCRuntime::MacOSX: case ObjCRuntime::iOS: case ObjCRuntime::WatchOS: - return getObjCPersonality(T, L); + return getObjCPersonality(Target, L); case ObjCRuntime::GNUstep: return EHPersonality::GNU_ObjCXX; @@ -198,7 +199,7 @@ static const EHPersonality &getObjCXXPer // mixed EH. Use the ObjC personality just to avoid returning null. case ObjCRuntime::GCC: case ObjCRuntime::ObjFW: - return getObjCPersonality(T, L); + return getObjCPersonality(Target, L); } llvm_unreachable("bad runtime kind"); } @@ -220,9 +221,10 @@ const EHPersonality &EHPersonality::get( return getSEHPersonalityMSVC(T); if (L.ObjC1) - return L.CPlusPlus ? getObjCXXPersonality(T, L, Target) - : getObjCPersonality(T, L); - return L.CPlusPlus ? getCXXPersonality(T, L, Target) : getCPersonality(T, L); + return L.CPlusPlus ? getObjCXXPersonality(Target, L) + : getObjCPersonality(Target, L); + return L.CPlusPlus ? getCXXPersonality(Target, L) + : getCPersonality(Target, L); } const EHPersonality &EHPersonality::get(CodeGenFunction &CGF) { @@ -318,8 +320,7 @@ void CodeGenModule::SimplifyPersonality( return; const EHPersonality &ObjCXX = EHPersonality::get(*this, /*FD=*/nullptr); - const EHPersonality &CXX = - getCXXPersonality(getTarget().getTriple(), LangOpts, getTarget()); + const EHPersonality &CXX = getCXXPersonality(getTarget(), LangOpts); if (&ObjCXX == &CXX) return; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits