OmniSciDB  04ee39c94c
LLVMFunctionAttributesUtil.cpp File Reference
+ Include dependency graph for LLVMFunctionAttributesUtil.cpp:

Go to the source code of this file.

Functions

void mark_function_always_inline (llvm::Function *func)
 
void mark_function_never_inline (llvm::Function *func)
 
void clear_function_attributes (llvm::Function *func)
 

Function Documentation

◆ clear_function_attributes()

void clear_function_attributes ( llvm::Function *  func)

Definition at line 48 of file LLVMFunctionAttributesUtil.cpp.

Referenced by CodeGenerator::generateNativeGPUCode().

48  {
49  llvm::AttributeSet no_attributes;
50  func->setAttributes(no_attributes);
51 }
+ Here is the caller graph for this function:

◆ mark_function_always_inline()

void mark_function_always_inline ( llvm::Function *  func)

Definition at line 36 of file LLVMFunctionAttributesUtil.cpp.

Referenced by GroupByAndAggregate::codegenPerfectHashFunction(), Executor::compileWorkUnit(), Executor::inlineHoistedLiterals(), anonymous_namespace{ResultSetReductionJIT.cpp}::setup_is_empty_entry(), anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_one_entry(), and anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_one_entry_idx().

36  {
37  func->addAttribute(llvm::AttributeSet::AttrIndex::FunctionIndex,
38  llvm::Attribute::AlwaysInline);
39 }
+ Here is the caller graph for this function:

◆ mark_function_never_inline()

void mark_function_never_inline ( llvm::Function *  func)

Definition at line 41 of file LLVMFunctionAttributesUtil.cpp.

Referenced by Executor::optimizeAndCodegenGPU().

41  {
42  llvm::AttributeSet no_inline_attrs;
43  no_inline_attrs =
44  no_inline_attrs.addAttribute(func->getContext(), 0, llvm::Attribute::NoInline);
45  func->setAttributes(no_inline_attrs);
46 }
+ Here is the caller graph for this function: