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; }