]> git.lizzy.rs Git - rust.git/commitdiff
Fix LLVMRustSetHasUnsafeAlgebra to only have effect on instructions
authorUlrik Sverdrup <bluss@users.noreply.github.com>
Sat, 19 Mar 2016 21:02:33 +0000 (22:02 +0100)
committerUlrik Sverdrup <bluss@users.noreply.github.com>
Sat, 19 Mar 2016 21:35:28 +0000 (22:35 +0100)
src/rustllvm/RustWrapper.cpp

index f488a517b23fcc292c80ad29cae66445c1c124e2..33174c1e9dfe36abdb0c91aa82000320b8e7c6a6 100644 (file)
@@ -165,8 +165,10 @@ extern "C" void LLVMRemoveFunctionAttrString(LLVMValueRef fn, unsigned index, co
 }
 
 // enable fpmath flag UnsafeAlgebra
-extern "C" void LLVMRustSetHasUnsafeAlgebra(LLVMValueRef Instr) {
-    unwrap<Instruction>(Instr)->setHasUnsafeAlgebra(true);
+extern "C" void LLVMRustSetHasUnsafeAlgebra(LLVMValueRef V) {
+    if (auto I = dyn_cast<Instruction>(unwrap<Value>(V))) {
+        I->setHasUnsafeAlgebra(true);
+    }
 }
 
 extern "C" LLVMValueRef LLVMBuildAtomicLoad(LLVMBuilderRef B,