Skip to content

Commit 9a74d06

Browse files
Revert "[NFC][Clang] Move functions of BranchProtectionInfo out of line (#98329)"
This reverts commit 4710e0f.
1 parent ccceeeb commit 9a74d06

File tree

2 files changed

+19
-26
lines changed

2 files changed

+19
-26
lines changed

clang/include/clang/Basic/TargetInfo.h

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
#include "llvm/ADT/StringRef.h"
3333
#include "llvm/ADT/StringSet.h"
3434
#include "llvm/Frontend/OpenMP/OMPGridValues.h"
35+
#include "llvm/IR/Attributes.h"
3536
#include "llvm/IR/DerivedTypes.h"
37+
#include "llvm/IR/Function.h"
3638
#include "llvm/Support/DataTypes.h"
3739
#include "llvm/Support/Error.h"
3840
#include "llvm/Support/VersionTuple.h"
@@ -45,8 +47,6 @@
4547

4648
namespace llvm {
4749
struct fltSemantics;
48-
class Function;
49-
class AttrBuilder;
5050
}
5151

5252
namespace clang {
@@ -1455,9 +1455,24 @@ class TargetInfo : public TransferrableTargetInfo,
14551455
GuardedControlStack = LangOpts.GuardedControlStack;
14561456
}
14571457

1458-
void setFnAttributes(llvm::Function &F) const;
1458+
void setFnAttributes(llvm::Function &F) {
1459+
llvm::AttrBuilder FuncAttrs(F.getContext());
1460+
setFnAttributes(FuncAttrs);
1461+
F.addFnAttrs(FuncAttrs);
1462+
}
14591463

1460-
void setFnAttributes(llvm::AttrBuilder &FuncAttrs) const;
1464+
void setFnAttributes(llvm::AttrBuilder &FuncAttrs) {
1465+
if (SignReturnAddr != LangOptions::SignReturnAddressScopeKind::None) {
1466+
FuncAttrs.addAttribute("sign-return-address", getSignReturnAddrStr());
1467+
FuncAttrs.addAttribute("sign-return-address-key", getSignKeyStr());
1468+
}
1469+
if (BranchTargetEnforcement)
1470+
FuncAttrs.addAttribute("branch-target-enforcement");
1471+
if (BranchProtectionPAuthLR)
1472+
FuncAttrs.addAttribute("branch-protection-pauth-lr");
1473+
if (GuardedControlStack)
1474+
FuncAttrs.addAttribute("guarded-control-stack");
1475+
}
14611476
};
14621477

14631478
/// Determine if the Architecture in this TargetInfo supports branch

clang/lib/Basic/TargetInfo.cpp

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include "clang/Basic/LangOptions.h"
1919
#include "llvm/ADT/APFloat.h"
2020
#include "llvm/ADT/STLExtras.h"
21-
#include "llvm/IR/Function.h"
2221
#include "llvm/Support/ErrorHandling.h"
2322
#include "llvm/TargetParser/TargetParser.h"
2423
#include <cstdlib>
@@ -1006,24 +1005,3 @@ void TargetInfo::copyAuxTarget(const TargetInfo *Aux) {
10061005
auto *Src = static_cast<const TransferrableTargetInfo*>(Aux);
10071006
*Target = *Src;
10081007
}
1009-
1010-
void TargetInfo::BranchProtectionInfo::setFnAttributes(
1011-
llvm::Function &F) const {
1012-
llvm::AttrBuilder FuncAttrs(F.getContext());
1013-
setFnAttributes(FuncAttrs);
1014-
F.addFnAttrs(FuncAttrs);
1015-
}
1016-
1017-
void TargetInfo::BranchProtectionInfo::setFnAttributes(
1018-
llvm::AttrBuilder &FuncAttrs) const {
1019-
if (SignReturnAddr != LangOptions::SignReturnAddressScopeKind::None) {
1020-
FuncAttrs.addAttribute("sign-return-address", getSignReturnAddrStr());
1021-
FuncAttrs.addAttribute("sign-return-address-key", getSignKeyStr());
1022-
}
1023-
if (BranchTargetEnforcement)
1024-
FuncAttrs.addAttribute("branch-target-enforcement");
1025-
if (BranchProtectionPAuthLR)
1026-
FuncAttrs.addAttribute("branch-protection-pauth-lr");
1027-
if (GuardedControlStack)
1028-
FuncAttrs.addAttribute("guarded-control-stack");
1029-
}

0 commit comments

Comments
 (0)