[PATCH] D75181: [AArch64] Handle BTI/PAC in case of generated functions.

Daniel Kiss via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 4 09:32:54 PST 2020


danielkiss marked 4 inline comments as done.
danielkiss added inline comments.


================
Comment at: clang/lib/CodeGen/CGCall.cpp:1828
+  if (CodeGenOpts.BranchTargetEnforcement) {
+    FuncAttrs.addAttribute("branch-target-enforcement", "true");
+  }
----------------
chill wrote:
> I would really prefer to not set values "true" or "false" for the attribute: we don't really have tri-state logic there (absent/present-true/present-false), and those values just add some not-very useful string processing.
> 
the attribute will be  "absent" for the runtime emitted function.


================
Comment at: clang/lib/CodeGen/CGCall.cpp:1831
+
+  auto RASignKind = CodeGenOpts.getSignReturnAddress();
+  if (RASignKind != CodeGenOptions::SignReturnAddressScope::None) {
----------------
chill wrote:
> What do we get from setting the PACBTI state in the  default function attributes? We still have 
> to do a per function processing, we can just as well avoid repeating the logic, and spare us some
> adding and potentially removing attributes churn.
> 
in the new patch the per function processing will change the attribute only if really need.


================
Comment at: llvm/lib/Target/AArch64/AArch64BranchTargets.cpp:62
+
+  // LLVM emmited function won't have the attribute.
+  if (!F.hasFnAttribute("branch-target-enforcement")) {
----------------
emmited -> emitted


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75181/new/

https://reviews.llvm.org/D75181





More information about the llvm-commits mailing list