# Summarise Contribution & Motivation - Build on existing work of function memoization - Extend the scope by doing it at compile time allowing user defined functions instead of dynamic linked - Memoization is just lookup in table of function results - Software solution and hardware for increased gains # Methodology - Identify functions which can be memoized - Functions that can be are replaced with memoization wrapper which looks up in table, or reverts to default storing value in table - Global variables are considered as extra arguments # Critical Assessment - Achieves better speedup than load-time optimisation in previous work - Causes memory overhead - Inlining can increase code size - Hardware solution is heavyweight and even with powergating has area implications