[PATCH] D23426: [AArch64] Registering default MCInstrAnalysis

Mike Aizatsky via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 12 13:16:18 PDT 2016


aizatsky updated this revision to Diff 67889.
aizatsky added a comment.

rebase


https://reviews.llvm.org/D23426

Files:
  lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  test/tools/sancov/Inputs/test-linux_android_aarch64
  test/tools/sancov/print_coverage_pcs.test

Index: test/tools/sancov/print_coverage_pcs.test
===================================================================
--- test/tools/sancov/print_coverage_pcs.test
+++ test/tools/sancov/print_coverage_pcs.test
@@ -3,6 +3,7 @@
 RUN: llvm-objdump -d %p/Inputs/test-windows_x86_64 | FileCheck %s --check-prefix=DISAS_WIN
 RUN: sancov -print-coverage-pcs %p/Inputs/test-windows_x86_64 | FileCheck %s --check-prefix=WINDOWS
 RUN: sancov -print-coverage-pcs %p/Inputs/test-darwin_x86_64 | FileCheck %s --check-prefix=DARWIN
+RUN: not sancov -print-coverage-pcs %p/Inputs/test-linux_android_aarch64 2>&1 | FileCheck %s --check-prefix=AARCH64
 
 LINUX: 0x4e132b
 LINUX: 0x4e1472
@@ -57,3 +58,6 @@
 DARWIN: 0x100001906
 DARWIN: 0x1000019dc
 DARWIN: 0x100001a28
+
+AARCH64: Error: __sanitizer_cov* functions not found
+
Index: lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
===================================================================
--- lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
+++ lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
@@ -15,6 +15,7 @@
 #include "AArch64ELFStreamer.h"
 #include "AArch64MCAsmInfo.h"
 #include "InstPrinter/AArch64InstPrinter.h"
+#include "llvm/MC/MCInstrAnalysis.h"
 #include "llvm/MC/MCInstrInfo.h"
 #include "llvm/MC/MCRegisterInfo.h"
 #include "llvm/MC/MCStreamer.h"
@@ -116,6 +117,10 @@
                              /*LabelSections*/ true);
 }
 
+static MCInstrAnalysis *createAArch64InstrAnalysis(const MCInstrInfo *Info) {
+  return new MCInstrAnalysis(Info);
+}
+
 // Force static initialization.
 extern "C" void LLVMInitializeAArch64TargetMC() {
   for (Target *T :
@@ -135,6 +140,9 @@
     // Register the MC subtarget info.
     TargetRegistry::RegisterMCSubtargetInfo(*T, createAArch64MCSubtargetInfo);
 
+    // Register the MC instruction analyzer.
+    TargetRegistry::RegisterMCInstrAnalysis(*T, createAArch64InstrAnalysis);
+
     // Register the MC Code Emitter
     TargetRegistry::RegisterMCCodeEmitter(*T, createAArch64MCCodeEmitter);
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23426.67889.patch
Type: text/x-patch
Size: 2018 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160812/38b6086b/attachment.bin>


More information about the llvm-commits mailing list