diff options
author | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2010-09-24 17:27:50 +0000 |
---|---|---|
committer | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2010-09-24 17:27:50 +0000 |
commit | 946e3c9f9db2d0ab5bd75ad0283c224366807fa6 (patch) | |
tree | 155349bddfb41c51ce30499dfe24c3a0f583298c /include/llvm | |
parent | facb34b41cea284b5a0b4992ff619e5cfd5e6a22 (diff) | |
download | external_llvm-946e3c9f9db2d0ab5bd75ad0283c224366807fa6.zip external_llvm-946e3c9f9db2d0ab5bd75ad0283c224366807fa6.tar.gz external_llvm-946e3c9f9db2d0ab5bd75ad0283c224366807fa6.tar.bz2 |
Attach a DebugLoc to a GC point in order to get precise information in the JIT of a GC point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114736 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/CodeGen/GCMetadata.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/GCMetadata.h b/include/llvm/CodeGen/GCMetadata.h index b401068..45469ed 100644 --- a/include/llvm/CodeGen/GCMetadata.h +++ b/include/llvm/CodeGen/GCMetadata.h @@ -36,6 +36,7 @@ #include "llvm/Pass.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/StringMap.h" +#include "llvm/Support/DebugLoc.h" namespace llvm { class AsmPrinter; @@ -59,8 +60,10 @@ namespace llvm { struct GCPoint { GC::PointKind Kind; //< The kind of the safe point. MCSymbol *Label; //< A label. + DebugLoc Loc; - GCPoint(GC::PointKind K, MCSymbol *L) : Kind(K), Label(L) {} + GCPoint(GC::PointKind K, MCSymbol *L, DebugLoc DL) + : Kind(K), Label(L), Loc(DL) {} }; /// GCRoot - Metadata for a pointer to an object managed by the garbage @@ -121,8 +124,8 @@ namespace llvm { /// addSafePoint - Notes the existence of a safe point. Num is the ID of the /// label just prior to the safe point (if the code generator is using /// MachineModuleInfo). - void addSafePoint(GC::PointKind Kind, MCSymbol *Label) { - SafePoints.push_back(GCPoint(Kind, Label)); + void addSafePoint(GC::PointKind Kind, MCSymbol *Label, DebugLoc DL) { + SafePoints.push_back(GCPoint(Kind, Label, DL)); } /// getFrameSize/setFrameSize - Records the function's frame size. |