[MachineFunction] Base support for call site info tracking
Add an attribute into the MachineFunction that tracks call site info.
([8/13] Introduce the debug entry values.)
Co-authored-by: Ananth Sowda <asowda@cisco.com>
Co-authored-by: Nikola Prica <nikola.prica@rt-rk.com>
Co-authored-by: Ivan Baev <ibaev@cisco.com>
Differential Revision: https://reviews.llvm.org/D61061
llvm-svn: 364506
diff --git a/llvm/docs/MIRLangRef.rst b/llvm/docs/MIRLangRef.rst
index ca6c010..407d6bc 100644
--- a/llvm/docs/MIRLangRef.rst
+++ b/llvm/docs/MIRLangRef.rst
@@ -191,6 +191,9 @@
tracksRegLiveness: true
liveins:
- { reg: '$rdi' }
+ callSites:
+ - { bb: 0, offset: 3, fwdArgRegs:
+ - { arg: 0, reg: '$edi' } }
body: |
bb.0.entry:
liveins: $rdi
@@ -198,6 +201,7 @@
$eax = MOV32rm $rdi, 1, _, 0, _
$eax = INC32r killed $eax, implicit-def dead $eflags
MOV32mr killed $rdi, 1, _, 0, _, $eax
+ CALL64pcrel32 @foo <regmask...>
RETQ $eax
...
@@ -210,6 +214,9 @@
The attribute ``body`` is a `YAML block literal string`_. Its value represents
the function's machine basic blocks and their machine instructions.
+The attribute ``callSites`` is a representation of call site information which
+keeps track of call instructions and registers used to transfer call arguments.
+
Machine Instructions Format Reference
=====================================