Lines Matching refs:llvm
31 #include "llvm/compat.hpp"
35 #include <llvm/Config/llvm-config.h>
36 #include <llvm/IR/Constants.h>
37 #include <llvm/IR/Module.h>
38 #include <llvm/IR/Metadata.h>
41 namespace llvm {
44 is_kernel(const ::llvm::Function &f) {
48 inline iterator_range< ::llvm::MDNode::op_iterator>
49 get_kernel_metadata_operands(const ::llvm::Function &f,
55 return iterator_range< ::llvm::MDNode::op_iterator>();
63 get_str_kernel_metadata(const ::llvm::Function &f,
67 return ::llvm::cast< ::llvm::MDString>(
79 get_uint_vector_kernel_metadata(const ::llvm::Function &f,
83 return map([=](const ::llvm::MDOperand& o) {
84 auto value = ::llvm::cast< ::llvm::ConstantAsMetadata>(o)
86 return ::llvm::cast< ::llvm::ConstantInt>(value)
98 get_type_kernel_metadata(const ::llvm::Function &f,
102 auto value = ::llvm::cast< ::llvm::ConstantAsMetadata>(operands[0])
104 auto type = ::llvm::cast< ::llvm::UndefValue>(value)
107 value = ::llvm::cast< ::llvm::ConstantAsMetadata>(operands[1])
109 bool is_signed = ::llvm::cast< ::llvm::ConstantInt>(value)
138 ::llvm::raw_string_ostream os { data };
154 get_str_argument_metadata(const ::llvm::Function &f,
155 const ::llvm::Argument &arg,
159 return ::llvm::cast< ::llvm::MDString>(operands[arg.getArgNo()])
171 get_uint_argument_metadata(const ::llvm::Function &f,
172 const ::llvm::Argument &arg,
176 auto meta_arg_value = ::llvm::cast< ::llvm::ConstantAsMetadata>(
178 return ::llvm::cast< ::llvm::ConstantInt>(meta_arg_value)
189 inline std::vector<const ::llvm::Function *>
190 get_kernels(const ::llvm::Module &mod) {
191 std::vector<const ::llvm::Function *> fs;