Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
LLVM_ROOT = /opt/llvm/3.2
LLVM_ROOT = /home/marcusmae/forge/llvm/build/install
LLVM_CONFIG = $(LLVM_ROOT)/bin/llvm-config

CXX = $(LLVM_ROOT)/bin/clang++
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ You can input C or C++ code where the kernel function is annotated. Annotation
is done by setting `__attribute__((annotate("kernel")))` right before the kernel
function, i.e. its declaration or definition. Once the kernel function was
processed, a graph is generated which currently is written to disk as Graphviz
file. This file can then be further processed, e.g. to create a visualization.
file. This file can then be further processed, e.g. to create a visualization,
for example:

`$ clang -emit-llvm -S -c example/loop.c -o - | opt -load ./KernelDataFlow.so -KernelDataFlow && dot -Tpdf graph.dot -o graph.pdf`

Furthermore, block-related graphs can be found within the `graphs` directory.
The pass is yet extendable to also use the in-memory graph. To do so, simply
create a new folder inside the `src` directory, copy the Makefile of one of
Expand Down
6 changes: 3 additions & 3 deletions include/KernelDataFlow/BlockProcessor/BlockProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
#ifndef BLOCKPROCESSOR_H_
#define BLOCKPROCESSOR_H_

#include <llvm/Module.h>
#include <llvm/Function.h>
#include <llvm/Instructions.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/Function.h>
#include <llvm/IR/Instructions.h>

#include <KernelDataFlow/Graph.h>

Expand Down
2 changes: 1 addition & 1 deletion include/KernelDataFlow/GraphProperties.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#ifndef GRAPH_PROPERTIES_H
#define GRAPH_PROPERTIES_H

#include <llvm/BasicBlock.h>
#include <llvm/IR/BasicBlock.h>

#include <string>
#include <memory>
Expand Down
6 changes: 3 additions & 3 deletions include/KernelDataFlow/KernelDataFlow.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
#define KERNEL_DATA_FLOW_H

#include <llvm/Pass.h>
#include <llvm/Module.h>
#include <llvm/Type.h>
#include <llvm/Constants.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/Type.h>
#include <llvm/IR/Constants.h>

#include <set>
#include <map>
Expand Down
1 change: 1 addition & 0 deletions src/BlockProcessor/AnalyzeOperandValue.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

#include <KernelDataFlow/BlockProcessor/BlockProcessor.h>

#include <llvm/IR/Constants.h>
#include <llvm/Support/raw_ostream.h>
#include <sstream>

Expand Down