You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
UMAAL is only available in the ARMv7E-M processors but if you compile core for the thumbv7m (ARMv7-M) target, rustc/LLVM generates them for the core::num::flt2dec::strategy::grisu::format_shortest_opt function.
Relevant information: See the ARM Cortex-M instructions groups table under instructions sets. UMAAL is in the group of instructions that are not available for the Cortex-M3, which is the processor the thumbv7m target covers.
Building core with a explicit -C target-cpu=cortex-m3 still generates the UMAAL instruction. This seems like a bug in LLVM.
So, I've rebased rust-llvm-2016-07-09 branch to match llvm version 3.9.1 and then I backported my fix on top of it. The new branch is called rust-llvm-2016-10-29 and I don't know what to do next.
Ok I've pushed your branch to rust-lang/llvm (thanks for the rebase to 3.9.1!). As @japaric mentioned if you want to send a PR to rust-lang/rust updating the submodule I'll r+ that
Activity
japaric commentedon Oct 17, 2016
Relevant information: See the ARM Cortex-M instructions groups table under instructions sets. UMAAL is in the group of instructions that are not available for the Cortex-M3, which is the processor the thumbv7m target covers.
Building core with a explicit
-C target-cpu=cortex-m3
still generates the UMAAL instruction. This seems like a bug in LLVM.pftbest commentedon Oct 18, 2016
Minimal IR that triggers the problem:
bugpoint-reduced-simplified.ll
It generates umaal instruction when is compiled by
llc
pftbest commentedon Oct 22, 2016
I have submitted the fix for review:
https://reviews.llvm.org/D25890
pftbest commentedon Oct 27, 2016
Fixed in llvm upstream, r285278 and r285280
pftbest commentedon Oct 28, 2016
How does llvm version gets updated? Do I need to backport this fix to llvm 3.9 somehow, so it could land in rust?
alexcrichton commentedon Oct 28, 2016
@pftbest nice! To update LLVM there's two routes:
(1) is much easier than (2) typically, and we're fine with both!
pftbest commentedon Oct 28, 2016
So, I've rebased
rust-llvm-2016-07-09
branch to match llvm version3.9.1
and then I backported my fix on top of it. The new branch is calledrust-llvm-2016-10-29
and I don't know what to do next.japaric commentedon Oct 28, 2016
@pftbest I think:
make check
) locally.a core membersomeone with push access to the rust-lang/llvm repo to create a new 10-29 branch therealexcrichton commentedon Oct 29, 2016
Ok I've pushed your branch to rust-lang/llvm (thanks for the rebase to 3.9.1!). As @japaric mentioned if you want to send a PR to rust-lang/rust updating the submodule I'll r+ that
pftbest commentedon Oct 29, 2016
Thank you! I have submitted a #37465
2 remaining items