diff options
| author | Dean Michael Berris <dberris@google.com> | 2016-09-19 00:54:35 +0000 |
|---|---|---|
| committer | Dean Michael Berris <dberris@google.com> | 2016-09-19 00:54:35 +0000 |
| commit | 4640154446cb2f95aa54d001ecd6683d2941d47a (patch) | |
| tree | ed8544ae856622d7dbb7af82c13508157425a9a0 /llvm/lib/Target/ARM/ARMAsmPrinter.h | |
| parent | 3c46abb2eab8c0e62f3fdf552a6c5d501aed2738 (diff) | |
| download | bcm5719-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.h | 12 |
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(); |

