1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_LIB_TRANSFORMS_SCALAR_SCALAROPTIONS_H
10#define LLVM_LIB_TRANSFORMS_SCALAR_SCALAROPTIONS_H
11
12#include "llvm/Analysis/TargetTransformInfo.h"
13#include "llvm/Transforms/Utils/LoopUtils.h"
14#include <limits>
15#include <optional>
16
17namespace llvm {
18enum class CRCStrategyKind { Disable, Auto, Table, Clmul };
19enum class LoopInterchangeRule {
20 PerLoopCacheAnalysis,
21 PerInstrOrderCost,
22 ForVectorization,
23 Ignore
24};
25enum class MatrixLayoutTy { ColumnMajor, RowMajor };
26} // namespace llvm
27
28#define OPTIONS_STRUCT_DECL
29#include "ScalarOptions.inc"
30
31#endif // LLVM_LIB_TRANSFORMS_SCALAR_SCALAROPTIONS_H
32