Closed jedbrown closed 3 days ago
What OS are you on? I couldn't reproduce it on 3 different systems.
Arch Linux and Debian (reproduced on both systems), both x86-64.
I don't have these three, maybe try without?
[rust]
debug = true
llvm-bitcode-linker = true
lld = true
Independently, try to change
EncodeCrossCrate::No to EncodeCrossCrate::Yes in compiler/rustc_feature/src/builtin_attrs.rs
line ~756
potentially related: https://github.com/rust-lang/rust/pull/129458#discussion_r1738204301
Removing debug = true
works on both machines and I can run the samples
and integration
tests in rustbook (great). I'm having trouble tracking down how to activate the new enzyme-loose-types key with rust.
Thanks. Seems to work (accepts the option), but rustbook/samples-loose-types
is currently failing
Illegal updateAnalysis prev:{[-1]:Pointer, [-1,-1]:Integer} new: {[-1]:Pointer, [-1,0]:Float@double}
val: %10 = getelementptr inbounds [6 x double], ptr %3, i64 0, i64 2, !dbg !254 origin= store double %29, ptr %10, align 8, !dbg !254, !alias.scope !261, !noalias !264
error: could not compile `samples-loose-types` (test "mod")
after setting
diff --git c/samples-loose-types/tests/neohookean/mod.rs w/samples-loose-types/tests/neohookean/mod.rs
index e122c81..234ee75 100644
--- c/samples-loose-types/tests/neohookean/mod.rs
+++ w/samples-loose-types/tests/neohookean/mod.rs
@@ -3,6 +3,7 @@
#![allow(non_snake_case)]
+use std::autodiff::autodiff;
use std::ops::{Add, Mul, Sub};
type Mat3x3 = [[f64; 3]; 3];
This is low priority and perhaps that example needs more changes (it uses second derivatives).
closing, since the original bug was fixed. If the higher order persists after moving to the pass approach you can open a new issue (though probably against enzyme core).
Code
This occurs while building rustc at 012062a3d7d2d52614eff5bc30526fc88596e3b7. I used the
config.toml
below and did a clean rebuildx build --stage 1 library
after deleting my build directory.Error output
Full trace: rustc-ice-2024-10-28T18_58_06-3594632.txt