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