source: icGREP/icgrep-devel/icgrep/re/re_toolchain.h @ 5646

Last change on this file since 5646 was 5646, checked in by nmedfort, 21 months ago

Minor clean up. Bug fix for object cache when the same cached kernel is used twice in a single run. Improvement to RE Minimizer.

File size: 1.0 KB
Line 
1/*
2 *  Copyright (c) 2016 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 *  icgrep is a trademark of International Characters.
5 */
6
7#ifndef RE_TOOLCHAIN_H
8#define RE_TOOLCHAIN_H
9#include <llvm/Support/Compiler.h>
10namespace llvm { namespace cl { class OptionCategory; } }
11namespace pablo { class PabloKernel; class PabloAST; }
12namespace re { class RE; }
13
14namespace re {
15
16enum RE_PrintFlags {
17    ShowREs, ShowAllREs, ShowStrippedREs, ShowSimplifiedREs
18};
19   
20enum RE_AlgorithmFlags {
21    DisableLog2BoundedRepetition, DisableIfHierarchy, DisableMatchStar, DisableUnicodeMatchStar, 
22    DisableUnicodeLineBreak, UsePregeneratedUnicode
23};
24   
25bool AlgorithmOptionIsSet(RE_AlgorithmFlags flag);
26   
27extern int IfInsertionGap;
28
29const llvm::cl::OptionCategory * re_toolchain_flags();
30
31RE * regular_expression_passes(RE * re_ast) LLVM_ATTRIBUTE_UNUSED_RESULT;
32
33pablo::PabloAST * re2pablo_compiler(pablo::PabloKernel * kernel, RE * re_ast) LLVM_ATTRIBUTE_UNUSED_RESULT;
34   
35}
36#endif
Note: See TracBrowser for help on using the repository browser.