Upgrade LLVM and Clang to current ToT (#305)
* Fix uses of getOrInsertFunction
* return type changed
* Fix uses of raw_fd_ostream
* enums changed
* Fix memcpy replacement
* alignments are now src and dest params
* Add default verification prefix
* needs to know what string to use with -verify
* Test updates
* struct inserts needs new targeted tests
* pointer selection needs new targeted tests
* Allow old toolchains
* rewrite function attribute copy
diff --git a/lib/HideConstantLoadsPass.cpp b/lib/HideConstantLoadsPass.cpp
index d3b5cda..dccbff7 100644
--- a/lib/HideConstantLoadsPass.cpp
+++ b/lib/HideConstantLoadsPass.cpp
@@ -105,7 +105,7 @@
// Make the function.
FunctionType* fnTy = FunctionType::get(loadedTy, {loadedTy}, false);
auto fn_constant = M.getOrInsertFunction(fn_name, fnTy);
- fn = cast<Function>(fn_constant);
+ fn = cast<Function>(fn_constant.getCallee());
fn->addFnAttr(Attribute::ReadOnly);
}