├── .drone.yml ├── .gitignore ├── CI ├── Dockerfile ├── build.sh └── test.sh ├── LICENSE ├── README.md ├── docs ├── CI.md ├── asset │ └── ir-opt-block.png ├── backend.md ├── frontend.md ├── ir-optimze.md ├── ir.md └── style.md ├── local-test ├── Dockerfile_arm64 ├── Dockerfile_x86 └── test.py ├── m ├── src ├── Compiler.java ├── DebugTools.java ├── Main.java ├── backend │ ├── codegen │ │ ├── AsmBuilder.java │ │ ├── ToAsmManager.java │ │ └── ToLIRManager.java │ ├── lir │ │ ├── ArmBlock.java │ │ ├── ArmFunction.java │ │ ├── ArmModule.java │ │ ├── ArmShift.java │ │ ├── inst │ │ │ ├── ArmInst.java │ │ │ ├── ArmInstAddr.java │ │ │ ├── ArmInstBinary.java │ │ │ ├── ArmInstBranch.java │ │ │ ├── ArmInstCall.java │ │ │ ├── ArmInstCmp.java │ │ │ ├── ArmInstFloatToInt.java │ │ │ ├── ArmInstIntToFloat.java │ │ │ ├── ArmInstLiteralPoolPlacement.java │ │ │ ├── ArmInstLoad.java │ │ │ ├── ArmInstMove.java │ │ │ ├── ArmInstParamLoad.java │ │ │ ├── ArmInstReturn.java │ │ │ ├── ArmInstStackAddr.java │ │ │ ├── ArmInstStackLoad.java │ │ │ ├── ArmInstStackStore.java │ │ │ ├── ArmInstStore.java │ │ │ ├── ArmInstTernary.java │ │ │ └── ArmInstUnary.java │ │ ├── operand │ │ │ ├── Addr.java │ │ │ ├── FImm.java │ │ │ ├── FPhyReg.java │ │ │ ├── FVirtualReg.java │ │ │ ├── IImm.java │ │ │ ├── IPhyReg.java │ │ │ ├── IVirtualReg.java │ │ │ ├── Imm.java │ │ │ ├── Operand.java │ │ │ └── Reg.java │ │ └── visitor │ │ │ ├── ArmInstVisitor.java │ │ │ └── OperandVisitor.java │ └── regallocator │ │ ├── GraphColoring.java │ │ ├── InterfereRegs.java │ │ ├── LivenessAnalysis.java │ │ ├── RegAllocManager.java │ │ ├── RegAllocator.java │ │ └── SimpleGraphColoring.java ├── frontend │ ├── IRBuilder.java │ ├── IRGen.java │ ├── SemanticException.java │ ├── SourceCodeSymbol.java │ ├── SymbolTable.java │ ├── SysY.g4 │ ├── SysY.interp │ ├── SysY.tokens │ ├── SysYBaseVisitor.java │ ├── SysYLexer.interp │ ├── SysYLexer.java │ ├── SysYLexer.tokens │ ├── SysYParser.java │ ├── SysYVisitor.java │ ├── folder │ │ ├── CondFolder.java │ │ ├── FloatConstantFolder.java │ │ └── IntConstantFolder.java │ └── info │ │ ├── CurrDefInfo.java │ │ └── FinalInfo.java ├── ir │ ├── BasicBlock.java │ ├── Function.java │ ├── GlobalModificationStatus.java │ ├── GlobalVar.java │ ├── IRVerifyException.java │ ├── Module.java │ ├── Parameter.java │ ├── User.java │ ├── Value.java │ ├── analysis │ │ ├── AnalysisInfo.java │ │ └── AnalysisInfoOwner.java │ ├── constant │ │ ├── ArrayConst.java │ │ ├── BoolConst.java │ │ ├── Constant.java │ │ ├── FloatConst.java │ │ └── IntConst.java │ ├── inst │ │ ├── BinaryOpInst.java │ │ ├── BoolToIntInst.java │ │ ├── BrCondInst.java │ │ ├── BrInst.java │ │ ├── CAllocInst.java │ │ ├── CallInst.java │ │ ├── CmpInst.java │ │ ├── FloatToIntInst.java │ │ ├── GEPInst.java │ │ ├── InstKind.java │ │ ├── Instruction.java │ │ ├── IntToFloatInst.java │ │ ├── LoadInst.java │ │ ├── MemInitInst.java │ │ ├── PhiInst.java │ │ ├── ReturnInst.java │ │ ├── StoreInst.java │ │ └── UnaryOpInst.java │ ├── type │ │ ├── ArrayIRTy.java │ │ ├── FunctionIRTy.java │ │ ├── IRTyKind.java │ │ ├── IRType.java │ │ ├── IRTypeException.java │ │ ├── PointerIRTy.java │ │ └── SimpleIRTy.java │ └── visitor │ │ ├── ConstantVisitor.java │ │ ├── InstructionVisitor.java │ │ └── ValueVisitor.java ├── pass │ ├── backend │ │ ├── BackendPass.java │ │ ├── BackendPassManager.java │ │ ├── BranchToCond.java │ │ └── Peephole.java │ └── ir │ │ ├── BlockReorder.java │ │ ├── ClearUnreachableBlock.java │ │ ├── ClearUselessFunction.java │ │ ├── ClearUselessInstruction.java │ │ ├── ConstantFold.java │ │ ├── ConstructDominatorInfo.java │ │ ├── FunctionInline.java │ │ ├── FuseBasicBlock.java │ │ ├── FuseImmediatelyBranch.java │ │ ├── GCM.java │ │ ├── GlobalVariableToValue.java │ │ ├── HoistGlobalArrayLoad.java │ │ ├── IRPass.java │ │ ├── IRPassManager.java │ │ ├── InstructionCombiner.java │ │ ├── LCM.java │ │ ├── RemoveCurrDef.java │ │ ├── RemoveTrivialPhi.java │ │ ├── SimpleGVN.java │ │ ├── dataflow │ │ ├── BackwardDataFlowPass.java │ │ ├── DataFlowInfo.java │ │ └── ForwardDataFlowPass.java │ │ ├── loop │ │ ├── CanonicalLoop.java │ │ ├── CollectAndTransformCanonicalLoops.java │ │ ├── CollectLoops.java │ │ ├── FullyUnroll.java │ │ ├── InductionVariableReduce.java │ │ ├── JustLoop.java │ │ ├── JustLoopBlockInfo.java │ │ ├── LoopInvariantInfo.java │ │ ├── LoopPass.java │ │ ├── LoopUnroll.java │ │ ├── SimpilySSAForLoop.java │ │ └── SimpleInvariantHoist.java │ │ ├── memory │ │ ├── CollectMemoryDefinition.java │ │ ├── LocalArrayHoist.java │ │ ├── MemCache.java │ │ ├── MemPositionHandler.java │ │ ├── MemVariable.java │ │ ├── MemoryInfo.java │ │ ├── RemoveUnnecessaryArray.java │ │ ├── ReplaceConstantArray.java │ │ └── ReplaceUnnecessaryLoad.java │ │ └── util │ │ ├── MultiBasicBlockCloner.java │ │ └── SimpleInstructionCloner.java └── utils │ ├── ChainMap.java │ ├── CollectionTools.java │ ├── DisjointSetUnion.java │ ├── IList.java │ ├── IListException.java │ ├── IListOwner.java │ ├── INode.java │ ├── INodeOwner.java │ ├── ImmUtils.java │ ├── IteratorTools.java │ ├── LLVMDumper.java │ ├── Log.java │ ├── LogFailException.java │ ├── Pair.java │ ├── ReflectiveTools.java │ ├── StringUtils.java │ └── Triplet.java ├── test-data ├── asm-handmade │ ├── 00-number.out │ ├── 00-number.sy │ ├── 01-add-sub.out │ ├── 01-add-sub.sy │ ├── 02-mul-div-mod.out │ ├── 02-mul-div-mod.sy │ ├── 03-variable.out │ ├── 03-variable.sy │ ├── 04-if.out │ ├── 04-if.sy │ ├── 05-while.out │ ├── 05-while.sy │ ├── 06-array-init.out │ ├── 06-array-init.sy │ ├── 07-gvn-test.out │ ├── 07-gvn-test.sy │ ├── 08-fibonacci.in │ ├── 08-fibonacci.out │ ├── 08-fibonacci.sy │ ├── 09-large-stack.out │ ├── 09-large-stack.sy │ ├── 10-simple-float.in │ ├── 10-simple-float.out │ ├── 10-simple-float.sy │ ├── 11-func-params.in │ ├── 11-func-params.out │ ├── 11-func-params.sy │ ├── 12-global-float.out │ ├── 12-global-float.sy │ ├── 13-many-globals.out │ ├── 13-many-globals.sy │ ├── 14-float-put.in │ ├── 14-float-put.out │ ├── 14-float-put.sy │ ├── 15-many-values.out │ ├── 15-many-values.sy │ ├── 16-many-values2.out │ ├── 16-many-values2.sy │ ├── 17-many-params.in │ ├── 17-many-params.out │ ├── 17-many-params.sy │ ├── 18-float-put2.in │ ├── 18-float-put2.out │ ├── 18-float-put2.sy │ ├── 19-many-params2.out │ ├── 19-many-params2.sy │ ├── 20-many-params3.out │ ├── 20-many-params3.sy │ ├── 21-many-params4.out │ ├── 21-many-params4.sy │ ├── 22-splay.in │ ├── 22-splay.out │ ├── 22-splay.sy │ ├── 23-if-int.out │ ├── 23-if-int.sy │ ├── 24-arr-load.out │ ├── 24-arr-load.sy │ ├── 25-cmn.out │ ├── 25-cmn.sy │ ├── 26-floats.out │ ├── 26-floats.sy │ ├── 27-floats2.out │ ├── 27-floats2.sy │ ├── 28-bool-as-value.out │ ├── 28-bool-as-value.sy │ ├── 29-many-params5.out │ ├── 29-many-params5.sy │ ├── 30-many-params6.out │ ├── 30-many-params6.sy │ ├── 31-const-div.in │ ├── 31-const-div.out │ ├── 31-const-div.sy │ ├── 32-const-mod.in │ ├── 32-const-mod.out │ ├── 32-const-mod.sy │ ├── 33-const-mul.in │ ├── 33-const-mul.out │ ├── 33-const-mul.sy │ ├── 34-fibonacci.out │ ├── 34-fibonacci.sy │ ├── 35-add.in │ ├── 35-add.out │ ├── 35-add.sy │ ├── 36-multi-array.out │ └── 36-multi-array.sy ├── benchmark │ ├── bitset.in │ ├── bitset.out │ ├── bitset.sy │ ├── brainfuck.in │ ├── brainfuck.out │ ├── brainfuck.sy │ ├── conv.in │ ├── conv.out │ ├── conv.sy │ ├── if-combine.in │ ├── if-combine.out │ ├── if-combine.sy │ ├── many-params.in │ ├── many-params.out │ ├── many-params.sy │ ├── matmul.in │ ├── matmul.out │ ├── matmul.sy │ ├── mm.in │ ├── mm.out │ ├── mm.sy │ ├── sl.in │ ├── sl.out │ └── sl.sy ├── frontend │ ├── 00-fpow.out │ └── 00-fpow.sy ├── inst-combine │ ├── 00-multi-add.in │ ├── 00-multi-add.out │ ├── 00-multi-add.sy │ ├── 01-repeat-add.in │ ├── 01-repeat-add.out │ ├── 01-repeat-add.sy │ ├── 02-distribute-imul.in │ ├── 02-distribute-imul.out │ ├── 02-distribute-imul.sy │ ├── 03-addmulconst-test.in │ ├── 03-addmulconst-test.out │ └── 03-addmulconst-test.sy └── ir-handmade │ ├── 01-loop-unroll.in │ ├── 01-loop-unroll.out │ ├── 01-loop-unroll.sy │ ├── 02-loop-unroll-mem.in │ ├── 02-loop-unroll-mem.out │ ├── 02-loop-unroll-mem.sy │ ├── 03-gv2reg.in │ ├── 03-gv2reg.out │ ├── 03-gv2reg.sy │ ├── 04-gcm.in │ ├── 04-gcm.out │ ├── 04-gcm.sy │ ├── 05-induction.in │ ├── 05-induction.out │ ├── 05-induction.sy │ ├── 06-fully-unroll.out │ ├── 06-fully-unroll.sy │ ├── 07-nested-unroll.out │ ├── 07-nested-unroll.sy │ ├── 08-fpow.in │ ├── 08-fpow.out │ ├── 08-fpow.sy │ ├── 09-matmul.in │ ├── 09-matmul.out │ ├── 09-matmul.sy │ ├── fib.out │ ├── fib.sy │ ├── multi-array-to-one.out │ └── multi-array-to-one.sy └── util ├── libsysy.a ├── sylib.c └── sylib.h /.drone.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/.drone.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/.gitignore -------------------------------------------------------------------------------- /CI/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/CI/Dockerfile -------------------------------------------------------------------------------- /CI/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/CI/build.sh -------------------------------------------------------------------------------- /CI/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/CI/test.sh -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/README.md -------------------------------------------------------------------------------- /docs/CI.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/docs/CI.md -------------------------------------------------------------------------------- /docs/asset/ir-opt-block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/docs/asset/ir-opt-block.png -------------------------------------------------------------------------------- /docs/backend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/docs/backend.md -------------------------------------------------------------------------------- /docs/frontend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/docs/frontend.md -------------------------------------------------------------------------------- /docs/ir-optimze.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/docs/ir-optimze.md -------------------------------------------------------------------------------- /docs/ir.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/docs/ir.md -------------------------------------------------------------------------------- /docs/style.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/docs/style.md -------------------------------------------------------------------------------- /local-test/Dockerfile_arm64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/local-test/Dockerfile_arm64 -------------------------------------------------------------------------------- /local-test/Dockerfile_x86: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/local-test/Dockerfile_x86 -------------------------------------------------------------------------------- /local-test/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/local-test/test.py -------------------------------------------------------------------------------- /m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/m -------------------------------------------------------------------------------- /src/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/Compiler.java -------------------------------------------------------------------------------- /src/DebugTools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/DebugTools.java -------------------------------------------------------------------------------- /src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/Main.java -------------------------------------------------------------------------------- /src/backend/codegen/AsmBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/codegen/AsmBuilder.java -------------------------------------------------------------------------------- /src/backend/codegen/ToAsmManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/codegen/ToAsmManager.java -------------------------------------------------------------------------------- /src/backend/codegen/ToLIRManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/codegen/ToLIRManager.java -------------------------------------------------------------------------------- /src/backend/lir/ArmBlock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/ArmBlock.java -------------------------------------------------------------------------------- /src/backend/lir/ArmFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/ArmFunction.java -------------------------------------------------------------------------------- /src/backend/lir/ArmModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/ArmModule.java -------------------------------------------------------------------------------- /src/backend/lir/ArmShift.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/ArmShift.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInst.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstAddr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstAddr.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstBinary.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstBinary.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstBranch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstBranch.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstCall.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstCmp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstCmp.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstFloatToInt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstFloatToInt.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstIntToFloat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstIntToFloat.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstLiteralPoolPlacement.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstLiteralPoolPlacement.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstLoad.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstLoad.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstMove.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstMove.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstParamLoad.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstParamLoad.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstReturn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstReturn.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstStackAddr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstStackAddr.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstStackLoad.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstStackLoad.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstStackStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstStackStore.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstStore.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstTernary.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstTernary.java -------------------------------------------------------------------------------- /src/backend/lir/inst/ArmInstUnary.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/inst/ArmInstUnary.java -------------------------------------------------------------------------------- /src/backend/lir/operand/Addr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/Addr.java -------------------------------------------------------------------------------- /src/backend/lir/operand/FImm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/FImm.java -------------------------------------------------------------------------------- /src/backend/lir/operand/FPhyReg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/FPhyReg.java -------------------------------------------------------------------------------- /src/backend/lir/operand/FVirtualReg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/FVirtualReg.java -------------------------------------------------------------------------------- /src/backend/lir/operand/IImm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/IImm.java -------------------------------------------------------------------------------- /src/backend/lir/operand/IPhyReg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/IPhyReg.java -------------------------------------------------------------------------------- /src/backend/lir/operand/IVirtualReg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/IVirtualReg.java -------------------------------------------------------------------------------- /src/backend/lir/operand/Imm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/Imm.java -------------------------------------------------------------------------------- /src/backend/lir/operand/Operand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/Operand.java -------------------------------------------------------------------------------- /src/backend/lir/operand/Reg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/operand/Reg.java -------------------------------------------------------------------------------- /src/backend/lir/visitor/ArmInstVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/visitor/ArmInstVisitor.java -------------------------------------------------------------------------------- /src/backend/lir/visitor/OperandVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/lir/visitor/OperandVisitor.java -------------------------------------------------------------------------------- /src/backend/regallocator/GraphColoring.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/regallocator/GraphColoring.java -------------------------------------------------------------------------------- /src/backend/regallocator/InterfereRegs.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/regallocator/InterfereRegs.java -------------------------------------------------------------------------------- /src/backend/regallocator/LivenessAnalysis.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/regallocator/LivenessAnalysis.java -------------------------------------------------------------------------------- /src/backend/regallocator/RegAllocManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/regallocator/RegAllocManager.java -------------------------------------------------------------------------------- /src/backend/regallocator/RegAllocator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/regallocator/RegAllocator.java -------------------------------------------------------------------------------- /src/backend/regallocator/SimpleGraphColoring.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/backend/regallocator/SimpleGraphColoring.java -------------------------------------------------------------------------------- /src/frontend/IRBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/IRBuilder.java -------------------------------------------------------------------------------- /src/frontend/IRGen.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/IRGen.java -------------------------------------------------------------------------------- /src/frontend/SemanticException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SemanticException.java -------------------------------------------------------------------------------- /src/frontend/SourceCodeSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SourceCodeSymbol.java -------------------------------------------------------------------------------- /src/frontend/SymbolTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SymbolTable.java -------------------------------------------------------------------------------- /src/frontend/SysY.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysY.g4 -------------------------------------------------------------------------------- /src/frontend/SysY.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysY.interp -------------------------------------------------------------------------------- /src/frontend/SysY.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysY.tokens -------------------------------------------------------------------------------- /src/frontend/SysYBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysYBaseVisitor.java -------------------------------------------------------------------------------- /src/frontend/SysYLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysYLexer.interp -------------------------------------------------------------------------------- /src/frontend/SysYLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysYLexer.java -------------------------------------------------------------------------------- /src/frontend/SysYLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysYLexer.tokens -------------------------------------------------------------------------------- /src/frontend/SysYParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysYParser.java -------------------------------------------------------------------------------- /src/frontend/SysYVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/SysYVisitor.java -------------------------------------------------------------------------------- /src/frontend/folder/CondFolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/folder/CondFolder.java -------------------------------------------------------------------------------- /src/frontend/folder/FloatConstantFolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/folder/FloatConstantFolder.java -------------------------------------------------------------------------------- /src/frontend/folder/IntConstantFolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/folder/IntConstantFolder.java -------------------------------------------------------------------------------- /src/frontend/info/CurrDefInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/info/CurrDefInfo.java -------------------------------------------------------------------------------- /src/frontend/info/FinalInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/frontend/info/FinalInfo.java -------------------------------------------------------------------------------- /src/ir/BasicBlock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/BasicBlock.java -------------------------------------------------------------------------------- /src/ir/Function.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/Function.java -------------------------------------------------------------------------------- /src/ir/GlobalModificationStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/GlobalModificationStatus.java -------------------------------------------------------------------------------- /src/ir/GlobalVar.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/GlobalVar.java -------------------------------------------------------------------------------- /src/ir/IRVerifyException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/IRVerifyException.java -------------------------------------------------------------------------------- /src/ir/Module.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/Module.java -------------------------------------------------------------------------------- /src/ir/Parameter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/Parameter.java -------------------------------------------------------------------------------- /src/ir/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/User.java -------------------------------------------------------------------------------- /src/ir/Value.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/Value.java -------------------------------------------------------------------------------- /src/ir/analysis/AnalysisInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/analysis/AnalysisInfo.java -------------------------------------------------------------------------------- /src/ir/analysis/AnalysisInfoOwner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/analysis/AnalysisInfoOwner.java -------------------------------------------------------------------------------- /src/ir/constant/ArrayConst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/constant/ArrayConst.java -------------------------------------------------------------------------------- /src/ir/constant/BoolConst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/constant/BoolConst.java -------------------------------------------------------------------------------- /src/ir/constant/Constant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/constant/Constant.java -------------------------------------------------------------------------------- /src/ir/constant/FloatConst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/constant/FloatConst.java -------------------------------------------------------------------------------- /src/ir/constant/IntConst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/constant/IntConst.java -------------------------------------------------------------------------------- /src/ir/inst/BinaryOpInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/BinaryOpInst.java -------------------------------------------------------------------------------- /src/ir/inst/BoolToIntInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/BoolToIntInst.java -------------------------------------------------------------------------------- /src/ir/inst/BrCondInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/BrCondInst.java -------------------------------------------------------------------------------- /src/ir/inst/BrInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/BrInst.java -------------------------------------------------------------------------------- /src/ir/inst/CAllocInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/CAllocInst.java -------------------------------------------------------------------------------- /src/ir/inst/CallInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/CallInst.java -------------------------------------------------------------------------------- /src/ir/inst/CmpInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/CmpInst.java -------------------------------------------------------------------------------- /src/ir/inst/FloatToIntInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/FloatToIntInst.java -------------------------------------------------------------------------------- /src/ir/inst/GEPInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/GEPInst.java -------------------------------------------------------------------------------- /src/ir/inst/InstKind.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/InstKind.java -------------------------------------------------------------------------------- /src/ir/inst/Instruction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/Instruction.java -------------------------------------------------------------------------------- /src/ir/inst/IntToFloatInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/IntToFloatInst.java -------------------------------------------------------------------------------- /src/ir/inst/LoadInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/LoadInst.java -------------------------------------------------------------------------------- /src/ir/inst/MemInitInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/MemInitInst.java -------------------------------------------------------------------------------- /src/ir/inst/PhiInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/PhiInst.java -------------------------------------------------------------------------------- /src/ir/inst/ReturnInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/ReturnInst.java -------------------------------------------------------------------------------- /src/ir/inst/StoreInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/StoreInst.java -------------------------------------------------------------------------------- /src/ir/inst/UnaryOpInst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/inst/UnaryOpInst.java -------------------------------------------------------------------------------- /src/ir/type/ArrayIRTy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/type/ArrayIRTy.java -------------------------------------------------------------------------------- /src/ir/type/FunctionIRTy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/type/FunctionIRTy.java -------------------------------------------------------------------------------- /src/ir/type/IRTyKind.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/type/IRTyKind.java -------------------------------------------------------------------------------- /src/ir/type/IRType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/type/IRType.java -------------------------------------------------------------------------------- /src/ir/type/IRTypeException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/type/IRTypeException.java -------------------------------------------------------------------------------- /src/ir/type/PointerIRTy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/type/PointerIRTy.java -------------------------------------------------------------------------------- /src/ir/type/SimpleIRTy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/type/SimpleIRTy.java -------------------------------------------------------------------------------- /src/ir/visitor/ConstantVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/visitor/ConstantVisitor.java -------------------------------------------------------------------------------- /src/ir/visitor/InstructionVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/visitor/InstructionVisitor.java -------------------------------------------------------------------------------- /src/ir/visitor/ValueVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/ir/visitor/ValueVisitor.java -------------------------------------------------------------------------------- /src/pass/backend/BackendPass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/backend/BackendPass.java -------------------------------------------------------------------------------- /src/pass/backend/BackendPassManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/backend/BackendPassManager.java -------------------------------------------------------------------------------- /src/pass/backend/BranchToCond.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/backend/BranchToCond.java -------------------------------------------------------------------------------- /src/pass/backend/Peephole.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/backend/Peephole.java -------------------------------------------------------------------------------- /src/pass/ir/BlockReorder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/BlockReorder.java -------------------------------------------------------------------------------- /src/pass/ir/ClearUnreachableBlock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/ClearUnreachableBlock.java -------------------------------------------------------------------------------- /src/pass/ir/ClearUselessFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/ClearUselessFunction.java -------------------------------------------------------------------------------- /src/pass/ir/ClearUselessInstruction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/ClearUselessInstruction.java -------------------------------------------------------------------------------- /src/pass/ir/ConstantFold.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/ConstantFold.java -------------------------------------------------------------------------------- /src/pass/ir/ConstructDominatorInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/ConstructDominatorInfo.java -------------------------------------------------------------------------------- /src/pass/ir/FunctionInline.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/FunctionInline.java -------------------------------------------------------------------------------- /src/pass/ir/FuseBasicBlock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/FuseBasicBlock.java -------------------------------------------------------------------------------- /src/pass/ir/FuseImmediatelyBranch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/FuseImmediatelyBranch.java -------------------------------------------------------------------------------- /src/pass/ir/GCM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/GCM.java -------------------------------------------------------------------------------- /src/pass/ir/GlobalVariableToValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/GlobalVariableToValue.java -------------------------------------------------------------------------------- /src/pass/ir/HoistGlobalArrayLoad.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/HoistGlobalArrayLoad.java -------------------------------------------------------------------------------- /src/pass/ir/IRPass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/IRPass.java -------------------------------------------------------------------------------- /src/pass/ir/IRPassManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/IRPassManager.java -------------------------------------------------------------------------------- /src/pass/ir/InstructionCombiner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/InstructionCombiner.java -------------------------------------------------------------------------------- /src/pass/ir/LCM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/LCM.java -------------------------------------------------------------------------------- /src/pass/ir/RemoveCurrDef.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/RemoveCurrDef.java -------------------------------------------------------------------------------- /src/pass/ir/RemoveTrivialPhi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/RemoveTrivialPhi.java -------------------------------------------------------------------------------- /src/pass/ir/SimpleGVN.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/SimpleGVN.java -------------------------------------------------------------------------------- /src/pass/ir/dataflow/BackwardDataFlowPass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/dataflow/BackwardDataFlowPass.java -------------------------------------------------------------------------------- /src/pass/ir/dataflow/DataFlowInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/dataflow/DataFlowInfo.java -------------------------------------------------------------------------------- /src/pass/ir/dataflow/ForwardDataFlowPass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/dataflow/ForwardDataFlowPass.java -------------------------------------------------------------------------------- /src/pass/ir/loop/CanonicalLoop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/CanonicalLoop.java -------------------------------------------------------------------------------- /src/pass/ir/loop/CollectAndTransformCanonicalLoops.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/CollectAndTransformCanonicalLoops.java -------------------------------------------------------------------------------- /src/pass/ir/loop/CollectLoops.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/CollectLoops.java -------------------------------------------------------------------------------- /src/pass/ir/loop/FullyUnroll.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/FullyUnroll.java -------------------------------------------------------------------------------- /src/pass/ir/loop/InductionVariableReduce.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/InductionVariableReduce.java -------------------------------------------------------------------------------- /src/pass/ir/loop/JustLoop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/JustLoop.java -------------------------------------------------------------------------------- /src/pass/ir/loop/JustLoopBlockInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/JustLoopBlockInfo.java -------------------------------------------------------------------------------- /src/pass/ir/loop/LoopInvariantInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/LoopInvariantInfo.java -------------------------------------------------------------------------------- /src/pass/ir/loop/LoopPass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/LoopPass.java -------------------------------------------------------------------------------- /src/pass/ir/loop/LoopUnroll.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/LoopUnroll.java -------------------------------------------------------------------------------- /src/pass/ir/loop/SimpilySSAForLoop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/SimpilySSAForLoop.java -------------------------------------------------------------------------------- /src/pass/ir/loop/SimpleInvariantHoist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/loop/SimpleInvariantHoist.java -------------------------------------------------------------------------------- /src/pass/ir/memory/CollectMemoryDefinition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/CollectMemoryDefinition.java -------------------------------------------------------------------------------- /src/pass/ir/memory/LocalArrayHoist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/LocalArrayHoist.java -------------------------------------------------------------------------------- /src/pass/ir/memory/MemCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/MemCache.java -------------------------------------------------------------------------------- /src/pass/ir/memory/MemPositionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/MemPositionHandler.java -------------------------------------------------------------------------------- /src/pass/ir/memory/MemVariable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/MemVariable.java -------------------------------------------------------------------------------- /src/pass/ir/memory/MemoryInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/MemoryInfo.java -------------------------------------------------------------------------------- /src/pass/ir/memory/RemoveUnnecessaryArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/RemoveUnnecessaryArray.java -------------------------------------------------------------------------------- /src/pass/ir/memory/ReplaceConstantArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/ReplaceConstantArray.java -------------------------------------------------------------------------------- /src/pass/ir/memory/ReplaceUnnecessaryLoad.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/memory/ReplaceUnnecessaryLoad.java -------------------------------------------------------------------------------- /src/pass/ir/util/MultiBasicBlockCloner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/util/MultiBasicBlockCloner.java -------------------------------------------------------------------------------- /src/pass/ir/util/SimpleInstructionCloner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/pass/ir/util/SimpleInstructionCloner.java -------------------------------------------------------------------------------- /src/utils/ChainMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/ChainMap.java -------------------------------------------------------------------------------- /src/utils/CollectionTools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/CollectionTools.java -------------------------------------------------------------------------------- /src/utils/DisjointSetUnion.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/DisjointSetUnion.java -------------------------------------------------------------------------------- /src/utils/IList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/IList.java -------------------------------------------------------------------------------- /src/utils/IListException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/IListException.java -------------------------------------------------------------------------------- /src/utils/IListOwner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/IListOwner.java -------------------------------------------------------------------------------- /src/utils/INode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/INode.java -------------------------------------------------------------------------------- /src/utils/INodeOwner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/INodeOwner.java -------------------------------------------------------------------------------- /src/utils/ImmUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/ImmUtils.java -------------------------------------------------------------------------------- /src/utils/IteratorTools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/IteratorTools.java -------------------------------------------------------------------------------- /src/utils/LLVMDumper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/LLVMDumper.java -------------------------------------------------------------------------------- /src/utils/Log.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/Log.java -------------------------------------------------------------------------------- /src/utils/LogFailException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/LogFailException.java -------------------------------------------------------------------------------- /src/utils/Pair.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/Pair.java -------------------------------------------------------------------------------- /src/utils/ReflectiveTools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/ReflectiveTools.java -------------------------------------------------------------------------------- /src/utils/StringUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/StringUtils.java -------------------------------------------------------------------------------- /src/utils/Triplet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/src/utils/Triplet.java -------------------------------------------------------------------------------- /test-data/asm-handmade/00-number.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/00-number.sy: -------------------------------------------------------------------------------- 1 | int main() { 2 | return 0; 3 | } -------------------------------------------------------------------------------- /test-data/asm-handmade/01-add-sub.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/01-add-sub.sy: -------------------------------------------------------------------------------- 1 | int main() { 2 | return 12 + -3 * +4; 3 | } -------------------------------------------------------------------------------- /test-data/asm-handmade/02-mul-div-mod.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/02-mul-div-mod.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/02-mul-div-mod.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/03-variable.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/03-variable.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/03-variable.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/04-if.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/04-if.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/04-if.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/05-while.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/05-while.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/05-while.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/06-array-init.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/06-array-init.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/06-array-init.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/07-gvn-test.out: -------------------------------------------------------------------------------- 1 | 4 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/07-gvn-test.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/07-gvn-test.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/08-fibonacci.in: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/08-fibonacci.out: -------------------------------------------------------------------------------- 1 | 55 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/08-fibonacci.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/08-fibonacci.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/09-large-stack.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/09-large-stack.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/09-large-stack.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/10-simple-float.in: -------------------------------------------------------------------------------- 1 | 2 2 | 1.34232 4.2332 -------------------------------------------------------------------------------- /test-data/asm-handmade/10-simple-float.out: -------------------------------------------------------------------------------- 1 | 0x1.57a248p+0 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/10-simple-float.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/10-simple-float.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/11-func-params.in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | -------------------------------------------------------------------------------- /test-data/asm-handmade/11-func-params.out: -------------------------------------------------------------------------------- 1 | 28 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/11-func-params.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/11-func-params.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/12-global-float.out: -------------------------------------------------------------------------------- 1 | 0x1p+2 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/12-global-float.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/12-global-float.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/13-many-globals.out: -------------------------------------------------------------------------------- 1 | 21 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/13-many-globals.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/13-many-globals.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/14-float-put.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/14-float-put.in -------------------------------------------------------------------------------- /test-data/asm-handmade/14-float-put.out: -------------------------------------------------------------------------------- 1 | 5 2 | -0x1.eaf4ap-2 3 | 0 4 | -------------------------------------------------------------------------------- /test-data/asm-handmade/14-float-put.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/14-float-put.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/15-many-values.out: -------------------------------------------------------------------------------- 1 | 0 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/15-many-values.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/15-many-values.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/16-many-values2.out: -------------------------------------------------------------------------------- 1 | 0 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/16-many-values2.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/16-many-values2.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/17-many-params.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/17-many-params.in -------------------------------------------------------------------------------- /test-data/asm-handmade/17-many-params.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/17-many-params.out -------------------------------------------------------------------------------- /test-data/asm-handmade/17-many-params.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/17-many-params.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/18-float-put2.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/18-float-put2.in -------------------------------------------------------------------------------- /test-data/asm-handmade/18-float-put2.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/18-float-put2.out -------------------------------------------------------------------------------- /test-data/asm-handmade/18-float-put2.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/18-float-put2.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/19-many-params2.out: -------------------------------------------------------------------------------- 1 | 1000 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/19-many-params2.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/19-many-params2.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/20-many-params3.out: -------------------------------------------------------------------------------- 1 | 1000 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/20-many-params3.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/20-many-params3.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/21-many-params4.out: -------------------------------------------------------------------------------- 1 | 1001 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/21-many-params4.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/21-many-params4.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/22-splay.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/22-splay.in -------------------------------------------------------------------------------- /test-data/asm-handmade/22-splay.out: -------------------------------------------------------------------------------- 1 | 106465 2 | 84185 3 | 492737 4 | 0 5 | -------------------------------------------------------------------------------- /test-data/asm-handmade/22-splay.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/22-splay.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/23-if-int.out: -------------------------------------------------------------------------------- 1 | 1 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/23-if-int.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/23-if-int.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/24-arr-load.out: -------------------------------------------------------------------------------- 1 | 2 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/24-arr-load.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/24-arr-load.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/25-cmn.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/25-cmn.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/25-cmn.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/26-floats.out: -------------------------------------------------------------------------------- 1 | 0x1.0a8p+9 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/26-floats.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/26-floats.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/27-floats2.out: -------------------------------------------------------------------------------- 1 | 21 2 | 0x1.15p+9 3 | 0 4 | -------------------------------------------------------------------------------- /test-data/asm-handmade/27-floats2.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/27-floats2.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/28-bool-as-value.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/28-bool-as-value.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/28-bool-as-value.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/29-many-params5.out: -------------------------------------------------------------------------------- 1 | 1500 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/29-many-params5.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/29-many-params5.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/30-many-params6.out: -------------------------------------------------------------------------------- 1 | 1125750 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/30-many-params6.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/30-many-params6.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/31-const-div.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/31-const-div.in -------------------------------------------------------------------------------- /test-data/asm-handmade/31-const-div.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/31-const-div.out -------------------------------------------------------------------------------- /test-data/asm-handmade/31-const-div.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/31-const-div.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/32-const-mod.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/32-const-mod.in -------------------------------------------------------------------------------- /test-data/asm-handmade/32-const-mod.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/32-const-mod.out -------------------------------------------------------------------------------- /test-data/asm-handmade/32-const-mod.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/32-const-mod.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/33-const-mul.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/33-const-mul.in -------------------------------------------------------------------------------- /test-data/asm-handmade/33-const-mul.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/33-const-mul.out -------------------------------------------------------------------------------- /test-data/asm-handmade/33-const-mul.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/33-const-mul.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/34-fibonacci.out: -------------------------------------------------------------------------------- 1 | 55 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/34-fibonacci.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/34-fibonacci.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/35-add.in: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /test-data/asm-handmade/35-add.out: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /test-data/asm-handmade/35-add.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/35-add.sy -------------------------------------------------------------------------------- /test-data/asm-handmade/36-multi-array.out: -------------------------------------------------------------------------------- 1 | 4 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/asm-handmade/36-multi-array.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/asm-handmade/36-multi-array.sy -------------------------------------------------------------------------------- /test-data/benchmark/bitset.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/bitset.in -------------------------------------------------------------------------------- /test-data/benchmark/bitset.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/bitset.out -------------------------------------------------------------------------------- /test-data/benchmark/bitset.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/bitset.sy -------------------------------------------------------------------------------- /test-data/benchmark/brainfuck.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/brainfuck.in -------------------------------------------------------------------------------- /test-data/benchmark/brainfuck.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/brainfuck.out -------------------------------------------------------------------------------- /test-data/benchmark/brainfuck.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/brainfuck.sy -------------------------------------------------------------------------------- /test-data/benchmark/conv.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/conv.in -------------------------------------------------------------------------------- /test-data/benchmark/conv.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/conv.out -------------------------------------------------------------------------------- /test-data/benchmark/conv.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/conv.sy -------------------------------------------------------------------------------- /test-data/benchmark/if-combine.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/if-combine.in -------------------------------------------------------------------------------- /test-data/benchmark/if-combine.out: -------------------------------------------------------------------------------- 1 | 60255 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/benchmark/if-combine.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/if-combine.sy -------------------------------------------------------------------------------- /test-data/benchmark/many-params.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/many-params.in -------------------------------------------------------------------------------- /test-data/benchmark/many-params.out: -------------------------------------------------------------------------------- 1 | 8395071 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/benchmark/many-params.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/many-params.sy -------------------------------------------------------------------------------- /test-data/benchmark/matmul.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/matmul.in -------------------------------------------------------------------------------- /test-data/benchmark/matmul.out: -------------------------------------------------------------------------------- 1 | 340506323 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/benchmark/matmul.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/matmul.sy -------------------------------------------------------------------------------- /test-data/benchmark/mm.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/mm.in -------------------------------------------------------------------------------- /test-data/benchmark/mm.out: -------------------------------------------------------------------------------- 1 | -799731242 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/benchmark/mm.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/mm.sy -------------------------------------------------------------------------------- /test-data/benchmark/sl.in: -------------------------------------------------------------------------------- 1 | 300 2 | 3 3 | -------------------------------------------------------------------------------- /test-data/benchmark/sl.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/sl.out -------------------------------------------------------------------------------- /test-data/benchmark/sl.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/benchmark/sl.sy -------------------------------------------------------------------------------- /test-data/frontend/00-fpow.out: -------------------------------------------------------------------------------- 1 | 1 2 | 32 3 | 729 4 | 0 5 | -------------------------------------------------------------------------------- /test-data/frontend/00-fpow.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/frontend/00-fpow.sy -------------------------------------------------------------------------------- /test-data/inst-combine/00-multi-add.in: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | -------------------------------------------------------------------------------- /test-data/inst-combine/00-multi-add.out: -------------------------------------------------------------------------------- 1 | 25 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/inst-combine/00-multi-add.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/inst-combine/00-multi-add.sy -------------------------------------------------------------------------------- /test-data/inst-combine/01-repeat-add.in: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | -------------------------------------------------------------------------------- /test-data/inst-combine/01-repeat-add.out: -------------------------------------------------------------------------------- 1 | 81 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/inst-combine/01-repeat-add.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/inst-combine/01-repeat-add.sy -------------------------------------------------------------------------------- /test-data/inst-combine/02-distribute-imul.in: -------------------------------------------------------------------------------- 1 | 10 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /test-data/inst-combine/02-distribute-imul.out: -------------------------------------------------------------------------------- 1 | 50 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/inst-combine/02-distribute-imul.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/inst-combine/02-distribute-imul.sy -------------------------------------------------------------------------------- /test-data/inst-combine/03-addmulconst-test.in: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /test-data/inst-combine/03-addmulconst-test.out: -------------------------------------------------------------------------------- 1 | 52 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/inst-combine/03-addmulconst-test.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/inst-combine/03-addmulconst-test.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/01-loop-unroll.in: -------------------------------------------------------------------------------- 1 | 32 -------------------------------------------------------------------------------- /test-data/ir-handmade/01-loop-unroll.out: -------------------------------------------------------------------------------- 1 | 4995001000 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/ir-handmade/01-loop-unroll.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/01-loop-unroll.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/02-loop-unroll-mem.in: -------------------------------------------------------------------------------- 1 | 35 -------------------------------------------------------------------------------- /test-data/ir-handmade/02-loop-unroll-mem.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/02-loop-unroll-mem.out -------------------------------------------------------------------------------- /test-data/ir-handmade/02-loop-unroll-mem.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/02-loop-unroll-mem.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/03-gv2reg.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/03-gv2reg.in -------------------------------------------------------------------------------- /test-data/ir-handmade/03-gv2reg.out: -------------------------------------------------------------------------------- 1 | 49994955 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/ir-handmade/03-gv2reg.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/03-gv2reg.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/04-gcm.in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 -------------------------------------------------------------------------------- /test-data/ir-handmade/04-gcm.out: -------------------------------------------------------------------------------- 1 | 1 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/ir-handmade/04-gcm.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/04-gcm.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/05-induction.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/05-induction.in -------------------------------------------------------------------------------- /test-data/ir-handmade/05-induction.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/05-induction.out -------------------------------------------------------------------------------- /test-data/ir-handmade/05-induction.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/05-induction.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/06-fully-unroll.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/06-fully-unroll.out -------------------------------------------------------------------------------- /test-data/ir-handmade/06-fully-unroll.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/06-fully-unroll.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/07-nested-unroll.out: -------------------------------------------------------------------------------- 1 | 100400 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/ir-handmade/07-nested-unroll.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/07-nested-unroll.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/08-fpow.in: -------------------------------------------------------------------------------- 1 | 10 2 | 3 -------------------------------------------------------------------------------- /test-data/ir-handmade/08-fpow.out: -------------------------------------------------------------------------------- 1 | 1246383370 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/ir-handmade/08-fpow.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/08-fpow.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/09-matmul.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/09-matmul.in -------------------------------------------------------------------------------- /test-data/ir-handmade/09-matmul.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/09-matmul.out -------------------------------------------------------------------------------- /test-data/ir-handmade/09-matmul.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/09-matmul.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/fib.out: -------------------------------------------------------------------------------- 1 | 102334155 2 | 0 3 | -------------------------------------------------------------------------------- /test-data/ir-handmade/fib.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/fib.sy -------------------------------------------------------------------------------- /test-data/ir-handmade/multi-array-to-one.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/multi-array-to-one.out -------------------------------------------------------------------------------- /test-data/ir-handmade/multi-array-to-one.sy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/test-data/ir-handmade/multi-array-to-one.sy -------------------------------------------------------------------------------- /util/libsysy.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/util/libsysy.a -------------------------------------------------------------------------------- /util/sylib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/util/sylib.c -------------------------------------------------------------------------------- /util/sylib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitsz-compiler-lyk/ssyc/HEAD/util/sylib.h --------------------------------------------------------------------------------