If "These should be used only by the auto-parallelization pass", we might as
[oota-llvm.git] / lib / Transforms / IPO / Cilkifier.h
1 //===- Cilkifier.h - Support routines for Cilk code generation --*- C++ -*-===//
2 //
3 // This is located here so that the code generator (dis) does not have to
4 // include and link with the libtipo.a archive containing class Cilkifier
5 // and the rest of the automatic parallelization code.
6 //===----------------------------------------------------------------------===//
7
8 #ifndef LLVM_SUPPORT_CILKIFIER_H
9 #define LLVM_SUPPORT_CILKIFIER_H
10
11 #include <string>
12 class Function;
13 class CallInst;
14
15
16 //---------------------------------------------------------------------------- 
17 // Global constants used in marking Cilk functions and function calls.
18 // These should be used only by the auto-parallelization pass.
19 //---------------------------------------------------------------------------- 
20
21 extern const std::string  CilkSuffix;
22 extern const std::string  DummySyncFuncName;
23
24 //---------------------------------------------------------------------------- 
25 // Routines to identify Cilk functions, calls to Cilk functions, and syncs.
26 //---------------------------------------------------------------------------- 
27
28 extern bool  isCilk     (const Function& F);
29 extern bool  isCilkMain (const Function& F);
30 extern bool  isCilk     (const CallInst& CI);
31 extern bool  isSync     (const CallInst& CI);
32
33 //===----------------------------------------------------------------------===//
34
35 #endif