Janggun Lee
Janggun Lee
Get a taste of using parallelism in Rust. - Read the description [here](https://github.com/kaist-cp/cs220/blob/main/src/assignments/assignment13/mod.rs). You're going to fill out the `todo!()`s. - You can grade your solution yourself by running `./scripts/grade.sh...
Get a taste of using concurrency in Rust. - Read the description [here](https://github.com/kaist-cp/cs220/blob/main/src/assignments/assignment12/mod.rs). You're going to fill out the `todo!()`s. - You can grade your solution yourself by running `./scripts/grade.sh...
Get used to using "smart pointers" in Rust. - Read the description [here](https://github.com/kaist-cp/cs220/blob/main/src/assignments/assignment11/mod.rs). You're going to fill out the `todo!()`s. - You can grade your solution yourself by running `./scripts/grade.sh...
Get used to using iterators in Rust, part 2. - Read the description [here](https://github.com/kaist-cp/cs220/blob/main/src/assignments/assignment10/mod.rs). You're going to fill out the `todo!()`s. - You can grade your solution yourself by running...
Get used to First-class functions in Rust. - Read the description [here](https://github.com/kaist-cp/cs220/blob/main/src/assignments/assignment08/mod.rs). You're going to fill out the `todo!()`s. - You can grade your solution yourself by running `./scripts/grade.sh 8`....
Performance Competition. - **instruction** + https://docs.google.com/presentation/d/1SqtU-Cn60Sd1jkbO0OSsRYKPMIkul0eZoYG9KpMugFE/edit#slide=id.g8085bd6ec8_44_0 + Since your solution will be linked with some [driver](https://github.com/kaist-cp/kecc-public/blob/main/bench/driver.cpp), you need to follow the [LP64D ABI](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/44f98e0fd8104def00f2a5a8d94b23dd647d18fb/riscv-elf.md#named-abis), which is the default ABI of RV64G...
Implement assembly generation. - **instruction** + https://www.youtube.com/watch?v=qLZUtNTYIoo&list=PL5aMzERQ_OZ8RWqn-XiZLXm1IJuaQbXp0&index=28 and the following videos in the same playlist + https://docs.google.com/presentation/d/1SqtU-Cn60Sd1jkbO0OSsRYKPMIkul0eZoYG9KpMugFE/edit#slide=id.g8085bd6ec8_18_13 + RISC-V ISA manual: Vol 1 of https://lf-riscv.atlassian.net/wiki/spaces/HOME/pages/16154769/RISC-V+Technical+Specifications. - **skeleton**: https://github.com/kaist-cp/kecc-public/blob/main/src/asmgen/mod.rs + fill...
Implement deadcode elimination. - **instruction** + https://www.youtube.com/watch?v=zoCikRTbDbY&list=PL5aMzERQ_OZ8RWqn-XiZLXm1IJuaQbXp0&index=26 + https://docs.google.com/presentation/d/1SqtU-Cn60Sd1jkbO0OSsRYKPMIkul0eZoYG9KpMugFE/edit#slide=id.g87567d459f_0_5 - **skeleton**: https://github.com/kaist-cp/kecc-public/blob/main/src/opt/deadcode.rs + fill out `todo!()`. + **don't fork this repository.** It'll be public! - **self grader** + https://github.com/kaist-cp/kecc-public/blob/main/scripts/grade-deadcode.sh -...
Implement global value numbering. - **instruction** + https://www.youtube.com/watch?v=ICxRjSz7AtU&list=PL5aMzERQ_OZ8RWqn-XiZLXm1IJuaQbXp0&index=25 + https://docs.google.com/presentation/d/1SqtU-Cn60Sd1jkbO0OSsRYKPMIkul0eZoYG9KpMugFE/edit#slide=id.g84443caee3_2_34 - **skeleton**: https://github.com/kaist-cp/kecc-public/blob/main/src/opt/gvn.rs + fill out `todo!()`. + **don't fork this repository.** It'll be public! - **self grader** + https://github.com/kaist-cp/kecc-public/blob/main/scripts/grade-gvn.sh...
Implement register promotion. - **instruction** + Note: The videos are outdated. We are going to teach a much simpler algorithm in the lectures. + https://www.youtube.com/watch?v=vYIkVQq2Wy0&list=PL5aMzERQ_OZ8RWqn-XiZLXm1IJuaQbXp0&index=19 and the following videos in...