Project - Stage 3: into the Clone PruningIntroduction Building on my progress from Stages I and II, this final phase of my SPO600 project focused on enhancing the GCC compiler pass to handle multiple sets of cloned functions. This stage required significant debugging and troubleshooting as ...Apr 18, 2025·5 min read
Project - Stage 2: Wandering in Directories🔧 Objective In Stage 2 of the SPO600 project, we were tasked with creating a GCC compiler pass to analyze cloned functions and determine if they are "substantially the same" or different. If two clones are structurally identical (even if variable na...Apr 6, 2025·2 min read
Project - Stage 2 : InitialisedFor project stage 2, We have to create a pass for the GCC compiler which analyzes the program being compiled. This project built upon my earlier work from Stage 1, where I created a basic GCC pass that counted basic blocks and gimple statements withi...Apr 4, 2025·2 min read
Some Troubleshooting: On the wayTroubleshooting Process Debugging with approach be: Initial Error Analysis: When my first build attempt failed, I examined the error logs carefully: ./pass-instances.def:47:23: error: expected ';' at end of member declaration 47 | NEXT_PASS_WITH_A...Mar 10, 2025·3 min read
Project 1: Creating a Custom GCC Pass:Introduction For Stage 1 of my SPO600 project, I developed a custom pass for the GCC compiler that analyzes compiled code by printing each function's name, counting basic blocks, and displaying the total number of GIMPLE statements in each function. ...Mar 10, 2025·4 min read
Diving into the Machine: Lab 5Introduction In Lab 5, we delved into the fundamentals of 64-bit assembly programming by implementing simple loop-based programs on both x86_64 and AArch64 platforms. We have been tasked with writing assembly code to print a message repeatedly, conve...Mar 1, 2025·5 min read
Lab 3 - Follow upIntroduction In this project, I modified a 6502 Assembly program originally designed for addition and turned it into a subtraction calculator. I used and adapted code from Krins Kumar’s blog post. This post satisfies that requirement by clearly label...Feb 25, 2025·1 min read