Tensor Comprehensions
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
options.h
Go to the documentation of this file.
1 
16 #pragma once
17 
18 #include "tc/external/isl.h"
19 
20 namespace tc {
21 namespace polyhedral {
22 
23 // Make these powers of 2 so that
24 // we can mask and add in a single argument
25 enum struct TileOptions : int {
26  None = 0,
27  ShiftPointLoops = 1,
28  ScaleTileLoops = 2,
29  Sentinel = 4 // Use this as next and do *= 2
30 };
31 bool operator&(TileOptions actual, TileOptions wanted);
32 TileOptions operator|(TileOptions actual, TileOptions wanted);
33 
34 // Apply TileOptions to ISL options associated with the context
35 void applyTileOptions(isl::ctx& ctx, TileOptions options);
36 
37 } // namespace polyhedral
38 } // namespace tc