Implementation of LLVM compiler plugin for garbage collection