{"id":20706919,"url":"https://github.com/code-help-tutor/cis3410-7000-hw6-dataflow-analysis-and-optimizations","last_synced_at":"2026-04-19T18:31:43.174Z","repository":{"id":234866978,"uuid":"789653888","full_name":"code-help-tutor/CIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations","owner":"code-help-tutor","description":"CIS3410 HW6 代写代做 编程辅导, code help, CS tutor, WeChat: cstutorcs Email: tutorcs@163.com","archived":false,"fork":false,"pushed_at":"2024-04-21T07:04:48.000Z","size":1342,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T05:19:11.938Z","etag":null,"topics":["cis3410","hw6"],"latest_commit_sha":null,"homepage":null,"language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code-help-tutor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-21T07:04:41.000Z","updated_at":"2024-07-10T23:04:43.000Z","dependencies_parsed_at":"2024-06-28T16:48:04.520Z","dependency_job_id":null,"html_url":"https://github.com/code-help-tutor/CIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations","commit_stats":null,"previous_names":["code-help-tutor/cis3410-7000-hw6-dataflow-analysis-and-optimizations"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/code-help-tutor/CIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-help-tutor%2FCIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-help-tutor%2FCIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-help-tutor%2FCIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-help-tutor%2FCIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code-help-tutor","download_url":"https://codeload.github.com/code-help-tutor/CIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-help-tutor%2FCIS3410-7000-HW6-Dataflow-Analysis-and-Optimizations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32017824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cis3410","hw6"],"created_at":"2024-11-17T01:24:14.203Z","updated_at":"2026-04-19T18:31:43.146Z","avatar_url":"https://github.com/code-help-tutor.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HW6: Dataflow Analysis and Optimization\n\nQuick Start:\n\n1. clone this repository using `git clone`\n2. open the folder in VSCode\n3. start an OCaml sandbox terminal\n4. run `make test` from the command line\n5. open `bin/solver.ml`\n\nSee the general toolchain and project instructions on the course web site. The\ncourse web pages have a link to the html version of the homework instructions.\n\n\nUsing ``oatc``\n--------------\n\n``oatc`` acts like the clang compiler.  Given several .oat, .ll, .c, and .o\nfiles, it will compile the .oat and .ll files to .s files (using the CIS 341\nfrontend and backend) and then combine the results with the .c and .o files to\nproduce an executable named a.out.  You can also compile the .ll files using\nclang instead of the CIS 341 backend, which can be useful for testing\npurposes.\n\n\n* To run the automated test harness do:\n\n        ./oatc --test\n\n* To compile oat files using the 341 backend:\n\n        ./oatc path/to/foo.oat\n\n  - creates output/foo.ll  frontend ll code\n  - creates output/foo.s   backend assembly code\n  - creates output/foo.o   assembled object file\n  - creates a.out          linked executable\n\n NOTE: by default the .s and .o files are created in \n a directory called output, and the filenames are \n chosen so that multiple runs of the compiler will\n not overwrite previous outputs.  foo.ll will be \n compiled first to foo.s then foo_1.s, foo_2.s, etc.\n\n* To compile oat files using the clang backend:\n\n        ./oatc --clang path/to/foo.oat\n\n* Useful flags:\n\n  | Flag                            | Description                                                                                       |\n  |---------------------------------|---------------------------------------------------------------------------------------------------|\n  | --regalloc {none,greedy,better} | use the specified register allocator                                                              |\n  | --liveness {trivial,dataflow}   | use the specified liveness analysis                                                               |\n  | --print-regs                    | prints the register usage statistics for x86 code                                                 |\n  | --print-oat                     | pretty prints the Oat abstract syntax to the terminal                                             |\n  | --print-ll                      | echoes the ll program to the terminal                                                             |\n  | --print-x86                     | echoes the resulting .s file to the terminal                                                      |\n  | --interpret-ll                  | runs the ll file through the reference interpreter and outputs the results to the console         |\n  | --execute-x86                   | runs the resulting a.out file natively (applies to either the 341 backend or clang-compiled code) |\n  | --clang                         | compiles to assembly using clang, not the 341 backend                                             |\n  | -v                              | generates verbose output, showing which commands are used for linking, etc.                       |\n  | -op ``\u003cdirname\u003e``               | change the output path [DEFAULT=output]                                                           |\n  | -o                              | change the generated executable's name [DEFAULT=a.out]                                            |\n  | -S                              | stop after generating .s files                                                                    |\n  | -c                              | stop after generating .o files                                                                    |\n  | -h or --help                    | display the list of options                                                                       |\n\n\n* Example uses:\n\nRun the test case hw4programs/fact.oat using the 341 backend:\n\n          ./oatc --execute-x86 hw4programs/fact.oat bin/runtime.c \n          120--------------------------------------------------------------- Executing: a.out\n          * a.out returned 0\n# CIS3410 7000 HW6 Dataflow Analysis and Optimizations\n\n# 程序代做代写 CS编程辅导\n\n# WeChat: cstutorcs\n\n# Email: tutorcs@163.com\n\n# CS Tutor\n\n# Code Help\n\n# Programming Help\n\n# Computer Science Tutor\n\n# QQ: 749389476\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-help-tutor%2Fcis3410-7000-hw6-dataflow-analysis-and-optimizations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode-help-tutor%2Fcis3410-7000-hw6-dataflow-analysis-and-optimizations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-help-tutor%2Fcis3410-7000-hw6-dataflow-analysis-and-optimizations/lists"}