IR_CJUMP0/1 no longer used/needed
authorBrian <brian@yutani.localnet.net>
Thu, 8 Mar 2007 18:16:13 +0000 (11:16 -0700)
committerBrian <brian@yutani.localnet.net>
Thu, 8 Mar 2007 18:16:13 +0000 (11:16 -0700)
src/mesa/shader/slang/slang_emit.c
src/mesa/shader/slang/slang_ir.h

index 1d18929..f07ad66 100644 (file)
@@ -122,8 +122,6 @@ static const slang_ir_info IrInfo[] = {
    { IR_SCOPE, "IR_SCOPE", OPCODE_NOP, 0, 0 },
    { IR_LABEL, "IR_LABEL", OPCODE_NOP, 0, 0 },
    { IR_JUMP, "IR_JUMP", OPCODE_NOP, 0, 0 },
-   { IR_CJUMP0, "IR_CJUMP0", OPCODE_NOP, 0, 0 },
-   { IR_CJUMP1, "IR_CJUMP1", OPCODE_NOP, 0, 0 },
    { IR_IF, "IR_IF", OPCODE_NOP, 0, 0 },
    { IR_KILL, "IR_KILL", OPCODE_NOP, 0, 0 },
    { IR_COND, "IR_COND", OPCODE_NOP, 0, 0 },
@@ -303,14 +301,6 @@ slang_print_ir(const slang_ir_node *n, int indent)
    case IR_JUMP:
       printf("JUMP %s\n", n->Label->Name);
       break;
-   case IR_CJUMP0:
-      printf("CJUMP0 %s\n", n->Label->Name);
-      slang_print_ir(n->Children[0], indent+3);
-      break;
-   case IR_CJUMP1:
-      printf("CJUMP1 %s\n", n->Label->Name);
-      slang_print_ir(n->Children[0], indent+3);
-      break;
 
    case IR_IF:
       printf("IF \n");
@@ -877,25 +867,6 @@ emit_label(slang_emit_info *emitInfo, const slang_ir_node *n)
 
 
 static struct prog_instruction *
-emit_cjump(slang_emit_info *emitInfo, slang_ir_node *n, GLuint zeroOrOne)
-{
-   struct prog_instruction *inst;
-   assert(n->Opcode == IR_CJUMP0 || n->Opcode == IR_CJUMP1);
-   inst = new_instruction(emitInfo, OPCODE_BRA);
-   if (zeroOrOne)
-      inst->DstReg.CondMask = COND_NE;  /* branch if non-zero */
-   else
-      inst->DstReg.CondMask = COND_EQ;  /* branch if equal to zero */
-   inst->DstReg.CondSwizzle = SWIZZLE_X;
-   inst->BranchTarget = _slang_label_get_location(n->Label);
-   if (inst->BranchTarget < 0) {
-      _slang_label_add_reference(n->Label, emitInfo->prog->NumInstructions - 1);
-   }
-   return inst;
-}
-
-
-static struct prog_instruction *
 emit_jump(slang_emit_info *emitInfo, slang_ir_node *n)
 {
    struct prog_instruction *inst;
@@ -1039,7 +1010,7 @@ emit_cond(slang_emit_info *emitInfo, slang_ir_node *n)
 {
    /* Conditional expression (in if/while/for stmts).
     * Need to update condition code register.
-    * Next instruction is typically an IR_CJUMP0/1.
+    * Next instruction is typically an IR_IF.
     */
    /* last child expr instruction: */
    struct prog_instruction *inst = emit(emitInfo, n->Children[0]);
@@ -1560,10 +1531,6 @@ emit(slang_emit_info *emitInfo, slang_ir_node *n)
       assert(n);
       assert(n->Label);
       return emit_jump(emitInfo, n);
-   case IR_CJUMP0:
-      return emit_cjump(emitInfo, n, 0);
-   case IR_CJUMP1:
-      return emit_cjump(emitInfo, n, 1);
    case IR_KILL:
       return emit_kill(emitInfo);
 
index cd1f606..d2985ea 100644 (file)
@@ -50,8 +50,6 @@ typedef enum
 
    IR_LABEL,   /* target of a jump or cjump */
    IR_JUMP,    /* unconditional jump */
-   IR_CJUMP0,  /* conditional jump if zero */
-   IR_CJUMP1,  /* conditional jump if one (or non-zero) */
    IR_COND,    /* conditional expression/predicate */
 
    IR_IF,      /* high-level IF/then/else */