Skip to content

Commit 76fad39

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/master'
2 parents 3357b27 + 700295a commit 76fad39

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

llvm-node.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,8 @@ declare namespace llvm {
694694

695695
createURem(lhs: Value, rhs: Value, name?: string): Value;
696696

697+
createUnreachable(): Value;
698+
697699
createZExt(value: Value, destType: Type, name?: string): Value;
698700

699701
createZExtOrTrunc(value: Value, destType: Type, name?: string): Value;

src/ir/ir-builder.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ NAN_MODULE_INIT(IRBuilderWrapper::Init) {
136136
Nan::SetPrototypeMethod(functionTemplate, "createSIToFP", &IRBuilderWrapper::ConvertOperation<&llvm::IRBuilder<>::CreateSIToFP>);
137137
Nan::SetPrototypeMethod(functionTemplate, "createUDiv", &NANBinaryOperation<&ToBinaryOp<&llvm::IRBuilder<>::CreateUDiv>>);
138138
Nan::SetPrototypeMethod(functionTemplate, "createURem", &NANBinaryOperation<&ToBinaryOp<&llvm::IRBuilder<>::CreateURem>>);
139+
Nan::SetPrototypeMethod(functionTemplate, "createUnreachable", IRBuilderWrapper::CreateUnreachable);
139140
Nan::SetPrototypeMethod(functionTemplate, "createUIToFP", &IRBuilderWrapper::ConvertOperation<&llvm::IRBuilder<>::CreateUIToFP>);
140141
Nan::SetPrototypeMethod(functionTemplate, "createStore", IRBuilderWrapper::CreateStore);
141142
Nan::SetPrototypeMethod(functionTemplate, "createZExt", IRBuilderWrapper::ConvertOperation<&llvm::IRBuilder<>::CreateZExt>);
@@ -641,6 +642,12 @@ NAN_METHOD(IRBuilderWrapper::CreateRetVoid) {
641642
info.GetReturnValue().Set(ValueWrapper::of(returnInstruction));
642643
}
643644

645+
NAN_METHOD(IRBuilderWrapper::CreateUnreachable) {
646+
auto& builder = IRBuilderWrapper::FromValue(info.Holder())->irBuilder;
647+
auto* returnInstruction = builder.CreateUnreachable();
648+
info.GetReturnValue().Set(ValueWrapper::of(returnInstruction));
649+
}
650+
644651
NAN_METHOD(IRBuilderWrapper::CreateSelect) {
645652
if (info.Length() < 3 || !ValueWrapper::isInstance(info[0]) || !ValueWrapper::isInstance(info[1]) || !ValueWrapper::isInstance(info[2]) ||
646653
(info.Length() == 4 && !(info[3]->IsString() || info[3]->IsUndefined())) ||

src/ir/ir-builder.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ class IRBuilderWrapper: public Nan::ObjectWrap, public FromValueMixin<IRBuilderW
5353
static NAN_METHOD(CreatePhi);
5454
static NAN_METHOD(CreateRet);
5555
static NAN_METHOD(CreateRetVoid);
56+
static NAN_METHOD(CreateUnreachable);
5657
static NAN_METHOD(CreateSelect);
5758
static NAN_METHOD(CreateStore);
5859
static NAN_METHOD(GetInsertBlock);

0 commit comments

Comments
 (0)