Dylan McKay
Dylan McKay
https://github.com/avr-rust/rust/pull/137#issuecomment-500090606 > The underlying issue is that `*const T` always has `addrspace(0)`. I think explicit casts (`ptr as *const T`) should preserve the address space of their input [here](https://github.com/rust-lang/rust/blob/d132f544f9d74e3cc047ef211e57eae60b78e5c5/src/librustc_codegen_ssa/mir/rvalue.rs#L329). >...
Not sure, but I've managed to work around it by replacing the implementation of the function pointer `Debug::fmt` implementations with `Ok(())`. As of 20 seconds ago, I successfully compiled the...
Good point, I've updated the commit and pushed 8b7240e60bc9609e1efb0552d847dd2fa6af17d9.
The current patch is this ```diff diff --git a/src/libcore/ptr/mod.rs b/src/libcore/ptr/mod.rs index a04bb11311..caef99ca47 100644 --- a/src/libcore/ptr/mod.rs +++ b/src/libcore/ptr/mod.rs @@ -2631,14 +2631,14 @@ macro_rules! fnptr_impls_safety_abi { #[stable(feature = "fnptr_impls", since = "1.4.0")]...
Thanks for re-pining this @shepmaster, I lost track of this. I've been working on address space cast fixes in the same area here: https://github.com/rust-lang/rust/pull/73270 I will try and merge the...
That makes sense - the "other failures down the line" - were they related to function pointer casts? I'm curious because it would be an interesting data point if that...
I've added a 32-bit multiplication test to the compiler integration test suite dylanmckay/avr-compiler-integration-tests@d14e4591a6a2d2661390bc8140cef6581eca8aab and it passes on LLVM trunk.
The way forward here is to convert the AVR backend from the old `ADDE/ADDC/SUBE/SUBC` DAG opcodes to the `UADDO/ADDCARRY/USUBO/SUBCARRY` DAG opcodes. The old ones have been deprecated for a while....
Hm, I can't reproduce this on LLVM trunk anymore, on either testcase. ```llvm ; ModuleID = 'bugpoint-reduced-simplified.bc' source_filename = "bugpoint-output-95356ba.bc" target datalayout = "e-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8" target triple = "avr-unknown-unknown" %"num::bignum::Big32x40" =...
I cherry-picked avr-rust/llvm-project@56d676b08b956051de3f781e7afd73365d62a7a9 and avr-rust/llvm-project@a5b647806b43a505da004f54e19b41476121c98b into the `avr-support-aa35e73b` branch (#137), and this test no longer fails.