[llvm-commits] CVS: llvm/lib/Reoptimizer/BinInterface/sparcdis.cpp binproc.cpp

Misha Brukman brukman at neo.cs.uiuc.edu
Tue Nov 12 20:46:01 PST 2002


Changes in directory llvm/lib/Reoptimizer/BinInterface:

sparcdis.cpp updated: 1.1 -> 1.2
binproc.cpp updated: 1.2 -> 1.3

---
Log message:

Tabs to spaces, fixed code layout, comment header at top of file.


---
Diffs of the changes:

Index: llvm/lib/Reoptimizer/BinInterface/sparcdis.cpp
diff -u llvm/lib/Reoptimizer/BinInterface/sparcdis.cpp:1.1 llvm/lib/Reoptimizer/BinInterface/sparcdis.cpp:1.2
--- llvm/lib/Reoptimizer/BinInterface/sparcdis.cpp:1.1	Fri Nov  8 04:38:14 2002
+++ llvm/lib/Reoptimizer/BinInterface/sparcdis.cpp	Tue Nov 12 20:47:14 2002
@@ -1,452 +1,481 @@
-//*****************************************************************************
+//===-----------------------------------------------------------*- C++ -*--===//
 //                          SPARC Disassembler
 //
 //  
 //
 // 2002 Cameron Buschardt
-//*****************************************************************************
+//===----------------------------------------------------------------------===//
 
 #include <stdio.h>
 #include <stdlib.h>
 
-#include "sparc9.hp"	// include the preprocessed header
+#include "sparc9.h"
 
 void sparc_printbr(unsigned instr)
 {
-	// look at the OP2 field
-	if (RD_FLD(instr,INSTR_OP2)==OP2_ILLTRAP)
-		printf("ILLTRAP .. ");
-	else if (RD_FLD(instr, INSTR_OP2)==OP2_SETHI)
-	{
-		if (RD_FLD(instr, INSTR_RD) == 0)
-			printf("NOP");
-		else
-			printf("SETHI %%hi(%08X), r%d", RD_FLD(instr, INSTR_IMM22) << 10, RD_FLD(instr, INSTR_RD));
-	}
-	else if (RD_FLD(instr, INSTR_OP2)==OP2_BICC)
-	{
-		printf("%s disp:%08X",icond_names[RD_FLD(instr, INSTR_COND_H)], SIGN_EXTEND(RD_FLD(instr,INSTR_DISP22),22));
-	}
-	else if (RD_FLD(instr, INSTR_OP2)==OP2_BPR)
-	{
-		//A, RCOND_H, D16HI, P, RS1, D16LO
-		printf("P%s%s%s r%d, %06X  " , rcond_names[RD_FLD(instr, INSTR_RCOND_H)], 
-								   RD_FLD(instr, INSTR_A) ? ",a" : "",
-								   RD_FLD(instr, INSTR_P) ? ",pt" : ",pn",
-								   RD_FLD(instr, INSTR_RS1),
-								   RD_D16(instr)
-								   );
-	}
-	else if (RD_FLD(instr, INSTR_OP2)==OP2_FB)
-	{
-		// cond, A, disp22
-		printf("%s%s %08X", fcond_names[RD_FLD(instr, INSTR_COND_H)], 
-			RD_FLD(instr, INSTR_A) ? ",a" : "",
-			RD_FLD(instr, INSTR_DISP22));
-	}
-	else if (RD_FLD(instr, INSTR_OP2)==OP2_FBP)
-	{
-		//
-	}
-	else{
-		printf("Unknown:OP=0b00 OP2 = 0x%04X", RD_FLD(instr, INSTR_OP2));
-	}
+  // look at the OP2 field
+  if (RD_FLD(instr,INSTR_OP2)==OP2_ILLTRAP) {
+    printf("ILLTRAP .. ");
+  } else if (RD_FLD(instr, INSTR_OP2)==OP2_SETHI) {
+    if (RD_FLD(instr, INSTR_RD) == 0)
+      printf("NOP");
+    else
+      printf("SETHI %%hi(%08X), r%d",
+             RD_FLD(instr, INSTR_IMM22) << 10, RD_FLD(instr, INSTR_RD));
+  } else if (RD_FLD(instr, INSTR_OP2) == OP2_BICC) {
+    printf("%s disp:%08X",icond_names[RD_FLD(instr, INSTR_COND_H)],
+           SIGN_EXTEND(RD_FLD(instr,INSTR_DISP22),22));
+  } else if (RD_FLD(instr, INSTR_OP2)==OP2_BPR) {
+    //A, RCOND_H, D16HI, P, RS1, D16LO
+    printf("P%s%s%s r%d, %06X  " , rcond_names[RD_FLD(instr, INSTR_RCOND_H)], 
+           RD_FLD(instr, INSTR_A) ? ",a" : "",
+           RD_FLD(instr, INSTR_P) ? ",pt" : ",pn",
+           RD_FLD(instr, INSTR_RS1),
+           RD_D16(instr)
+           );
+  } else if (RD_FLD(instr, INSTR_OP2)==OP2_FB) {
+    // cond, A, disp22
+    printf("%s%s %08X", fcond_names[RD_FLD(instr, INSTR_COND_H)], 
+           RD_FLD(instr, INSTR_A) ? ",a" : "",
+           RD_FLD(instr, INSTR_DISP22));
+  } else if (RD_FLD(instr, INSTR_OP2)==OP2_FBP) {
+    //
+  } else{
+    printf("Unknown:OP=0b00 OP2 = 0x%04X", RD_FLD(instr, INSTR_OP2));
+  }
 }
 
 void sparc_printalu(char * basename , unsigned instr)
 {
-	// OP=OP_2 : RD, OP3, RS1: {I=0 -> RS2 I=1->SIMM13}
-	if (RD_FLD(instr, INSTR_I)==0)
-		printf("%s r%d <- r%d ,r%d",basename, RD_FLD(instr, INSTR_RD),RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2));
-	else
-		printf("%s r%d <- r%d ,%d",basename, RD_FLD(instr, INSTR_RD),RD_FLD(instr, INSTR_RS1), SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)));
+  // OP=OP_2 : RD, OP3, RS1: {I=0 -> RS2 I=1->SIMM13}
+  if (RD_FLD(instr, INSTR_I)==0) {
+    printf("%s r%d <- r%d ,r%d",basename, RD_FLD(instr, INSTR_RD),
+           RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2));
+  } else {
+    printf("%s r%d <- r%d ,%d",basename, RD_FLD(instr, INSTR_RD),
+           RD_FLD(instr, INSTR_RS1),
+           SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)));
+  }
 }
 
 void sparc_printshf(char * basename, unsigned instr)
 {
-	//OP=OP_2: RD, OP_3 RS1: {I=0 -> X & RS2 ,I=1 -> {X=0 -> SHCNT32 X=1->SHCNT64 }}
-	if (RD_FLD(instr, INSTR_I)==0)
-		printf("%s%d r%d <- r%d, by r%d ",(RD_FLD(instr, INSTR_X)==0 ? 32 : 64), basename, RD_FLD(instr, INSTR_RD), RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2));
-	else
-		printf("%s%d r%d <- r%d, by 0x%04X ", basename,(RD_FLD(instr, INSTR_X)==0 ? 32 : 64), RD_FLD(instr, INSTR_RD), RD_FLD(instr, INSTR_RS1), (RD_FLD(instr, INSTR_X)==0 ? RD_FLD(instr, INSTR_SHCNT32) : RD_FLD(instr, INSTR_SHCNT64)) );
-
+  // OP=OP_2: RD, OP_3 RS1:
+  // {I=0 -> X & RS2 ,I=1 -> {X=0 -> SHCNT32 X=1->SHCNT64 }}
+  if (RD_FLD(instr, INSTR_I)==0) {
+    printf("%s%d r%d <- r%d, by r%d ", (RD_FLD(instr, INSTR_X)==0 ? 32 : 64),
+           basename, RD_FLD(instr, INSTR_RD), RD_FLD(instr, INSTR_RS1),
+           RD_FLD(instr, INSTR_RS2));
+  } else {
+    printf("%s%d r%d <- r%d, by 0x%04X ", basename,
+           (RD_FLD(instr, INSTR_X)==0 ? 32 : 64),
+           RD_FLD(instr, INSTR_RD), RD_FLD(instr, INSTR_RS1),
+           (RD_FLD(instr, INSTR_X)==0 ? RD_FLD(instr, INSTR_SHCNT32)
+            : RD_FLD(instr, INSTR_SHCNT64)) );
+  }
 }
 
 // Op2 class instructions
 void sparc_printfpu(unsigned instr)
 {
-		switch(RD_FLD(instr, INSTR_OPF) &~ OPF_MASK_ON)
-		{
-			case OPF_FADDn:
-				printf("FADDn");
-				return;
-			case OPF_FSUBn:
-				printf("FSUBn");
-				return;
-			case OPF_FMOVn:
-				printf("FMOVn");
-				return;
-			case OPF_FNEGn:
-				printf("FNEGn");
-				return;
-			case OPF_FABSn:
-				printf("FABSn");
-				return;
-			case OPF_FMULn:
-				printf("FMULn");
-				return;
-			case OPF_FDIVn:
-				printf("FDIVn");
-				return;
-			case OPF_FSQRTn:
-				printf("FSQRTn");
-				return;
-		}
-		switch (RD_FLD(instr, INSTR_OPF) &~OPF_MASK_TO)
-		{
-		case OPF_FxTOt:
-			printf("FxTOt");
-			return;
-		case OPF_FiTOt:
-			printf("FiTOt");
-			return;
-		}
-		
-		switch(RD_FLD(instr, INSTR_OPF))
-		{
-			case OPF_FsTOx:	
-				printf("OPF_FsTOx");
-				return;
-			case OPF_FsTOi:	
-				printf("OPF_FsTOi");
-				return;
-			case OPF_FsTOd:	
-				printf("OPF_FsTOd");
-				return;
-			case OPF_FsTOq:	
-				printf("OPF_FsTOq");
-				return;
-			case OPF_FdTOx:	
-				printf("OPF_FdTOx");
-				return;
-			case OPF_FdTOi:	
-				printf("OPF_FdTOi");
-				return;
-			case OPF_FqTOx:	
-				printf("OPF_FqTOx");
-				return;
-			case OPF_FdTOs:	
-				printf("OPF_FdTOs");
-				return;
-			case OPF_FdTOq:	
-				printf("OPF_FdTOq");
-				return;
-			case OPF_FqTOi:	
-				printf("OPF_FqTOi");
-				return;
-			case OPF_FqTOs:	
-				printf("OPF_FqTOs");
-				return;
-			case OPF_FqTOd:	
-				printf("OPF_FqTOd");
-				return;
-			case OPF_FsMULd:
-				printf("OPF_FsMULd");
-				return;
-			case OPF_FdMULq:	
-				printf("OPF_FdMULq");
-				return;
-		}
+  switch(RD_FLD(instr, INSTR_OPF) &~ OPF_MASK_ON)
+  {
+  case OPF_FADDn:
+    printf("FADDn");
+    return;
+  case OPF_FSUBn:
+    printf("FSUBn");
+    return;
+  case OPF_FMOVn:
+    printf("FMOVn");
+    return;
+  case OPF_FNEGn:
+    printf("FNEGn");
+    return;
+  case OPF_FABSn:
+    printf("FABSn");
+    return;
+  case OPF_FMULn:
+    printf("FMULn");
+    return;
+  case OPF_FDIVn:
+    printf("FDIVn");
+    return;
+  case OPF_FSQRTn:
+    printf("FSQRTn");
+    return;
+  }
+  switch (RD_FLD(instr, INSTR_OPF) &~OPF_MASK_TO)
+  {
+  case OPF_FxTOt:
+    printf("FxTOt");
+    return;
+  case OPF_FiTOt:
+    printf("FiTOt");
+    return;
+  }
+    
+  switch(RD_FLD(instr, INSTR_OPF))
+  {
+  case OPF_FsTOx: 
+    printf("OPF_FsTOx");
+    return;
+  case OPF_FsTOi: 
+    printf("OPF_FsTOi");
+    return;
+  case OPF_FsTOd: 
+    printf("OPF_FsTOd");
+    return;
+  case OPF_FsTOq: 
+    printf("OPF_FsTOq");
+    return;
+  case OPF_FdTOx: 
+    printf("OPF_FdTOx");
+    return;
+  case OPF_FdTOi: 
+    printf("OPF_FdTOi");
+    return;
+  case OPF_FqTOx: 
+    printf("OPF_FqTOx");
+    return;
+  case OPF_FdTOs: 
+    printf("OPF_FdTOs");
+    return;
+  case OPF_FdTOq: 
+    printf("OPF_FdTOq");
+    return;
+  case OPF_FqTOi: 
+    printf("OPF_FqTOi");
+    return;
+  case OPF_FqTOs: 
+    printf("OPF_FqTOs");
+    return;
+  case OPF_FqTOd: 
+    printf("OPF_FqTOd");
+    return;
+  case OPF_FsMULd:
+    printf("OPF_FsMULd");
+    return;
+  case OPF_FdMULq:  
+    printf("OPF_FdMULq");
+    return;
+  }
 }
 
 void sparc_print2(unsigned instr)
 {
-	switch(RD_FLD(instr, INSTR_OP3))
-	{
-	case OP3_ADD:
-		sparc_printalu("ADD", instr);
-		return;
-
-	case OP3_ADDcc:
-		sparc_printalu("ADDcc", instr);
-		return;
-
-	case OP3_ADDC:
-		sparc_printalu("ADDC", instr);
-		return;
-
-	case OP3_ADDCcc:
-		sparc_printalu("ADDCcc", instr);
-		return;
-
-	case OP3_AND:
-		sparc_printalu("AND", instr);
-		return;
-
-	case OP3_ANDcc:
-		sparc_printalu("ANDcc", instr);
-		return;
-	
-	case OP3_OR:
-		sparc_printalu("OR", instr);
-		return;
-
-	case OP3_ORcc:
-		sparc_printalu("ORcc", instr);
-		return;
-
-	case OP3_XOR:
-		sparc_printalu("XOR", instr);
-		return;
-
-	case OP3_XORcc:
-		sparc_printalu("XORcc", instr);
-		return;
-	
-	case OP3_SUB:
-		sparc_printalu("SUB", instr);
-		return;
-
-	case OP3_SUBcc:
-		sparc_printalu("SUBcc", instr);
-		return;
-	
-	case OP3_ANDN:
-		sparc_printalu("ANDN", instr);
-		return;
-
-	case OP3_ANDNcc:
-		sparc_printalu("ANDNcc", instr);
-		return;
-	
-	case OP3_ORN:
-		sparc_printalu("ORN", instr);
-		return;
-
-	case OP3_ORNcc:
-		sparc_printalu("ORNcc", instr);
-		return;
-	
-	case OP3_XNOR:
-		sparc_printalu("XNOR", instr);
-		return;
-
-	case OP3_XNORcc:
-		sparc_printalu("XNORcc", instr);
-		return;
-	
-	case OP3_SUBC:
-		sparc_printalu("SUBC", instr);
-		return;
-
-	case OP3_SUBCcc:
-		sparc_printalu("SUBCcc", instr);
-		return;
-
-	case OP3_MULX:
-		sparc_printalu("MULX", instr);
-		return;
-
-	case OP3_SDIVX:
-		sparc_printalu("SDIVX", instr);
-		return;
-
-	case OP3_UDIVX:
-		sparc_printalu("UDIVX", instr);
-		return;
-
-	case OP3_SLL:
-		sparc_printshf("SLL",instr);
-		return;
-	case OP3_SRL:
-		sparc_printshf("SRL",instr);
-		return;
-	case OP3_SRA:
-		sparc_printshf("SRA",instr);
-		return;
-
-	case OP3_DONERETRY:
-	{
-		if (RD_FLD(instr, INSTR_FCN)==FCN_DONE)
-			printf("DONE");
-		else if (RD_FLD(instr, INSTR_FCN)==FCN_RETRY)
-			printf("RETRY");
-		else
-			printf("DOH!");
-		return;
-	}
-
-	case OP3_FCMP:
-	{
-		unsigned fop_n =RD_FLD(instr, INSTR_OPF) &~ OPF_MASK_ON; 
-		if (fop_n==OPF_FCMPn)
-			printf("FCMP");
-		else if (fop_n==OPF_FCMPEn)
-			printf("FCMPE");
-		else
-			printf("DOH!");
-		return;
-	}
-
-	case OP3_FPU:
-		sparc_printfpu(instr);
-		return;
-
-	case OP3_FLUSH:		//OP=OP_2 RS1 {I=0 -> rs2, I=1->simm13}
-		printf("OP3_FLUSH");
-		return;
-	case OP3_FLUSHW:	//OP=OP_2 I = 0
-		printf("OP3_FLUSHW");
-		return;
-	case OP3_JMPL:		//OP=OP_2 RD, RS1 {I=0-> RS2, I=1->SIMM13}
-		if (RD_FLD(instr, INSTR_I)==0)
-			printf("JMPL link:r%d, to: r%d+r%d", RD_FLD(instr, INSTR_RD),RD_FLD(instr, INSTR_RS1),RD_FLD(instr, INSTR_RS2) );
-		else
-			printf("JMPL link:r%d, to: r%d+%d", RD_FLD(instr, INSTR_RD),RD_FLD(instr, INSTR_RS1),SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)) );
-		return;
-
-	case OP3_POPC:
-		printf("POPC ????");
-		return;
-
-	case OP3_RETURN:	
-		if (RD_FLD(instr, INSTR_I) == 0)
-			printf("RETURN r%d + r%d", RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2));
-		else
-			printf("RETURN r%d + %d", RD_FLD(instr, INSTR_RS1), SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)));
-		return;
-
-	case OP3_SAVE:		
-		if (RD_FLD(instr, INSTR_I) == 0)
-			printf("save r%d , r%d, r%d", RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2), RD_FLD(instr, INSTR_RD));
-		else
-			printf("save r%d , %d, r%d", RD_FLD(instr, INSTR_RS1), SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)), RD_FLD(instr, INSTR_RD));
-		return;
-
-	case OP3_RESTORE:	
-		if (RD_FLD(instr, INSTR_I) == 0)
-			printf("RESTORE r%d , r%d, r%d", RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2), RD_FLD(instr, INSTR_RD));
-		else
-			printf("RESTORE r%d , %d, r%d", RD_FLD(instr, INSTR_RS1), SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)), RD_FLD(instr, INSTR_RD));
-		return;
+  switch(RD_FLD(instr, INSTR_OP3))
+  {
+  case OP3_ADD:
+    sparc_printalu("ADD", instr);
+    return;
+
+  case OP3_ADDcc:
+    sparc_printalu("ADDcc", instr);
+    return;
+
+  case OP3_ADDC:
+    sparc_printalu("ADDC", instr);
+    return;
+
+  case OP3_ADDCcc:
+    sparc_printalu("ADDCcc", instr);
+    return;
+
+  case OP3_AND:
+    sparc_printalu("AND", instr);
+    return;
+
+  case OP3_ANDcc:
+    sparc_printalu("ANDcc", instr);
+    return;
+  
+  case OP3_OR:
+    sparc_printalu("OR", instr);
+    return;
+
+  case OP3_ORcc:
+    sparc_printalu("ORcc", instr);
+    return;
+
+  case OP3_XOR:
+    sparc_printalu("XOR", instr);
+    return;
+
+  case OP3_XORcc:
+    sparc_printalu("XORcc", instr);
+    return;
+  
+  case OP3_SUB:
+    sparc_printalu("SUB", instr);
+    return;
+
+  case OP3_SUBcc:
+    sparc_printalu("SUBcc", instr);
+    return;
+  
+  case OP3_ANDN:
+    sparc_printalu("ANDN", instr);
+    return;
+
+  case OP3_ANDNcc:
+    sparc_printalu("ANDNcc", instr);
+    return;
+  
+  case OP3_ORN:
+    sparc_printalu("ORN", instr);
+    return;
+
+  case OP3_ORNcc:
+    sparc_printalu("ORNcc", instr);
+    return;
+  
+  case OP3_XNOR:
+    sparc_printalu("XNOR", instr);
+    return;
+
+  case OP3_XNORcc:
+    sparc_printalu("XNORcc", instr);
+    return;
+  
+  case OP3_SUBC:
+    sparc_printalu("SUBC", instr);
+    return;
+
+  case OP3_SUBCcc:
+    sparc_printalu("SUBCcc", instr);
+    return;
+
+  case OP3_MULX:
+    sparc_printalu("MULX", instr);
+    return;
+
+  case OP3_SDIVX:
+    sparc_printalu("SDIVX", instr);
+    return;
+
+  case OP3_UDIVX:
+    sparc_printalu("UDIVX", instr);
+    return;
+
+  case OP3_SLL:
+    sparc_printshf("SLL",instr);
+    return;
+  case OP3_SRL:
+    sparc_printshf("SRL",instr);
+    return;
+  case OP3_SRA:
+    sparc_printshf("SRA",instr);
+    return;
+
+  case OP3_DONERETRY:
+    {
+      if (RD_FLD(instr, INSTR_FCN)==FCN_DONE)
+        printf("DONE");
+      else if (RD_FLD(instr, INSTR_FCN)==FCN_RETRY)
+        printf("RETRY");
+      else
+        printf("DOH!");
+      return;
+    }
+
+  case OP3_FCMP:
+    {
+      unsigned fop_n =RD_FLD(instr, INSTR_OPF) &~ OPF_MASK_ON; 
+      if (fop_n==OPF_FCMPn)
+        printf("FCMP");
+      else if (fop_n==OPF_FCMPEn)
+        printf("FCMPE");
+      else
+        printf("DOH!");
+      return;
+    }
+
+  case OP3_FPU:
+    sparc_printfpu(instr);
+    return;
+
+  case OP3_FLUSH:   //OP=OP_2 RS1 {I=0 -> rs2, I=1->simm13}
+    printf("OP3_FLUSH");
+    return;
+  case OP3_FLUSHW:  //OP=OP_2 I = 0
+    printf("OP3_FLUSHW");
+    return;
+  case OP3_JMPL:    //OP=OP_2 RD, RS1 {I=0-> RS2, I=1->SIMM13}
+    if (RD_FLD(instr, INSTR_I)==0)
+      printf("JMPL link:r%d, to: r%d+r%d", RD_FLD(instr, INSTR_RD),
+             RD_FLD(instr, INSTR_RS1),RD_FLD(instr, INSTR_RS2) );
+    else
+      printf("JMPL link:r%d, to: r%d+%d", RD_FLD(instr, INSTR_RD),
+             RD_FLD(instr, INSTR_RS1),
+             SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)) );
+    return;
+
+  case OP3_POPC:
+    printf("POPC ????");
+    return;
+
+  case OP3_RETURN:  
+    if (RD_FLD(instr, INSTR_I) == 0)
+      printf("RETURN r%d + r%d", RD_FLD(instr, INSTR_RS1),
+             RD_FLD(instr, INSTR_RS2));
+    else
+      printf("RETURN r%d + %d", RD_FLD(instr, INSTR_RS1),
+             SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)));
+    return;
+
+  case OP3_SAVE:    
+    if (RD_FLD(instr, INSTR_I) == 0)
+      printf("save r%d , r%d, r%d", RD_FLD(instr, INSTR_RS1),
+             RD_FLD(instr, INSTR_RS2), RD_FLD(instr, INSTR_RD));
+    else
+      printf("save r%d , %d, r%d", RD_FLD(instr, INSTR_RS1),
+             SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)),
+             RD_FLD(instr, INSTR_RD));
+    return;
+
+  case OP3_RESTORE: 
+    if (RD_FLD(instr, INSTR_I) == 0)
+      printf("RESTORE r%d , r%d, r%d", RD_FLD(instr, INSTR_RS1),
+             RD_FLD(instr, INSTR_RS2), RD_FLD(instr, INSTR_RD));
+    else
+      printf("RESTORE r%d , %d, r%d", RD_FLD(instr, INSTR_RS1),
+             SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)),
+             RD_FLD(instr, INSTR_RD));
+    return;
 
 
-	}
+  }
 
-	printf("Unknown:OP=0b10 OP3 = 0x%04X", RD_FLD(instr, INSTR_OP3));
+  printf("Unknown:OP=0b10 OP3 = 0x%04X", RD_FLD(instr, INSTR_OP3));
 }
 
 void sparc_printldst(char * basename, unsigned instr)
-{		
-	if (RD_FLD(instr, INSTR_I)==0)
-		printf("%s r%d <- r%d , r%d", basename,RD_FLD(instr, INSTR_RD), RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2));
-	else
-		printf("%s r%d <- r%d , %d",basename, RD_FLD(instr, INSTR_RD), RD_FLD(instr, INSTR_RS1), SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)));
+{   
+  if (RD_FLD(instr, INSTR_I)==0)
+    printf("%s r%d <- r%d , r%d", basename, RD_FLD(instr, INSTR_RD),
+           RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2));
+  else
+    printf("%s r%d <- r%d , %d",basename, RD_FLD(instr, INSTR_RD),
+           RD_FLD(instr, INSTR_RS1),
+           SIGN_EXTEND13(RD_FLD(instr, INSTR_SIMM13)));
 
 }
 void sparc_print3(unsigned instr)
 {
-//#define OP3_LDFA	0b110000	//OP=OP_3 RD, Rs1, {I=0->IMM_ASI, RS2 I=1->SIMM13}	
-//#define OP3_LDDFA	0b110011		//OP=OP_3 RD, Rs1, {I=0->IMM_ASI, RS2 I=1->SIMM13}	
-//#define OP3_LDQFA	0b110010		//OP=OP_3 RD, Rs1, {I=0->IMM_ASI, RS2 I=1->SIMM13}		
-//#define OP3_LDSTUB	0b001101		//OP=OP_3 RD, Rs1  {I=0->RS2, I=1->SIMM13}
-//#define OP3_LDSTUBA	0b011101		//OP=OP_3 RD, RS1  {I=0->RS2, IMM_ASI, I=1->SIMM13}
-	switch(RD_FLD(instr, INSTR_OP3))
-	{
-		//OP=OP_3 RD, Rs1  {I=0->RS2, I=1->SIMM13}
-		case OP3_LDSTUB:
-			sparc_printldst("LDSTUB", instr);
-			return;
-
-		case OP3_STB:
-			sparc_printldst("STB", instr);
-			return;
-
-		case OP3_STH:
-			sparc_printldst("STH", instr);
-			return;
-
-		case OP3_STW:
-			sparc_printldst("STW", instr);
-			return;
-
-		case OP3_STX:
-			sparc_printldst("STX", instr);
-			return;
-
-		case OP3_LDSB:	
-			sparc_printldst("LDSB", instr);
-			return;
-
-		case OP3_LDSH:
-			sparc_printldst("LDSH", instr);
-			return;
-
-		case OP3_LDSW:
-			sparc_printldst("LDSW", instr);
-			return;
-	
-		case OP3_LDUB:
-			sparc_printldst("LDUB", instr);
-			return;
-	
-		case OP3_LDUH:	
-			sparc_printldst("LDUH", instr);
-			return;
-
-		case OP3_LDUW:
-			sparc_printldst("LDUW", instr);
-			return;
-	
-		case OP3_LDX:	
-			sparc_printldst("LDX", instr);
-			return;
-
-		case OP3_CASA:
-			if (RD_FLD(instr, INSTR_I)==0)
-				printf("CASA [r%d] %%%d, r%d, r%d", RD_FLD(instr, INSTR_RS1),RD_FLD(instr, INSTR_IMMASI), RD_FLD(instr, INSTR_RS2), RD_FLD(instr, INSTR_RD));
-			else
-				printf("CASA [r%d] , r%d, r%d", RD_FLD(instr, INSTR_RS1), RD_FLD(instr, INSTR_RS2), RD_FLD(instr, INSTR_RD));
-
-			sparc_printalu("CASA", instr);
-
-			return;
-
-		case OP3_CASXA:
-			sparc_printalu("CASXA", instr);
-			return;
-		case OP3_STFA:
-			sparc_printalu("STFA",instr);
-			return;
-		case OP3_STDFA:
-			sparc_printalu("STDFA",instr);
-			return;
-		case OP3_STQFA:
-			sparc_printalu("STQFA",instr);
-			return;
-
-		case OP3_PREFETCH:
-			printf("PREFETCH ??? ");
-			return;
-
-		case OP3_PREFETCHA:	
-			printf("PREFETCHA ??? ");
-			return;
-	}
+  //#define OP3_LDFA  0b110000
+  //OP=OP_3 RD, Rs1, {I=0->IMM_ASI, RS2 I=1->SIMM13}  
+  
+  //#define OP3_LDDFA 0b110011
+  //OP=OP_3 RD, Rs1, {I=0->IMM_ASI, RS2 I=1->SIMM13}  
+  
+  //#define OP3_LDQFA 0b110010
+  //OP=OP_3 RD, Rs1, {I=0->IMM_ASI, RS2 I=1->SIMM13}
+
+  //#define OP3_LDSTUB  0b001101
+  //OP=OP_3 RD, Rs1  {I=0->RS2, I=1->SIMM13}
+  
+  //#define OP3_LDSTUBA 0b011101
+  //OP=OP_3 RD, RS1  {I=0->RS2, IMM_ASI, I=1->SIMM13}
+
+  switch(RD_FLD(instr, INSTR_OP3))
+  {
+    //OP=OP_3 RD, Rs1  {I=0->RS2, I=1->SIMM13}
+  case OP3_LDSTUB:
+    sparc_printldst("LDSTUB", instr);
+    return;
+
+  case OP3_STB:
+    sparc_printldst("STB", instr);
+    return;
+
+  case OP3_STH:
+    sparc_printldst("STH", instr);
+    return;
+
+  case OP3_STW:
+    sparc_printldst("STW", instr);
+    return;
+
+  case OP3_STX:
+    sparc_printldst("STX", instr);
+    return;
+
+  case OP3_LDSB:  
+    sparc_printldst("LDSB", instr);
+    return;
+
+  case OP3_LDSH:
+    sparc_printldst("LDSH", instr);
+    return;
+
+  case OP3_LDSW:
+    sparc_printldst("LDSW", instr);
+    return;
+  
+  case OP3_LDUB:
+    sparc_printldst("LDUB", instr);
+    return;
+  
+  case OP3_LDUH:  
+    sparc_printldst("LDUH", instr);
+    return;
+
+  case OP3_LDUW:
+    sparc_printldst("LDUW", instr);
+    return;
+  
+  case OP3_LDX: 
+    sparc_printldst("LDX", instr);
+    return;
+
+  case OP3_CASA:
+    if (RD_FLD(instr, INSTR_I)==0)
+      printf("CASA [r%d] %%%d, r%d, r%d", RD_FLD(instr, INSTR_RS1),
+             RD_FLD(instr, INSTR_IMMASI), RD_FLD(instr, INSTR_RS2),
+             RD_FLD(instr, INSTR_RD));
+    else
+      printf("CASA [r%d] , r%d, r%d", RD_FLD(instr, INSTR_RS1),
+             RD_FLD(instr, INSTR_RS2), RD_FLD(instr, INSTR_RD));
+
+    sparc_printalu("CASA", instr);
+
+    return;
+
+  case OP3_CASXA:
+    sparc_printalu("CASXA", instr);
+    return;
+  case OP3_STFA:
+    sparc_printalu("STFA",instr);
+    return;
+  case OP3_STDFA:
+    sparc_printalu("STDFA",instr);
+    return;
+  case OP3_STQFA:
+    sparc_printalu("STQFA",instr);
+    return;
+
+  case OP3_PREFETCH:
+    printf("PREFETCH ??? ");
+    return;
+
+  case OP3_PREFETCHA: 
+    printf("PREFETCHA ??? ");
+    return;
+  }
 
-	printf("Unknown OP_3: OP3 = %08X", RD_FLD(instr, INSTR_OP3));
+  printf("Unknown OP_3: OP3 = %08X", RD_FLD(instr, INSTR_OP3));
 }
 
 void sparc_print(unsigned instr)
 {
-	printf("(%08X) ", instr);
-	if (RD_FLD(instr,INSTR_OP)==OP_CALL)
-		printf("CALL disp:+%08X", instr & 0x3FFFFFFF);
-	else if (RD_FLD(instr,INSTR_OP)==OP_BRANCH)
-		sparc_printbr(instr);
-	else if (RD_FLD(instr,INSTR_OP)==OP_2)
-		sparc_print2(instr);
-	else if (RD_FLD(instr,INSTR_OP)==OP_3)
-		sparc_print3(instr);
+  printf("(%08X) ", instr);
+  if (RD_FLD(instr,INSTR_OP)==OP_CALL)
+    printf("CALL disp:+%08X", instr & 0x3FFFFFFF);
+  else if (RD_FLD(instr,INSTR_OP)==OP_BRANCH)
+    sparc_printbr(instr);
+  else if (RD_FLD(instr,INSTR_OP)==OP_2)
+    sparc_print2(instr);
+  else if (RD_FLD(instr,INSTR_OP)==OP_3)
+    sparc_print3(instr);
 }
-


Index: llvm/lib/Reoptimizer/BinInterface/binproc.cpp
diff -u llvm/lib/Reoptimizer/BinInterface/binproc.cpp:1.2 llvm/lib/Reoptimizer/BinInterface/binproc.cpp:1.3
--- llvm/lib/Reoptimizer/BinInterface/binproc.cpp:1.2	Fri Nov  8 04:38:13 2002
+++ llvm/lib/Reoptimizer/BinInterface/binproc.cpp	Tue Nov 12 20:47:14 2002
@@ -1,113 +1,117 @@
+//===-----------------------------------------------------------*- C++ -*--===//
+//                          
+//===----------------------------------------------------------------------===//
+
 #include <stdio.h>
 #include <stdlib.h>
 
-char * LoadFile(const char * fname)
+char* LoadFile(const char * fname)
 {
-	unsigned size;
-	char * buffer;
-	FILE * file = fopen(fname, "rb");
-	if (!file)
-		return NULL;
-
-	fseek(file, 0, SEEK_END);
-	size = ftell(file);
-	fseek(file, 0, SEEK_SET);
-
-
-	buffer = new char[size + 1];
-	fread(buffer, 1, size, file);
-	buffer[size] = 0;
+  unsigned size;
+  char * buffer;
+  FILE * file = fopen(fname, "rb");
+  if (!file)
+    return NULL;
+
+  fseek(file, 0, SEEK_END);
+  size = ftell(file);
+  fseek(file, 0, SEEK_SET);
+
+
+  buffer = new char[size + 1];
+  fread(buffer, 1, size, file);
+  buffer[size] = 0;
 
-	fclose(file);
-	return buffer;
+  fclose(file);
+  return buffer;
 }
 
 #define IS_TOK(x) ((x >= '0' && x <= '9') || \
-			(x >= 'A' && x <= 'Z') ||	     \
-			(x >= 'a' && x <= 'z') ||       \
-			(x == '_'))
+                   (x >= 'A' && x <= 'Z') || \
+                   (x >= 'a' && x <= 'z') || \
+                   (x == '_'))
 
 void process_token (char * begin, char * end, FILE * file)
 {
-	unsigned u = 0;
-	char * i = begin;
+  unsigned u = 0;
+  char * i = begin;
 
-	if (i==end || *i++ != '0')
-		goto not_binary;
+  if (i==end || *i++ != '0')
+    goto not_binary;
 
-	if (i== end || *i++ != 'b')
-		goto not_binary;
+  if (i== end || *i++ != 'b')
+    goto not_binary;
 
-	while (i!=end && (*i == '0' || *i == '1'))
-	{
-		u = (u << 1) | (*i - '0');
-		i++;
-	}
-
-	fprintf(file, "0x%08X", u);		
-	return;
-
-not_binary:
-	//just output the thing, it wasn't it
-	while (begin!=end)
-		fputc(*begin++, file);
+  while (i!=end && (*i == '0' || *i == '1'))
+  {
+    u = (u << 1) | (*i - '0');
+    i++;
+  }
+
+  fprintf(file, "0x%08X", u);     
+  return;
+
+ not_binary:
+  //just output the thing, it wasn't it
+  while (begin!=end)
+    fputc(*begin++, file);
 }
 
 void process(char * buffer, FILE * file)
 {
-	while (*buffer)
-	{
-		if (IS_TOK(*buffer))
-		{
-			char * begin = buffer;
-			char * end  =  buffer;
-
-			while (IS_TOK(*end))
-				end++;
-
-			process_token(begin, end, file);
-			buffer = end;
-		}
-		else
-			fputc(*buffer++, file);
-	}
+  while (*buffer)
+  {
+    if (IS_TOK(*buffer))
+    {
+      char * begin = buffer;
+      char * end  =  buffer;
+
+      while (IS_TOK(*end))
+        end++;
+
+      process_token(begin, end, file);
+      buffer = end;
+    }
+    else
+      fputc(*buffer++, file);
+  }
 }
 int main(int argc, char ** argv)
 {
-	FILE * file = NULL;
-	char * buffer = NULL;
-	if (argc!=3)
-	{
-		printf("Usage: \n"
-			   "   binproc [infile] [outfile]\n");
-		goto failure;
-	}
-	buffer = LoadFile(argv[1]);
-	
-	if (!buffer)
-	{
-		printf("Failed to open input file\n");
-		goto failure;
-	}
-
-	file = fopen(argv[2],"wb");
-	if (!file)
-	{
-		printf("Failed to open output file\n");
-		goto failure;
-	}
-	fprintf(file, "#line 1 \"%s\"\n", argv[1]);
-	process(buffer, file);
-		
-	delete buffer;
-	fclose(file);
-	
-	return 0;
-
-failure:
-	if (file)
-		fclose(file);
-	if (buffer)
-		delete buffer;
-	return 1;
+  FILE * file = NULL;
+  char * buffer = NULL;
+  if (argc!=3)
+  {
+    printf("Usage: \n"
+           "   binproc [infile] [outfile]\n");
+    goto failure;
+  }
+  buffer = LoadFile(argv[1]);
+    
+  if (!buffer)
+  {
+    printf("Failed to open input file\n");
+    goto failure;
+  }
+
+  file = fopen(argv[2],"wb");
+  if (!file)
+  {
+    printf("Failed to open output file\n");
+    goto failure;
+  }
+  fprintf(file, "#line 1 \"%s\"\n", argv[1]);
+  process(buffer, file);
+        
+  delete buffer;
+  fclose(file);
+    
+  return 0;
+
+ failure:
+  if (file)
+    fclose(file);
+  if (buffer)
+    delete buffer;
+  return 1;
 }





More information about the llvm-commits mailing list