diff --git a/llvm/lib/Transforms/BuildDFG/BuildDFG.cpp b/llvm/lib/Transforms/BuildDFG/BuildDFG.cpp new file mode 100644 index 0000000000000000000000000000000000000000..439218fb721f54fa81c093c8b38b03a8d9991f89 --- /dev/null +++ b/llvm/lib/Transforms/BuildDFG/BuildDFG.cpp @@ -0,0 +1,36 @@ +//=== BuildDFG.cpp - Implements "Hierarchical Dataflow Graph Builder Pass" ===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#define DEBUG_TYPE "buildDFG" +#include "llvm/ADT/Statistic.h" +#include "llvm/IR/Function.h" +#include "llvm/Pass.h" +#include "llvm/Support/raw_ostream.h" +using namespace llvm; + +STATISTIC(IntrinsicCounter, "Counts number of visc intrinsics greeted"); + +namespace { + // BuildDFG - The first implementation. + struct BuildDFG : public FunctionPass { + static char ID; // Pass identification, replacement for typeid + BuildDFG() : FunctionPass(ID) {} + + virtual bool runOnFunction(Function &F) { + ++IntrinsicCounter; + errs() << "Intrinsics: "; + errs().write_escaped(F.getName()) << '\n'; + return false; + } + }; +} + +char BuildDFG::ID = 0; +static RegisterPass<BuildDFG> X("buildDFG", "Hierarchical Dataflow Graph Builder Pass"); + diff --git a/llvm/lib/Transforms/BuildDFG/BuildDFG.exports b/llvm/lib/Transforms/BuildDFG/BuildDFG.exports new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/llvm/lib/Transforms/BuildDFG/CMakeLists.txt b/llvm/lib/Transforms/BuildDFG/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..cdb89a2d913bfc8bf4a2a0ee973d6dc5db644216 --- /dev/null +++ b/llvm/lib/Transforms/BuildDFG/CMakeLists.txt @@ -0,0 +1,3 @@ +add_llvm_loadable_module( LLVMBuildDFG + BuildDFG.cpp + ) diff --git a/llvm/lib/Transforms/BuildDFG/Makefile b/llvm/lib/Transforms/BuildDFG/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..e09cd6375728988ecea690231e72649598ff8f83 --- /dev/null +++ b/llvm/lib/Transforms/BuildDFG/Makefile @@ -0,0 +1,15 @@ +##===- lib/Transforms/BuildDFG/Makefile -----------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +LEVEL = ../../../ +LIBRARYNAME = LLVMBuildDFG +LOADABLE_MODULE = 1 +USEDLIBS = + +include $(LEVEL)/Makefile.common