Fix loops

Break out loop test suites
Abstract llvm utils into seperate file
Fixes #5