blob: 558ac95810ff207706292fb54f2cc13e484dd99b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include "cps/BooleanHandler.h"
using namespace llvm;
using namespace cps;
void BooleanHandler::emitDeclare(const std::string &Name) {
Function *TheFunction = Builder.GetInsertBlock()->getParent();
IRBuilder<> TmpB(&TheFunction->getEntryBlock(), TheFunction->getEntryBlock().begin());
AllocaInst *Alloca = TmpB.CreateAlloca(Type::getInt1Ty(Context), nullptr, Name);
Builder.CreateStore(ConstantInt::get(Context, APInt(1, 0)), Alloca);
NamedValues[Name] = Alloca;
}
Value *BooleanHandler::createLiteral(bool Val) {
return ConstantInt::get(Context, APInt(1, Val ? 1 : 0));
}
|