Added LLVM copyright header.
[oota-llvm.git] / lib / Target / SparcV9 / SparcV9.burg.in
index 61ec4d7274879491f63d7f0406aa25ce245830f5..08cfbcc1e973b751e803b9f551b1575d10dc7523 100644 (file)
@@ -1,5 +1,5 @@
 %{               // -*- C++ -*-
-Xinclude <stdio.h>
+Xinclude <cstdio>
 Xinclude <llvm/CodeGen/InstrForest.h>
 
 typedef InstrTreeNode* NODEPTR_TYPE;
@@ -63,12 +63,11 @@ Xdefine PANIC               printf
 %term Alloca=AllocaOPCODE
 %term AllocaN=122               /* alloca with arg N */
 %term Load=LoadOPCODE
-%term LoadIdx=123               /* load with index vector */
 %term Store=StoreOPCODE
 %term GetElemPtr=GetElementPtrOPCODE
 %term GetElemPtrIdx=125         /* getElemPtr with index vector */
 
-%term Phi=PHINodeOPCODE
+%term Phi=PHIOPCODE
 
 %term Cast=CastOPCODE /* cast that will be ignored. others are made explicit */
 %term ToBoolTy=127
@@ -88,7 +87,9 @@ Xdefine PANIC         printf
 %term Call=CallOPCODE
 %term Shl=ShlOPCODE
 %term Shr=ShrOPCODE
-               /* 30...46 are unused */
+%term VANext=VANextOPCODE
+%term VAArg=VAArgOPCODE
+               /* 33...46 are unused */
     /*
      * The foll. values should match the constants in InstrForest.h
      */
@@ -138,6 +139,7 @@ reg:        VRegList(reg,reg)       =  10 (0);
         */
 not:     Not(reg,reg)          =   21 (10);
 tobool:          ToBoolTy(reg)         =   22 (10);
+not:      Not(tobool, reg)      =  322 (10); // fold cast-to-bool into not
 toubyte:  ToUByteTy(reg)       =   23 (10);
 tosbyte:  ToSByteTy(reg)       =   24 (10);
 toushort: ToUShortTy(reg)      =   25 (10);
@@ -244,8 +246,6 @@ reg:    BXor(reg,Constant)      =  540 (0);
         */
 reg:   Load(reg)               =   51 (30);
 reg:   Load(ptrreg)            =   52 (20);    /* 1 counted for ptrreg */
-reg:   LoadIdx(reg,reg)        =   53 (30);
-reg:   LoadIdx(ptrreg,reg)     =   54 (20);    /* 1 counted for ptrreg */
 reg:   ptrreg                  =  155 (0);
 ptrreg:        GetElemPtr(reg)         =   55 (10);
 ptrreg:        GetElemPtrIdx(reg,reg)  =   56 (10);
@@ -259,6 +259,8 @@ reg:        Call                    =   61 (20);    /* just ignore the operands! */
 reg:   Shl(reg,reg)            =   62 (20);    /* 1 for issue restrictions */
 reg:   Shr(reg,reg)            =   63 (20);    /* 1 for issue restrictions */
 reg:   Phi(reg,reg)            =   64 (0);
+reg:   VANext(reg)             =   65 (40);    /* incr stack slot pointer */
+reg:   VAArg(reg)              =   66 (40);    /* get a vararg */
 
        /*
         * Finally, leaf nodes of expression trees.