SSSamarth Sharmainsoftware-portability-and-optimization.hashnode.dev·Apr 18, 2025 · 5 min readProject - 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 ...00
SSSamarth Sharmainsoftware-portability-and-optimization.hashnode.dev·Apr 17, 2025 · 3 min readProject - Stage 3: ImplementationEnhanced Clone Detection My implementation in tree-cloneprune.cc now uses more sophisticated methods to identify and analyze multiple sets of cloned functions. Key improvements include: Using regex pattern matching to identify function variants with...00
SSSamarth Sharmainsoftware-portability-and-optimization.hashnode.dev·Apr 14, 2025 · 1 min readProject - Stage 3 : InitialisedThroughout this semester, We've been working on an enhancement to the GCC Compiler(reference). We want to aim for implementing Automatic Function Multi-Versioning (AFMV) cloning. Essentially, AFMV cloning allows a compiler to automatically generate o...00
SSSamarth Sharmainsoftware-portability-and-optimization.hashnode.dev·Apr 7, 2025 · 3 min readSubstantially the same: Project Stage 2To wrap up for Stage 2 of my SPO600 project, I implemented a GCC compiler pass that analyzes function clones and determines if they should be pruned. This pass identifies when multiple versions of a function are substantially similar, allowing for po...00
SSSamarth Sharmainsoftware-portability-and-optimization.hashnode.dev·Apr 7, 2025 · 2 min readProject Stage 2From 2 000 lines of red to a clean GCC build 🚦 “Nothing teaches you GCC internals faster than fixing your own pass.” 1 Context Goal: create a GIMPLE‑level pass that prints NOPRUNE: for the first function with a unique structure and PRUNE: for...00