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

Last change on this file since 5784 was 5784, checked in by cameron, 16 months ago

Restructuring step/tidy-up for re_passes

File size: 1.1 KB
RevLine 
[4984]1/*
[5030]2 *  Copyright (c) 2016 International Characters.
[4984]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
[5646]9#include <llvm/Support/Compiler.h>
[5267]10namespace llvm { namespace cl { class OptionCategory; } }
[5646]11namespace pablo { class PabloKernel; class PabloAST; }
[5784]12namespace re { class RE; class CC;}
13#include <vector>
[4984]14
[5030]15namespace re {
[4984]16
[5030]17enum RE_PrintFlags {
[5295]18    ShowREs, ShowAllREs, ShowStrippedREs, ShowSimplifiedREs
[5030]19};
20   
21enum RE_AlgorithmFlags {
22    DisableLog2BoundedRepetition, DisableIfHierarchy, DisableMatchStar, DisableUnicodeMatchStar, 
[5473]23    DisableUnicodeLineBreak, UsePregeneratedUnicode
[5030]24};
25   
26bool AlgorithmOptionIsSet(RE_AlgorithmFlags flag);
27   
28extern int IfInsertionGap;
[4984]29
[5217]30const llvm::cl::OptionCategory * re_toolchain_flags();
[5030]31
[5732]32RE * regular_expression_passes(RE * re_ast);
[5030]33
[5784]34std::pair<RE *, std::vector<re::CC *>> multiplexing_passes(RE * r);
35
[5732]36pablo::PabloAST * re2pablo_compiler(pablo::PabloKernel * kernel, RE * re_ast);
[5030]37   
38}
[4984]39#endif
Note: See TracBrowser for help on using the repository browser.