Goose  Artifact [36cd623520]

Artifact 36cd6235208822aebc5802fa92f8d7729d1c0ba676a85ec020b6fbc62ff95a00:

  • File bs/codegen/binaryops.cpp — part of check-in [5ec364bc88] at 2019-07-31 23:27:53 on branch trunk — llr, execute, codegen: implemented the Xor instruction. (user: achavasse size: 465)

#include "codegen.h"
#include "builtins/builtins.h"

using namespace empathy;
using namespace empathy::codegen;
using namespace empathy::builtins;

llvm::Value* Module::buildInstruction( const Context& c, FuncInfos& fi, const llr::Xor& bo )
{
    auto lhs = buildValue( c, fi, bo.lhs() );
    if( !lhs )
        return nullptr;

    auto rhs = buildValue( c, fi, bo.rhs() );
    if( !rhs )
        return nullptr;

    return m_llvmBuilder.CreateXor( lhs, rhs );
}