aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2002-12-10 00:42:22 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2002-12-10 00:42:22 +0000
commitcd53170573a99a3daf9420b33f95a13c4fbd4e0c (patch)
tree45decf75712447551840daa63dee7b7806faa731
parent3dbbaff5ec5225e88a7c733102d07abecaef8f61 (diff)
The pass Parallelize automatically parallelizes a program using the
Cilk multi-threaded runtime system to execute parallel code. This file exposes some routines needed for code generation for that pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4961 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Transforms/Parallelize.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/llvm/Transforms/Parallelize.h b/include/llvm/Transforms/Parallelize.h
new file mode 100644
index 0000000000..94e49f12b5
--- /dev/null
+++ b/include/llvm/Transforms/Parallelize.h
@@ -0,0 +1,26 @@
+//===- Parallelize.h - Auto parallelization using DS Graphs -----*- C++ -*-===//
+//
+// Externally visible routines related to the IPO pass Parallelize in
+// lib/Transforms/IPO/Parallelize.cpp. That pass automatically parallelizes
+// a program using the Cilk multi-threaded runtime system to execute
+// parallel code. The routines here are used only to identify functions
+// marked as Cilk operations.
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TRANSFORMS_PARALLELIZE_H
+#define LLVM_TRANSFORMS_PARALLELIZE_H
+
+class Function;
+class CallInst;
+
+//----------------------------------------------------------------------------
+// Routines to identify Cilk functions, calls to Cilk functions, and syncs.
+//----------------------------------------------------------------------------
+
+extern bool isCilk(const Function& F);
+extern bool isCilk(const CallInst& CI);
+extern bool isSync(const CallInst& CI);
+
+//===----------------------------------------------------------------------===//
+
+#endif