• Home
  • Raw
  • Download

Lines Matching full:llvm

26 #include <llvm-c/Core.h>
27 #include <llvm/Analysis/TargetLibraryInfo.h>
28 #include <llvm/IR/IRBuilder.h>
29 #include <llvm/IR/LegacyPassManager.h>
30 #include <llvm/Target/TargetMachine.h>
31 #include <llvm/Transforms/IPO.h>
36 * The LLVM headers need to all be included before any Mesa header,
48 llvm::Argument *A = llvm::unwrap<llvm::Argument>(val); in ac_add_attr_dereferenceable()
49 A->addAttr(llvm::Attribute::getWithDereferenceableBytes(A->getContext(), bytes)); in ac_add_attr_dereferenceable()
54 llvm::Argument *A = llvm::unwrap<llvm::Argument>(val); in ac_add_attr_alignment()
55 A->addAttr(llvm::Attribute::getWithAlignment(A->getContext(), llvm::Align(bytes))); in ac_add_attr_alignment()
60 llvm::Argument *A = llvm::unwrap<llvm::Argument>(arg); in ac_is_sgpr_param()
61 llvm::AttributeList AS = A->getParent()->getAttributes(); in ac_is_sgpr_param()
63 return AS.hasParamAttr(ArgNo, llvm::Attribute::InReg); in ac_is_sgpr_param()
78 llvm::TargetMachine *TM = reinterpret_cast<llvm::TargetMachine *>(tm); in ac_create_module()
81 llvm::unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple()); in ac_create_module()
82 llvm::unwrap(module)->setDataLayout(TM->createDataLayout()); in ac_create_module()
90 llvm::FastMathFlags flags; in ac_create_builder()
108 llvm::unwrap(builder)->setFastMathFlags(flags); in ac_create_builder()
118 auto *b = llvm::unwrap(ctx->builder); in ac_enable_signed_zeros()
119 llvm::FastMathFlags flags = b->getFastMathFlags(); in ac_enable_signed_zeros()
132 auto *b = llvm::unwrap(ctx->builder); in ac_disable_signed_zeros()
133 llvm::FastMathFlags flags = b->getFastMathFlags(); in ac_disable_signed_zeros()
143 new llvm::TargetLibraryInfoImpl(llvm::Triple(triple))); in ac_create_target_library_info()
148 delete reinterpret_cast<llvm::TargetLibraryInfoImpl *>(library_info); in ac_dispose_target_library_info()
153 struct raw_memory_ostream : public llvm::raw_pwrite_stream {
215 /* The LLVM compiler is represented as a pass manager containing passes for
220 llvm::legacy::PassManager passmgr; /* list of passes */
229 llvm::TargetMachine *TM = reinterpret_cast<llvm::TargetMachine *>(tm); in ac_create_llvm_passes()
232 llvm::CGFT_ObjectFile)) { in ac_create_llvm_passes()
249 p->passmgr.run(*llvm::unwrap(module)); in ac_compile_module_to_elf()
256 llvm::unwrap(passmgr)->add(llvm::createBarrierNoopPass()); in ac_llvm_add_barrier_noop_pass()
261 reinterpret_cast<llvm::TargetMachine *>(tm)->setGlobalISel(true); in ac_enable_global_isel()
267 llvm::AtomicRMWInst::BinOp binop; in ac_build_atomic_rmw()
270 binop = llvm::AtomicRMWInst::Xchg; in ac_build_atomic_rmw()
273 binop = llvm::AtomicRMWInst::Add; in ac_build_atomic_rmw()
276 binop = llvm::AtomicRMWInst::Sub; in ac_build_atomic_rmw()
279 binop = llvm::AtomicRMWInst::And; in ac_build_atomic_rmw()
282 binop = llvm::AtomicRMWInst::Nand; in ac_build_atomic_rmw()
285 binop = llvm::AtomicRMWInst::Or; in ac_build_atomic_rmw()
288 binop = llvm::AtomicRMWInst::Xor; in ac_build_atomic_rmw()
291 binop = llvm::AtomicRMWInst::Max; in ac_build_atomic_rmw()
294 binop = llvm::AtomicRMWInst::Min; in ac_build_atomic_rmw()
297 binop = llvm::AtomicRMWInst::UMax; in ac_build_atomic_rmw()
300 binop = llvm::AtomicRMWInst::UMin; in ac_build_atomic_rmw()
303 binop = llvm::AtomicRMWInst::FAdd; in ac_build_atomic_rmw()
309 unsigned SSID = llvm::unwrap(ctx->context)->getOrInsertSyncScopeID(sync_scope); in ac_build_atomic_rmw()
310 return llvm::wrap(llvm::unwrap(ctx->builder) in ac_build_atomic_rmw()
311 ->CreateAtomicRMW(binop, llvm::unwrap(ptr), llvm::unwrap(val), in ac_build_atomic_rmw()
313 llvm::MaybeAlign(0), in ac_build_atomic_rmw()
315 llvm::AtomicOrdering::SequentiallyConsistent, SSID)); in ac_build_atomic_rmw()
321 unsigned SSID = llvm::unwrap(ctx->context)->getOrInsertSyncScopeID(sync_scope); in ac_build_atomic_cmp_xchg()
322 return llvm::wrap(llvm::unwrap(ctx->builder) in ac_build_atomic_cmp_xchg()
323 ->CreateAtomicCmpXchg(llvm::unwrap(ptr), llvm::unwrap(cmp), in ac_build_atomic_cmp_xchg()
324 llvm::unwrap(val), in ac_build_atomic_cmp_xchg()
326 llvm::MaybeAlign(0), in ac_build_atomic_cmp_xchg()
328 llvm::AtomicOrdering::SequentiallyConsistent, in ac_build_atomic_cmp_xchg()
329 llvm::AtomicOrdering::SequentiallyConsistent, SSID)); in ac_build_atomic_cmp_xchg()