OpenASIP 2.2
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
LowerIntrinsics.cc File Reference
#include <CompilerWarnings.hh>
#include <llvm/Transforms/Scalar.h>
#include <llvm/Transforms/Utils/UnifyFunctionExitNodes.h>
#include <tce_config.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/Instructions.h>
#include <llvm/IR/Constants.h>
#include <llvm/IR/Intrinsics.h>
#include <llvm/IR/DerivedTypes.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/Support/Compiler.h>
#include <llvm/IR/Function.h>
#include <llvm/Pass.h>
#include <llvm/Passes/PassBuilder.h>
#include <llvm/Passes/PassPlugin.h>
#include <llvm/CodeGen/IntrinsicLowering.h>
#include <llvm/IR/DataLayout.h>
#include <iostream>
#include <set>
Include dependency graph for LowerIntrinsics.cc:

Go to the source code of this file.

Classes

class  LowerIntrinsics
 

Macros

#define DEBUG_TYPE   "lowerintrinsics"
 

Functions

llvm::PassPluginLibraryInfo getLowerIntrinsicsPluginInfo ()
 
LLVM_ATTRIBUTE_WEAK::llvm::PassPluginLibraryInfo llvmGetPassPluginInfo ()
 

Variables

POP_COMPILER_DIAGS typedef llvm::DataLayout TargetData
 

Detailed Description

Converts llvm intrinsics to libcalls.

Author
Veli-Pekka Jaaskelainen 2008 (vjaaskel-no.spam-cs.tut.fi)
Mikael Lepistö 2009 (mikael.lepisto-no.spam-tut.fi)
Joonas Multanen 2023 (joonas.multanen-no.spam-tuni.fi)

Definition in file LowerIntrinsics.cc.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "lowerintrinsics"

Definition at line 35 of file LowerIntrinsics.cc.

Function Documentation

◆ getLowerIntrinsicsPluginInfo()

llvm::PassPluginLibraryInfo getLowerIntrinsicsPluginInfo ( )

Definition at line 168 of file LowerIntrinsics.cc.

168 {
169 return {LLVM_PLUGIN_API_VERSION, "LowerIntrinsics", LLVM_VERSION_STRING,
170 [](PassBuilder &PB) {
171 PB.registerVectorizerStartEPCallback(
172 [](llvm::FunctionPassManager &PM, OptimizationLevel Level) {
173 PM.addPass(LowerIntrinsics());
174 });
175 PB.registerPipelineParsingCallback(
176 [](StringRef Name, llvm::FunctionPassManager &PM,
177 ArrayRef<llvm::PassBuilder::PipelineElement>) {
178 if (Name == "lowerintrinsic") {
179 PM.addPass(LowerIntrinsics());
180 return true;
181 }
182 return false;
183 });
184 }};
185}

Referenced by llvmGetPassPluginInfo().

◆ llvmGetPassPluginInfo()

LLVM_ATTRIBUTE_WEAK::llvm::PassPluginLibraryInfo llvmGetPassPluginInfo ( )

Definition at line 189 of file LowerIntrinsics.cc.

189 {
191}
llvm::PassPluginLibraryInfo getLowerIntrinsicsPluginInfo()

References getLowerIntrinsicsPluginInfo().

Here is the call graph for this function:

Variable Documentation

◆ TargetData

POP_COMPILER_DIAGS typedef llvm::DataLayout TargetData

Definition at line 60 of file LowerIntrinsics.cc.

Referenced by LowerIntrinsics::doInitialization().