summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bda1349)
raw | patch | inline | side by side (parent: bda1349)
author | Chandler Carruth <chandlerc@gmail.com> | |
Thu, 15 Jan 2015 02:21:56 +0000 (02:21 +0000) | ||
committer | Chandler Carruth <chandlerc@gmail.com> | |
Thu, 15 Jan 2015 02:21:56 +0000 (02:21 +0000) |
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226081 91177308-0d34-0410-b5e6-96231b3b80d8
lib/ExecutionEngine/EventListenerCommon.h | patch | blob | history |
index 6f17427052cd85742077f8cdc79ae2a29d3ba95b..6453099b73d7a17c2bb484e6cb65c4ec188ec069 100644 (file)
-//===-- JIT.h - Abstract Execution Engine Interface -------------*- C++ -*-===//\r
-//\r
-// The LLVM Compiler Infrastructure\r
-//\r
-// This file is distributed under the University of Illinois Open Source\r
-// License. See LICENSE.TXT for details.\r
-//\r
-//===----------------------------------------------------------------------===//\r
-//\r
-// Common functionality for JITEventListener implementations\r
-//\r
-//===----------------------------------------------------------------------===//\r
-\r
-#ifndef EVENT_LISTENER_COMMON_H\r
-#define EVENT_LISTENER_COMMON_H\r
-\r
-#include "llvm/ADT/DenseMap.h"\r
-#include "llvm/IR/DebugInfo.h"\r
-#include "llvm/IR/Metadata.h"\r
-#include "llvm/IR/ValueHandle.h"\r
-#include "llvm/Support/Path.h"\r
-\r
-namespace llvm {\r
-\r
-namespace jitprofiling {\r
-\r
-class FilenameCache {\r
- // Holds the filename of each Scope, so that we can pass a null-terminated\r
- // string into oprofile. \r
- DenseMap<const MDNode *, std::string> Filenames;\r
- DenseMap<const MDNode *, std::string> Paths;\r
-\r
- public:\r
- const char *getFilename(MDNode *Scope) {\r
- assert(Scope->isResolved() && "Expected Scope to be resolved");\r
- std::string &Filename = Filenames[Scope];\r
- if (Filename.empty()) {\r
- DIScope DIScope(Scope);\r
- Filename = DIScope.getFilename();\r
- }\r
- return Filename.c_str();\r
- }\r
-\r
- const char *getFullPath(MDNode *Scope) {\r
- assert(Scope->isResolved() && "Expected Scope to be resolved");\r
- std::string &P = Paths[Scope];\r
- if (P.empty()) {\r
- DIScope DIScope(Scope);\r
- StringRef DirName = DIScope.getDirectory();\r
- StringRef FileName = DIScope.getFilename();\r
- SmallString<256> FullPath;\r
- if (DirName != "." && DirName != "") {\r
- FullPath = DirName;\r
- }\r
- if (FileName != "") {\r
- sys::path::append(FullPath, FileName);\r
- }\r
- P = FullPath.str();\r
- }\r
- return P.c_str();\r
- }\r
-};\r
-\r
-} // namespace jitprofiling\r
-\r
-} // namespace llvm\r
-\r
-#endif //EVENT_LISTENER_COMMON_H\r
+//===-- JIT.h - Abstract Execution Engine Interface -------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Common functionality for JITEventListener implementations
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef EVENT_LISTENER_COMMON_H
+#define EVENT_LISTENER_COMMON_H
+
+#include "llvm/ADT/DenseMap.h"
+#include "llvm/IR/DebugInfo.h"
+#include "llvm/IR/Metadata.h"
+#include "llvm/IR/ValueHandle.h"
+#include "llvm/Support/Path.h"
+
+namespace llvm {
+
+namespace jitprofiling {
+
+class FilenameCache {
+ // Holds the filename of each Scope, so that we can pass a null-terminated
+ // string into oprofile.
+ DenseMap<const MDNode *, std::string> Filenames;
+ DenseMap<const MDNode *, std::string> Paths;
+
+ public:
+ const char *getFilename(MDNode *Scope) {
+ assert(Scope->isResolved() && "Expected Scope to be resolved");
+ std::string &Filename = Filenames[Scope];
+ if (Filename.empty()) {
+ DIScope DIScope(Scope);
+ Filename = DIScope.getFilename();
+ }
+ return Filename.c_str();
+ }
+
+ const char *getFullPath(MDNode *Scope) {
+ assert(Scope->isResolved() && "Expected Scope to be resolved");
+ std::string &P = Paths[Scope];
+ if (P.empty()) {
+ DIScope DIScope(Scope);
+ StringRef DirName = DIScope.getDirectory();
+ StringRef FileName = DIScope.getFilename();
+ SmallString<256> FullPath;
+ if (DirName != "." && DirName != "") {
+ FullPath = DirName;
+ }
+ if (FileName != "") {
+ sys::path::append(FullPath, FileName);
+ }
+ P = FullPath.str();
+ }
+ return P.c_str();
+ }
+};
+
+} // namespace jitprofiling
+
+} // namespace llvm
+
+#endif //EVENT_LISTENER_COMMON_H