Added an optimization pass to be applied after specialize_branched_loops that removes the dead allocations that can potentially be produced by that pass.
Reverted a change that was inadvertantly added to the last commit.
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.
Merge branch 'master' into remove_trivial_allocs
Merge branch 'remove_trivial_allocs'