[llvm] [hwasan] Add intrinsics for fixed shadow on Aarch64 (PR #89319)

via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 22 14:07:52 PDT 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 55d4a8929711c9fc68a460bafa3a63e4a90ac9c1 9a04e51dbe8ecfae794a6de5c8d41e8da064a1bc -- llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp b/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
index 5c693aceb7..4a5703c075 100644
--- a/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+++ b/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
@@ -117,7 +117,8 @@ public:
   void LowerPATCHABLE_TAIL_CALL(const MachineInstr &MI);
   void LowerPATCHABLE_EVENT_CALL(const MachineInstr &MI, bool Typed);
 
-  typedef std::tuple<unsigned, bool, uint32_t, bool, uint64_t> HwasanMemaccessTuple;
+  typedef std::tuple<unsigned, bool, uint32_t, bool, uint64_t>
+      HwasanMemaccessTuple;
   std::map<HwasanMemaccessTuple, MCSymbol *> HwasanMemaccessSymbols;
   void LowerKCFI_CHECK(const MachineInstr &MI);
   void LowerHWASAN_CHECK_MEMACCESS(const MachineInstr &MI);
@@ -560,8 +561,7 @@ void AArch64AsmPrinter::LowerHWASAN_CHECK_MEMACCESS(const MachineInstr &MI) {
       ((MI.getOpcode() == AArch64::HWASAN_CHECK_MEMACCESS_FIXEDSHADOW) ||
        (MI.getOpcode() ==
         AArch64::HWASAN_CHECK_MEMACCESS_SHORTGRANULES_FIXEDSHADOW));
-  uint64_t FixedShadowOffset =
-      IsFixedShadow ? MI.getOperand(2).getImm() : 0;
+  uint64_t FixedShadowOffset = IsFixedShadow ? MI.getOperand(2).getImm() : 0;
 
   MCSymbol *&Sym = HwasanMemaccessSymbols[HwasanMemaccessTuple(
       Reg, IsShort, AccessInfo, IsFixedShadow, FixedShadowOffset)];
@@ -573,7 +573,7 @@ void AArch64AsmPrinter::LowerHWASAN_CHECK_MEMACCESS(const MachineInstr &MI) {
     std::string SymName = "__hwasan_check_x" + utostr(Reg - AArch64::X0) + "_" +
                           utostr(AccessInfo);
     if (IsFixedShadow) {
-      SymName += "_" + utostr (FixedShadowOffset);
+      SymName += "_" + utostr(FixedShadowOffset);
     }
     if (IsShort)
       SymName += "_short_v2";
@@ -642,12 +642,11 @@ void AArch64AsmPrinter::emitHwasanMemaccessSymbols(Module &M) {
                                  *STI);
 
     if (IsFixedShadow) {
-      OutStreamer->emitInstruction(
-          MCInstBuilder(AArch64::MOVZXi)
-              .addReg(AArch64::X17)
-              .addImm(FixedShadowOffset >> 32)
-              .addImm(32),
-          *STI);
+      OutStreamer->emitInstruction(MCInstBuilder(AArch64::MOVZXi)
+                                       .addReg(AArch64::X17)
+                                       .addImm(FixedShadowOffset >> 32)
+                                       .addImm(32),
+                                   *STI);
       OutStreamer->emitInstruction(MCInstBuilder(AArch64::LDRBBroX)
                                        .addReg(AArch64::W16)
                                        .addReg(AArch64::X17)

``````````

</details>


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


More information about the llvm-commits mailing list