|
32 | 32 | #include "llvm/ADT/StringRef.h"
|
33 | 33 | #include "llvm/ADT/StringSet.h"
|
34 | 34 | #include "llvm/Frontend/OpenMP/OMPGridValues.h"
|
35 |
| -#include "llvm/IR/Attributes.h" |
36 | 35 | #include "llvm/IR/DerivedTypes.h"
|
37 |
| -#include "llvm/IR/Function.h" |
38 | 36 | #include "llvm/Support/DataTypes.h"
|
39 | 37 | #include "llvm/Support/Error.h"
|
40 | 38 | #include "llvm/Support/VersionTuple.h"
|
|
47 | 45 |
|
48 | 46 | namespace llvm {
|
49 | 47 | struct fltSemantics;
|
| 48 | +class Function; |
| 49 | +class AttrBuilder; |
50 | 50 | }
|
51 | 51 |
|
52 | 52 | namespace clang {
|
@@ -1455,24 +1455,9 @@ class TargetInfo : public TransferrableTargetInfo,
|
1455 | 1455 | GuardedControlStack = LangOpts.GuardedControlStack;
|
1456 | 1456 | }
|
1457 | 1457 |
|
1458 |
| - void setFnAttributes(llvm::Function &F) { |
1459 |
| - llvm::AttrBuilder FuncAttrs(F.getContext()); |
1460 |
| - setFnAttributes(FuncAttrs); |
1461 |
| - F.addFnAttrs(FuncAttrs); |
1462 |
| - } |
| 1458 | + void setFnAttributes(llvm::Function &F) const; |
1463 | 1459 |
|
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 |
| - } |
| 1460 | + void setFnAttributes(llvm::AttrBuilder &FuncAttrs) const; |
1476 | 1461 | };
|
1477 | 1462 |
|
1478 | 1463 | /// Determine if the Architecture in this TargetInfo supports branch
|
|
0 commit comments