Addressed the issued raised in the pull request for this branch. Renamed remove_trivial_allocations to remove_dead_allocations, added a visitor for Free node, fixed the CMakeLists.txt file, fixed some style issues, and clarified the comments.