This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc9b1a2b41dca: AArch64: Use SBFX instead of UBFX to extract address granule in outlined HWASan… (authored by pcc).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90424/new/ https://reviews.llvm.org/D90424 Files: clang/docs/HardwareAssistedAddressSanitizerDesign.rst llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp llvm/test/CodeGen/AArch64/hwasan-check-memaccess.ll Index: llvm/test/CodeGen/AArch64/hwasan-check-memaccess.ll =================================================================== --- llvm/test/CodeGen/AArch64/hwasan-check-memaccess.ll +++ llvm/test/CodeGen/AArch64/hwasan-check-memaccess.ll @@ -38,7 +38,7 @@ ; CHECK-NEXT: .weak __hwasan_check_x0_2_short_v2 ; CHECK-NEXT: .hidden __hwasan_check_x0_2_short_v2 ; CHECK-NEXT: __hwasan_check_x0_2_short_v2: -; CHECK-NEXT: ubfx x16, x0, #4, #52 +; CHECK-NEXT: sbfx x16, x0, #4, #52 ; CHECK-NEXT: ldrb w16, [x20, x16] ; CHECK-NEXT: cmp x16, x0, lsr #56 ; CHECK-NEXT: b.ne .Ltmp0 @@ -69,7 +69,7 @@ ; CHECK-NEXT: .weak __hwasan_check_x1_1 ; CHECK-NEXT: .hidden __hwasan_check_x1_1 ; CHECK-NEXT: __hwasan_check_x1_1: -; CHECK-NEXT: ubfx x16, x1, #4, #52 +; CHECK-NEXT: sbfx x16, x1, #4, #52 ; CHECK-NEXT: ldrb w16, [x9, x16] ; CHECK-NEXT: cmp x16, x1, lsr #56 ; CHECK-NEXT: b.ne .Ltmp3 Index: llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp =================================================================== --- llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp +++ llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp @@ -348,7 +348,7 @@ OutStreamer->emitSymbolAttribute(Sym, MCSA_Hidden); OutStreamer->emitLabel(Sym); - OutStreamer->emitInstruction(MCInstBuilder(AArch64::UBFMXri) + OutStreamer->emitInstruction(MCInstBuilder(AArch64::SBFMXri) .addReg(AArch64::X16) .addReg(Reg) .addImm(4) Index: clang/docs/HardwareAssistedAddressSanitizerDesign.rst =================================================================== --- clang/docs/HardwareAssistedAddressSanitizerDesign.rst +++ clang/docs/HardwareAssistedAddressSanitizerDesign.rst @@ -96,7 +96,7 @@ [...] __hwasan_check_x0_2_short_v2: - ubfx x16, x0, #4, #52 // shadow offset + sbfx x16, x0, #4, #52 // shadow offset ldrb w16, [x20, x16] // load shadow tag cmp x16, x0, lsr #56 // extract address tag, compare with shadow tag b.ne .Ltmp0 // jump to short tag handler on mismatch
Index: llvm/test/CodeGen/AArch64/hwasan-check-memaccess.ll =================================================================== --- llvm/test/CodeGen/AArch64/hwasan-check-memaccess.ll +++ llvm/test/CodeGen/AArch64/hwasan-check-memaccess.ll @@ -38,7 +38,7 @@ ; CHECK-NEXT: .weak __hwasan_check_x0_2_short_v2 ; CHECK-NEXT: .hidden __hwasan_check_x0_2_short_v2 ; CHECK-NEXT: __hwasan_check_x0_2_short_v2: -; CHECK-NEXT: ubfx x16, x0, #4, #52 +; CHECK-NEXT: sbfx x16, x0, #4, #52 ; CHECK-NEXT: ldrb w16, [x20, x16] ; CHECK-NEXT: cmp x16, x0, lsr #56 ; CHECK-NEXT: b.ne .Ltmp0 @@ -69,7 +69,7 @@ ; CHECK-NEXT: .weak __hwasan_check_x1_1 ; CHECK-NEXT: .hidden __hwasan_check_x1_1 ; CHECK-NEXT: __hwasan_check_x1_1: -; CHECK-NEXT: ubfx x16, x1, #4, #52 +; CHECK-NEXT: sbfx x16, x1, #4, #52 ; CHECK-NEXT: ldrb w16, [x9, x16] ; CHECK-NEXT: cmp x16, x1, lsr #56 ; CHECK-NEXT: b.ne .Ltmp3 Index: llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp =================================================================== --- llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp +++ llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp @@ -348,7 +348,7 @@ OutStreamer->emitSymbolAttribute(Sym, MCSA_Hidden); OutStreamer->emitLabel(Sym); - OutStreamer->emitInstruction(MCInstBuilder(AArch64::UBFMXri) + OutStreamer->emitInstruction(MCInstBuilder(AArch64::SBFMXri) .addReg(AArch64::X16) .addReg(Reg) .addImm(4) Index: clang/docs/HardwareAssistedAddressSanitizerDesign.rst =================================================================== --- clang/docs/HardwareAssistedAddressSanitizerDesign.rst +++ clang/docs/HardwareAssistedAddressSanitizerDesign.rst @@ -96,7 +96,7 @@ [...] __hwasan_check_x0_2_short_v2: - ubfx x16, x0, #4, #52 // shadow offset + sbfx x16, x0, #4, #52 // shadow offset ldrb w16, [x20, x16] // load shadow tag cmp x16, x0, lsr #56 // extract address tag, compare with shadow tag b.ne .Ltmp0 // jump to short tag handler on mismatch
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits