Exemple #1
0
void OSR::runPass() {
    StlVector < Node* >nodes(mm);
    ControlFlowGraph& flowgraph = irManager.getFlowGraph();
    flowgraph.getNodes(nodes);

    StlVector < Node* >::iterator iter = nodes.begin(), end = nodes.end();

    for (; iter != end; iter++) {
        Node* node = *iter;
        Inst* last_inst = (Inst*) node->getLastInst();

        for (Inst* iter1 = (Inst*) node->getFirstInst();
                iter1 != last_inst; iter1 = iter1->getNextInst()) {
            writeInst(iter1);
        }
    }

    StlVector < reduceCand >::iterator viter = cands.begin();
    StlVector < reduceCand >::iterator vend = cands.end();

    for (; viter != vend; viter++) {
        reduceCand rcand = *viter;
        replace(rcand.dst, rcand.iv, rcand.rc);
    }

    StlVector < Node* >nnodes(mm);
    ControlFlowGraph& ffg = irManager.getFlowGraph();
    ffg.getNodes(nnodes);
    replaceLinearFuncTest(nnodes);

}
int main() 
{
   static XIntc intc;
   static XTmrCtr axi_timer_0_Timer;
   XGpio Gpio; /* The Instance of the GPIO Driver  */

   Xil_ICacheEnable();
   Xil_DCacheEnable();
   print("---Entering main---\n\r");
   xil_printf( "Memory size occupied by status2 : %d\n", sizeof(lcd) );

   lcd myLCD;
   myLCD.rs = 0;
   myLCD.rw = 0;
   myLCD.en = 0;
   myLCD.db = 0x30;

   u32 gpioOutput = outBits(myLCD);
   xil_printf( "gpioOut 0x%04x\n", gpioOutput );
   write(myLCD, Gpio);
   u32 readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );
   write(myLCD, Gpio);
   delay(1000000);
   write(myLCD, Gpio);
   delay(1000000);
   write(myLCD, Gpio);
   delay(1000000);
   myLCD.rs = 0;
   myLCD.rw = 0;
   myLCD.en = 0;
   myLCD.db = 0x3C;
   gpioOutput = outBits(myLCD);
   write(myLCD, Gpio);
   delay(1000000);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );
   myLCD.db = 0x08;
   gpioOutput = outBits(myLCD);
   write(myLCD, Gpio);
   delay(1000000);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   myLCD.db = 0x01;
   gpioOutput = outBits(myLCD);
   write(myLCD, Gpio);
   delay(1000000);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   myLCD.db = 0x06;
   gpioOutput = outBits(myLCD);
   write(myLCD, Gpio);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   myLCD.db = 0x0F;
   gpioOutput = outBits(myLCD);
   write(myLCD, Gpio);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   // Blinking Cursor

   myLCD.db = 0xCF;
   gpioOutput = outBits(myLCD);
   write(myLCD, Gpio);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   myLCD.db = 0x30;
   gpioOutput = outBits(myLCD);
   writeInst(myLCD, Gpio);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   myLCD.db = 0x8B;
   gpioOutput = outBits(myLCD);
   write(myLCD, Gpio);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   myLCD.db = 0x48;
   gpioOutput = outBits(myLCD);
   writeInst(myLCD, Gpio);
   readOut = read(Gpio);
   xil_printf( "readOut 0x%04x\n", readOut );

   myLCD.db = 0x8C;
  gpioOutput = outBits(myLCD);
  write(myLCD, Gpio);
  readOut = read(Gpio);
  xil_printf( "readOut 0x%04x\n", readOut );

  myLCD.db = 0x45;
  gpioOutput = outBits(myLCD);
  writeInst(myLCD, Gpio);
  readOut = read(Gpio);
  xil_printf( "readOut 0x%04x\n", readOut );

  myLCD.db = 0x8D;
	gpioOutput = outBits(myLCD);
	write(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

	myLCD.db = 0x4C;
	gpioOutput = outBits(myLCD);
	writeInst(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

	myLCD.db = 0x8E;
	gpioOutput = outBits(myLCD);
	write(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

	myLCD.db = 0x4C;
	gpioOutput = outBits(myLCD);
	writeInst(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

	myLCD.db = 0x8F;
	gpioOutput = outBits(myLCD);
	write(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

	myLCD.db = 0x4F;
	gpioOutput = outBits(myLCD);
	writeInst(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

	myLCD.db = 0x80;
	gpioOutput = outBits(myLCD);
	write(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

	// Blinky
	myLCD.db = 0xCF;
	gpioOutput = outBits(myLCD);
	write(myLCD, Gpio);
	readOut = read(Gpio);
	xil_printf( "readOut 0x%04x\n", readOut );

   print("---Exiting main---\n\r");
   Xil_DCacheDisable();
   Xil_ICacheDisable();
   return 0;
}