summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16/PIC16Passes/PIC16FrameOverlay.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/PIC16/PIC16Passes/PIC16FrameOverlay.h')
-rw-r--r--llvm/lib/Target/PIC16/PIC16Passes/PIC16FrameOverlay.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/llvm/lib/Target/PIC16/PIC16Passes/PIC16FrameOverlay.h b/llvm/lib/Target/PIC16/PIC16Passes/PIC16FrameOverlay.h
new file mode 100644
index 00000000000..813ceba063b
--- /dev/null
+++ b/llvm/lib/Target/PIC16/PIC16Passes/PIC16FrameOverlay.h
@@ -0,0 +1,45 @@
+//===-- PIC16FrameOverlay.h - Interface for PIC16 Frame Overlay -*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the PIC16 Frame Overlay infrastructure.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef PIC16FRAMEOVERLAY_H
+#define PIC16FRAMEOVERLAY_H
+
+#include "llvm/Analysis/CallGraph.h"
+#include "llvm/Pass.h"
+#include "llvm/Module.h"
+#include "llvm/Support/raw_ostream.h"
+#include <vector>
+#include <iostream>
+using std::vector;
+using std::string;
+using namespace llvm;
+
+namespace {
+
+ class PIC16FrameOverlay : public ModulePass {
+ public:
+ static char ID; // Class identification
+ PIC16FrameOverlay() : ModulePass(&ID) {}
+
+ virtual void getAnalysisUsage(AnalysisUsage &AU) const;
+ virtual bool runOnModule(Module &M);
+ private:
+ void ColorFunction(CallGraphNode *CGN, unsigned Color);
+ };
+ char PIC16FrameOverlay::ID = 0;
+ static RegisterPass<PIC16FrameOverlay>
+ Y("pic16overlay", "PIC16 Frame Overlay Analysis");
+
+} // End of namespace
+
+#endif
OpenPOWER on IntegriCloud