X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FIR%2FFlat%2FBuildFlat.java;h=52f92b5c6aa702d0630614526e1e6ec8ba910b50;hb=refs%2Ftags%2Fbuildscript;hp=17e988f281f1a8eb6c9d670f10b5f501876677b5;hpb=cacaf39ca7d94217f19f4944229a3a331bb96e02;p=IRC.git diff --git a/Robust/src/IR/Flat/BuildFlat.java b/Robust/src/IR/Flat/BuildFlat.java deleted file mode 100644 index 17e988f2..00000000 --- a/Robust/src/IR/Flat/BuildFlat.java +++ /dev/null @@ -1,800 +0,0 @@ -package IR.Flat; -import IR.*; -import IR.Tree.*; -import java.util.*; - -public class BuildFlat { - State state; - Hashtable temptovar; - - public BuildFlat(State st) { - state=st; - temptovar=new Hashtable(); - } - - public Hashtable getMap() { - return temptovar; - } - - public void buildFlat() { - Iterator it=state.getClassSymbolTable().getDescriptorsIterator(); - while(it.hasNext()) { - ClassDescriptor cn=(ClassDescriptor)it.next(); - flattenClass(cn); - } - - Iterator task_it=state.getTaskSymbolTable().getDescriptorsIterator(); - while(task_it.hasNext()) { - TaskDescriptor td=(TaskDescriptor)task_it.next(); - flattenTask(td); - } - } - - private void flattenTask(TaskDescriptor td) { - BlockNode bn=state.getMethodBody(td); - FlatNode fn=flattenBlockNode(bn).getBegin(); - FlatFlagActionNode ffan=new FlatFlagActionNode(false); - ffan.addNext(fn); - FlatMethod fm=new FlatMethod(td, ffan); - - for(int i=0;i1) { - NodePair np=generateNewArrayLoop(temps, td.dereference(), out_temp, 0); - fn.addNext(np.getBegin()); - return new NodePair(first,np.getEnd()); - } else - return new NodePair(first, fn); - } - } - - private NodePair generateNewArrayLoop(TempDescriptor[] temparray, TypeDescriptor td, TempDescriptor tmp, int i) { - TempDescriptor index=TempDescriptor.tempFactory("index",new TypeDescriptor(TypeDescriptor.INT)); - TempDescriptor tmpone=TempDescriptor.tempFactory("index",new TypeDescriptor(TypeDescriptor.INT)); - FlatNop fnop=new FlatNop();//last node - - //index=0 - FlatLiteralNode fln=new FlatLiteralNode(index.getType(),new Integer(0),index); - //tmpone=1 - FlatLiteralNode fln2=new FlatLiteralNode(tmpone.getType(),new Integer(1),tmpone); - - TempDescriptor tmpbool=TempDescriptor.tempFactory("comp",new TypeDescriptor(TypeDescriptor.BOOLEAN)); - - FlatOpNode fcomp=new FlatOpNode(tmpbool,index,temparray[i],new Operation(Operation.LT)); - FlatCondBranch fcb=new FlatCondBranch(tmpbool); - //is index