Porting to llvm 3.3