0
@@ -16,8 +16,6 @@ VALUE cLLVMInstruction = Qnil;
0
VALUE cLLVMTerminatorInst = Qnil;
0
VALUE cLLVMUnaryOperator = Qnil;
0
VALUE cLLVMBinaryOperator = Qnil;
0
-VALUE cLLVMLoadInst = Qnil;
0
-VALUE cLLVMStoreInst = Qnil;
0
VALUE cLLVMCmpInst = Qnil;
0
VALUE cLLVMICmpInst = Qnil;
0
VALUE cLLVMFCmpInst = Qnil;
0
@@ -29,6 +27,7 @@ VALUE cLLVMPassManager = Qnil;
0
VALUE cLLVMExecutionEngine = Qnil;
0
#define HANDLE_TERM_INST(Num, Opcode, Klass) VALUE cLLVM##Klass;
0
+#define HANDLE_MEMORY_INST(Num, Opcode, Klass) VALUE cLLVM##Klass;
0
#include "llvm/Instruction.def"
0
@@ -148,18 +147,18 @@ void Init_llvmruby() {
0
cLLVMInstruction = rb_define_class_under(cLLVMRuby, "Instruction", cLLVMValue);
0
cLLVMUnaryOperator = rb_define_class_under(cLLVMRuby, "UnaryOperator", cLLVMInstruction);
0
cLLVMBinaryOperator = rb_define_class_under(cLLVMRuby, "BinaryOperator", cLLVMInstruction);
0
- cLLVMLoadInst = rb_define_class_under(cLLVMRuby, "LoadInst", cLLVMUnaryOperator);
0
- cLLVMStoreInst = rb_define_class_under(cLLVMRuby, "BinaryOperator", cLLVMInstruction);
0
- cLLVMCmpInst = rb_define_class_under(cLLVMRuby, "CmpInst", cLLVMInstruction);
0
- cLLVMICmpInst = rb_define_class_under(cLLVMRuby, "ICmpInst", cLLVMCmpInst);
0
- cLLVMFCmpInst = rb_define_class_under(cLLVMRuby, "FCmpInst", cLLVMCmpInst);
0
cLLVMTerminatorInst = rb_define_class_under(cLLVMRuby, "TerminatorInst", cLLVMInstruction);
0
- cLLVMReturnInst = rb_define_class_under(cLLVMRuby, "ReturnInst", cLLVMTerminatorInst);
0
- cLLVMBranchInst = rb_define_class_under(cLLVMRuby, "BranchInst", cLLVMTerminatorInst);
0
- cLLVMSwitchInst = rb_define_class_under(cLLVMRuby, "SwitchInst", cLLVMTerminatorInst);
0
cLLVMAllocationInst = rb_define_class_under(cLLVMRuby, "AllocationInst", cLLVMInstruction);
0
cLLVMFreeInst = rb_define_class_under(cLLVMRuby, "FreeInst", cLLVMInstruction);
0
cLLVMBinaryOps = rb_define_class_under(cLLVMInstruction, "BinaryOps", rb_cObject);
0
+ #define HANDLE_TERM_INST(Num, Opcode, Klass) cLLVM##Klass = rb_define_class_under(cLLVMRuby, #Klass, cLLVMTerminatorInst);
0
+ #define HANDLE_MEMORY_INST(Num, Opcode, Klass) cLLVM##Klass = rb_define_class_under(cLLVMRuby, #Klass, cLLVMInstruction);
0
+ #include "llvm/Instruction.def"
0
+ cLLVMCmpInst = rb_define_class_under(cLLVMRuby, "CmpInst", cLLVMInstruction);
0
+ cLLVMICmpInst = rb_define_class_under(cLLVMRuby, "ICmpInst", cLLVMCmpInst);
0
+ cLLVMFCmpInst = rb_define_class_under(cLLVMRuby, "FCmpInst", cLLVMCmpInst);
0
cLLVMPhi = rb_define_class_under(cLLVMRuby, "Phi", cLLVMValue);
0
cLLVMPassManager = rb_define_class_under(cLLVMRuby, "PassManager", rb_cObject);