Files
gps/tools/local/circt/include/llvm/CodeGen/ExpandVectorPredication.h
T
2026-07-12 11:01:51 +03:00

37 lines
1.1 KiB
C++

//===-- ExpandVectorPredication.h - Expand vector predication ---*- 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
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_CODEGEN_EXPANDVECTORPREDICATION_H
#define LLVM_CODEGEN_EXPANDVECTORPREDICATION_H
#include "llvm/IR/PassManager.h"
namespace llvm {
class TargetTransformInfo;
class VPIntrinsic;
/// Represents the details the expansion of a VP intrinsic.
enum class VPExpansionDetails {
/// No change happened during expansion.
IntrinsicUnchanged,
/// At least one operand was updated.
IntrinsicUpdated,
/// The whole intrinsic was replaced.
IntrinsicReplaced,
};
/// Expand a vector predication intrinsic. Returns the kind of expansion
/// that was applied to the intrinsic.
LLVM_ABI VPExpansionDetails expandVectorPredicationIntrinsic(
VPIntrinsic &VPI, const TargetTransformInfo &TTI);
} // end namespace llvm
#endif // LLVM_CODEGEN_EXPANDVECTORPREDICATION_H