Added LLVM copyright header.
[oota-llvm.git] / lib / Target / SparcV9 / SparcV9.burg.in
index 516a1fcb4bd7bca2bb883bf620afe026e6ceb19b..08cfbcc1e973b751e803b9f551b1575d10dc7523 100644 (file)
@@ -1,5 +1,5 @@
 %{               // -*- C++ -*-
-Xinclude <stdio.h>
+Xinclude <cstdio>
 Xinclude <llvm/CodeGen/InstrForest.h>
 
 typedef InstrTreeNode* NODEPTR_TYPE;
@@ -67,7 +67,7 @@ Xdefine PANIC         printf
 %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
@@ -87,8 +87,9 @@ Xdefine PANIC         printf
 %term Call=CallOPCODE
 %term Shl=ShlOPCODE
 %term Shr=ShrOPCODE
-%term VaArg=VarArgOPCODE
-               /* 32...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);
@@ -257,7 +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:   VaArg(reg)              =   65 (40);    /* load from stack then incr */
+reg:   VANext(reg)             =   65 (40);    /* incr stack slot pointer */
+reg:   VAArg(reg)              =   66 (40);    /* get a vararg */
 
        /*
         * Finally, leaf nodes of expression trees.