blob: be080a4d29d73d49cd81d320d5e01850e2f40f3b [file] [log] [blame]
//===--- LoweringOptions.def - Lowering options database ---------- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
///
/// \file
/// This file defines the lowering options. Users of this file must define
/// LOWERINGOPT macro to make use of this information.
///
//===----------------------------------------------------------------------===//
#ifndef LOWERINGOPT
# error Define the LOWERINGOPT macro to handle lowering options
#endif
#ifndef ENUM_LOWERINGOPT
# define ENUM_LOWERINGOPT(Name, Type, Bits, Default) \
LOWERINGOPT(Name, Bits, Default)
#endif
/// If true, lower transpose without a runtime call.
ENUM_LOWERINGOPT(OptimizeTranspose, unsigned, 1, 1)
/// If true, lower to High level FIR before lowering to FIR. On by default.
ENUM_LOWERINGOPT(LowerToHighLevelFIR, unsigned, 1, 1)
/// If true, reverse PowerPC native vector element order.
ENUM_LOWERINGOPT(NoPPCNativeVecElemOrder, unsigned, 1, 0)
/// If true, assume external names will be suffixed with an underscore.
/// On by default.
ENUM_LOWERINGOPT(Underscoring, unsigned, 1, 1)
#undef LOWERINGOPT
#undef ENUM_LOWERINGOPT