clang 24.0.0git
CIRPasses.cpp File Reference
#include "mlir/IR/BuiltinOps.h"
#include "mlir/Pass/PassManager.h"
#include "clang/AST/ASTContext.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/CIR/Dialect/Passes.h"
#include "llvm/Support/TimeProfiler.h"
#include "llvm/TargetParser/Triple.h"

Go to the source code of this file.

Namespaces

namespace  cir
namespace  mlir

Functions

static CallConvTarget cir::getCallConvTarget (const llvm::Triple &triple)
 Map a target triple to the ABI target that drives CallConvLowering.
static llvm::abi::X86AVXABILevel cir::getX86AVXABILevel (llvm::StringRef abi)
 The AVX level the classifier uses to size a native vector, read from the target ABI name.
static bool cir::allowsX86TargetAttrAvx (const clang::ASTContext &astContext)
 Whether __attribute__((target(...))) on a function may raise its AVX ABI level above the command line's.
static llvm::abi::ABICompatInfo cir::getX86ABICompatInfo (const clang::ASTContext &astContext)
 The x86_64 ABI-compatibility flags, derived from the target and the requested compatibility version.
mlir::LogicalResult cir::runCIRToCIRPasses (mlir::ModuleOp theModule, mlir::MLIRContext &mlirCtx, clang::ASTContext &astCtx, bool enableVerifier, bool enableIdiomRecognizer, bool enableCIRSimplify, bool enableLibOpt, llvm::StringRef libOptOptions, bool enableCallConvLowering)
void mlir::populateCIRPreLoweringPasses (OpPassManager &pm)