<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -16,8 +16,6 @@ VALUE cLLVMInstruction = Qnil;
 VALUE cLLVMTerminatorInst = Qnil;
 VALUE cLLVMUnaryOperator = Qnil;
 VALUE cLLVMBinaryOperator = Qnil;
-VALUE cLLVMLoadInst = Qnil;
-VALUE cLLVMStoreInst = Qnil;
 VALUE cLLVMCmpInst = Qnil;
 VALUE cLLVMICmpInst = Qnil;
 VALUE cLLVMFCmpInst = Qnil;
@@ -29,6 +27,7 @@ VALUE cLLVMPassManager = Qnil;
 VALUE cLLVMExecutionEngine = Qnil;
 
 #define HANDLE_TERM_INST(Num, Opcode, Klass) VALUE cLLVM##Klass;
+#define HANDLE_MEMORY_INST(Num, Opcode, Klass) VALUE cLLVM##Klass;
 #include &quot;llvm/Instruction.def&quot;
 
 void init_types();
@@ -148,18 +147,18 @@ void Init_llvmruby() {
   cLLVMInstruction = rb_define_class_under(cLLVMRuby, &quot;Instruction&quot;, cLLVMValue);
   cLLVMUnaryOperator = rb_define_class_under(cLLVMRuby, &quot;UnaryOperator&quot;, cLLVMInstruction);
   cLLVMBinaryOperator = rb_define_class_under(cLLVMRuby, &quot;BinaryOperator&quot;, cLLVMInstruction);
-  cLLVMLoadInst = rb_define_class_under(cLLVMRuby, &quot;LoadInst&quot;, cLLVMUnaryOperator);
-  cLLVMStoreInst = rb_define_class_under(cLLVMRuby, &quot;BinaryOperator&quot;, cLLVMInstruction);
-  cLLVMCmpInst = rb_define_class_under(cLLVMRuby, &quot;CmpInst&quot;, cLLVMInstruction);
-  cLLVMICmpInst = rb_define_class_under(cLLVMRuby, &quot;ICmpInst&quot;, cLLVMCmpInst);
-  cLLVMFCmpInst = rb_define_class_under(cLLVMRuby, &quot;FCmpInst&quot;, cLLVMCmpInst);
   cLLVMTerminatorInst = rb_define_class_under(cLLVMRuby, &quot;TerminatorInst&quot;, cLLVMInstruction);
-  cLLVMReturnInst = rb_define_class_under(cLLVMRuby, &quot;ReturnInst&quot;, cLLVMTerminatorInst);
-  cLLVMBranchInst = rb_define_class_under(cLLVMRuby, &quot;BranchInst&quot;, cLLVMTerminatorInst);
-  cLLVMSwitchInst = rb_define_class_under(cLLVMRuby, &quot;SwitchInst&quot;, cLLVMTerminatorInst);
   cLLVMAllocationInst = rb_define_class_under(cLLVMRuby, &quot;AllocationInst&quot;, cLLVMInstruction);
   cLLVMFreeInst = rb_define_class_under(cLLVMRuby, &quot;FreeInst&quot;, cLLVMInstruction);
   cLLVMBinaryOps = rb_define_class_under(cLLVMInstruction, &quot;BinaryOps&quot;, rb_cObject);
+
+  #define HANDLE_TERM_INST(Num, Opcode, Klass) cLLVM##Klass = rb_define_class_under(cLLVMRuby, #Klass, cLLVMTerminatorInst);
+  #define HANDLE_MEMORY_INST(Num, Opcode, Klass) cLLVM##Klass = rb_define_class_under(cLLVMRuby, #Klass, cLLVMInstruction);
+  #include &quot;llvm/Instruction.def&quot;
+
+  cLLVMCmpInst = rb_define_class_under(cLLVMRuby, &quot;CmpInst&quot;, cLLVMInstruction);
+  cLLVMICmpInst = rb_define_class_under(cLLVMRuby, &quot;ICmpInst&quot;, cLLVMCmpInst);
+  cLLVMFCmpInst = rb_define_class_under(cLLVMRuby, &quot;FCmpInst&quot;, cLLVMCmpInst);
   cLLVMPhi = rb_define_class_under(cLLVMRuby, &quot;Phi&quot;, cLLVMValue);
 
   cLLVMPassManager = rb_define_class_under(cLLVMRuby, &quot;PassManager&quot;, rb_cObject);</diff>
      <filename>ext/llvmruby.c</filename>
    </modified>
    <modified>
      <diff>@@ -33,16 +33,17 @@ extern VALUE cLLVMVectorType;
 extern VALUE cLLVMFunctionType;
 extern VALUE cLLVMInstruction;
 extern VALUE cLLVMBinaryOperator;
+extern VALUE cLLVMAllocationInst;
 
 #define HANDLE_TERM_INST(Num, Opcode, Klass) extern VALUE cLLVM##Klass;
+#define HANDLE_MEMORY_INST(Num, Opcode, Klass) extern VALUE cLLVM##Klass;
+#define HANDLE_OTHER_INST(Num, Opcode, Klass) extern VALUE cLLVM##Klass;
 #include &quot;llvm/Instruction.def&quot;
 
 extern VALUE cLLVMBinaryOps;
 extern VALUE cLLVMPhi;
 extern VALUE cLLVMPassManager;
 
-
-
 #define LLVM_VAL(obj) ((Value*)DATA_PTR(obj))
 #define LLVM_TYPE(obj) ((Type*)DATA_PTR(obj))
 #define LLVM_FUNC_TYPE(obj) ((FunctionType*)DATA_PTR(obj))</diff>
      <filename>ext/llvmruby.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>799f27a8b33a6a96760d808784b3e34ba624fe4c</id>
    </parent>
  </parents>
  <author>
    <name>Tom Bagby</name>
    <email>tomatobagby@gmail.com</email>
  </author>
  <url>http://github.com/tombagby/llvmruby/commit/6746bcc66b86538abce38da8a60e1448e26cf6fb</url>
  <id>6746bcc66b86538abce38da8a60e1448e26cf6fb</id>
  <committed-date>2008-10-19T18:37:12-07:00</committed-date>
  <authored-date>2008-10-19T18:37:12-07:00</authored-date>
  <message>hooking up more instruction classes, cleaning things up</message>
  <tree>ae294abde563cae0eb2ecc32537e434f668d61f0</tree>
  <committer>
    <name>Tom Bagby</name>
    <email>tomatobagby@gmail.com</email>
  </committer>
</commit>
