summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMAsmPrinter.h
diff options
context:
space:
mode:
authorDean Michael Berris <dberris@google.com>2016-09-19 00:54:35 +0000
committerDean Michael Berris <dberris@google.com>2016-09-19 00:54:35 +0000
commit4640154446cb2f95aa54d001ecd6683d2941d47a (patch)
treeed8544ae856622d7dbb7af82c13508157425a9a0 /llvm/lib/Target/ARM/ARMAsmPrinter.h
parent3c46abb2eab8c0e62f3fdf552a6c5d501aed2738 (diff)
downloadbcm5719-llvm-4640154446cb2f95aa54d001ecd6683d2941d47a.tar.gz
bcm5719-llvm-4640154446cb2f95aa54d001ecd6683d2941d47a.zip
[XRay] ARM 32-bit no-Thumb support in LLVM
This is a port of XRay to ARM 32-bit, without Thumb support yet. The XRay instrumentation support is moving up to AsmPrinter. This is one of 3 commits to different repositories of XRay ARM port. The other 2 are: https://reviews.llvm.org/D23932 (Clang test) https://reviews.llvm.org/D23933 (compiler-rt) Differential Revision: https://reviews.llvm.org/D23931 llvm-svn: 281878
Diffstat (limited to 'llvm/lib/Target/ARM/ARMAsmPrinter.h')
-rw-r--r--llvm/lib/Target/ARM/ARMAsmPrinter.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.h b/llvm/lib/Target/ARM/ARMAsmPrinter.h
index 30abdbc322a..0db0a0f5f92 100644
--- a/llvm/lib/Target/ARM/ARMAsmPrinter.h
+++ b/llvm/lib/Target/ARM/ARMAsmPrinter.h
@@ -101,7 +101,19 @@ public:
// lowerOperand - Convert a MachineOperand into the equivalent MCOperand.
bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp);
+ //===------------------------------------------------------------------===//
+ // XRay implementation
+ //===------------------------------------------------------------------===//
+public:
+ // XRay-specific lowering for ARM.
+ void LowerPATCHABLE_FUNCTION_ENTER(const MachineInstr &MI);
+ void LowerPATCHABLE_FUNCTION_EXIT(const MachineInstr &MI);
+ // Helper function that emits the XRay sleds we've collected for a particular
+ // function.
+ void EmitXRayTable();
+
private:
+ void EmitSled(const MachineInstr &MI, SledKind Kind);
// Helpers for EmitStartOfAsmFile() and EmitEndOfAsmFile()
void emitAttributes();
OpenPOWER on IntegriCloud