[llvm-branch-commits] [llvm] [AArch64][PAC] Support BLRA* instructions in SLS Hardening pass (PR #97605)

Kristof Beyls via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Jul 5 02:13:55 PDT 2024


================
@@ -68,6 +156,57 @@ struct SLSHardeningInserter : ThunkInserter<SLSHardeningInserter, ThunksSet> {
 
 } // end anonymous namespace
 
+const ThunkKind ThunkKind::BR = {ThunkBR, "", false, false, AArch64::BR};
+const ThunkKind ThunkKind::BRAA = {ThunkBRAA, "aa_", true, true, AArch64::BRAA};
+const ThunkKind ThunkKind::BRAB = {ThunkBRAB, "ab_", true, true, AArch64::BRAB};
+const ThunkKind ThunkKind::BRAAZ = {ThunkBRAAZ, "aaz_", false, true,
+                                    AArch64::BRAAZ};
+const ThunkKind ThunkKind::BRABZ = {ThunkBRABZ, "abz_", false, true,
+                                    AArch64::BRABZ};
+
+static const ThunkKind *getThunkKind(unsigned OriginalOpcode) {
----------------
kbeyls wrote:

very minor comment: I thought I'd just share that if I would've written this function, I'd probably use std::optional rather than a "pointer to" return value. But this is very nit-picky, so if you think "pointer to" is better, let's leave it as is.

https://github.com/llvm/llvm-project/pull/97605


More information about the llvm-branch-commits mailing list