mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-15 01:37:53 +00:00
![Vikram S. Adve](/assets/img/avatar_default.png)
Cilk multi-threaded runtime system to execute parallel code. This file exposes some routines needed for code generation for that pass. llvm-svn: 4961
27 lines
1.0 KiB
C++
27 lines
1.0 KiB
C++
//===- 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
|