/* This file is part of the sirit project. * Copyright (c) 2018 ReinUsesLisp * This software may be used and distributed according to the terms of the GNU * Lesser General Public License version 2.1 or any later version. */ #include #include "sirit/sirit.h" #include "insts.h" namespace Sirit { Ref Module::ConstantTrue(Ref result_type) { return AddDeclaration(new Op(spv::Op::OpConstantTrue, bound, result_type)); } Ref Module::ConstantFalse(Ref result_type) { return AddDeclaration(new Op(spv::Op::OpConstantFalse, bound, result_type)); } Ref Module::Constant(Ref result_type, Operand* literal) { Op* op{new Op(spv::Op::OpConstant, bound, result_type)}; op->Add(literal); return AddDeclaration(op); } Ref Module::ConstantComposite(Ref result_type, const std::vector& constituents) { Op* op{new Op(spv::Op::OpConstantComposite, bound, result_type)}; op->Add(constituents); return AddDeclaration(op); } } // namespace Sirit