search for: v6m

Displaying 19 results from an estimated 19 matches for "v6m".

Did you mean: v6
2014 Dec 16
1
[LLVMdev] Newbee question: LLVM backend regression tests for thumb1 targets on simulator possible?
...instead :-). > Yeah, that should work for the most part, unless you emit thumb2 > instructions (which will work on cortex-m3, but not m0). The list of > them is pretty small though IIRC, so maybe you can write a script that > disassembles & checks for them. Cortex-M0 implements the v6m architecture. Cortex-M3 implements the v7m architecture. Having had a quick look at the v6m and the v7m ARMARM's, next to the extra instructions v7m supports, I think the main other difference that's very relevant for a code generator is that v6m always generates a fault when an unaligned...
2014 Dec 15
3
[LLVMdev] Newbee question: LLVM backend regression tests for thumb1 targets on simulator possible?
Hello, as a newbee, I'd appreciate some support on regression test setup. Specifically, I am interrested in the feature of tail call optimizations for the ARM v6m targets. This feature currently seems to be completely deactivated at the moment (v6m being based on thumb1 ?!). According to my code-reading, this feature will involve some modifications in epilogue generation. My work on a gcc backend did show me that for a beginner like me, it is rather likely...
2015 Jan 11
2
[LLVMdev] [RFC] [ARM] v6m: Suggestions for a slightly different set of default optimizer settings.
Hello to all. When studying forums and mailing lists it seems to me that llvm usage for very small arm v6m targets is not so common. In the last months, I have spent some time on analyzing performance of llvm/clang for very small targets. My main objective was to get the best possible performance from portable (non-assembly) crypto numerics for cortex-M0(+) targets. As a result (crypto paper is in...
2014 Dec 16
2
[LLVMdev] Newbee question: LLVM backend regression tests for thumb1 targets on simulator possible?
On 12/16/14 3:53 AM, Kristof Beyls wrote: > I've been wondering too about how to get better ARM v6m compile-and-execute > testing going. > > As you say Jon, the non-execution-based regression tests are surprisingly > good at catching issues; but they're no full substitute for executing the > code produced by the backend for a reasonably-sized test suite. > > If somehow it...
2015 Mar 30
2
[LLVMdev] About Compiler-RT
Hi, all I used Clang to compile an ARM-v6m project. The runtime library is from GNU-ARM. But as I used 'memcpy' function, an error 'undefined reference to `__aeabi_memcpy' was emitted by linker. Does it mean that I must use LLVM compiler-RT instead? Thanks a lot. -------------- Steven ***************************** Legal Di...
2016 Jan 08
2
Diff to add ARMv6L to Target parser
...Parser.cpp (working copy) @@ -401,6 +401,7 @@ .Case("v5", "v5t") .Case("v5e", "v5te") .Case("v6j", "v6") + .Case("v6l", "v6") .Case("v6hl", "v6k") .Cases("v6m", "v6sm", "v6s-m", "v6-m") .Cases("v6z", "v6zk", "v6kz") Index: unittests/ADT/TripleTest.cpp =================================================================== --- unittests/ADT/TripleTest.cpp (revision 257090) +++ unittests/A...
2014 Dec 19
1
[LLVMdev] Newbee question: LLVM backend regression tests for thumb1 targets on simulator possible?
...; environment will be far more artificial than we'd like, and probably > very low down on qemu's list of priorities to boot. > > Testing a Thumb1 CPU with an MMU (I'm sure there are ARM11* CPUs with > MMU but before Thumb2, but would need to dig into which is closest to > v6m) would cover *most* issues, but obviously not the ways in which > Cortex-M0 is closer to v7 than v6. Why not test on real hardware? https://developer.mbed.org/platforms/DipCortex-M0/ cheers, --renato
2017 Nov 26
5
Compilation issue "unsupported relocation on symbol" with clang 3.7.1
..._model.c.o ../projects/compiler-rt/lib/builtins/cpu_model.c:596:7: warning: ISO C requires a translation unit to contain at least one declaration [-Wempty-translation-unit] #endif ^ 1 warning generated. [1786/5024] Building C object projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-armv6m.dir/cpu_model.c.o ../projects/compiler-rt/lib/builtins/cpu_model.c:596:7: warning: ISO C requires a translation unit to contain at least one declaration [-Wempty-translation-unit] #endif ^ 1 warning generated. [1915/5024] Building ASM object projects/compiler-rt/lib/built...s/CMakeFiles/clang_rt.b...
2014 Jul 09
5
[LLVMdev] [PATCH][REQUEST] Could someone submit this CSR Kalimba definitions patch please?
...spir64, // SPIR: standard portable IR for OpenCL 64-bit version + kalimba // Kalimba: generic kalimba }; - enum SubArchType { - NoSubArch, - - ARMSubArch_v8, - ARMSubArch_v7, - ARMSubArch_v7em, - ARMSubArch_v7m, - ARMSubArch_v7s, - ARMSubArch_v6, - ARMSubArch_v6m, - ARMSubArch_v6t2, - ARMSubArch_v5, - ARMSubArch_v5te, - ARMSubArch_v4t, - ARMSubArch_v4 - }; enum VendorType { UnknownVendor, @@ -104,7 +89,8 @@ BGQ, Freescale, IBM, - NVIDIA + NVIDIA, + CSR }; enum OSType { UnknownOS, @@ -164,9...
2015 Jan 11
3
[LLVMdev] [RFC] [PATCH] add tail call optimization to thumb1-only targets
Hello, find enclosed a first patch for adding tail call optimizations for thumb1 targets. I assume that this list is the right place for publishing patches for review? Since this is my first proposal for LLVM, I'd very much appreciate your feedback. What the patch is meant to do: For Tail calls identified during DAG generation, the target address will be loaded into a register by use
2020 Jul 21
2
[ARM] Should Use Load and Store with Register Offset
Hello Sjoerd, Thank you for your response! I was not aware that -Oz is a closer equivalent to GCC's -Os. I tried -Oz when compiling with clang and confirmed that the Clang's generated assembly is equivalent to GCC for the code snippet I posted above. clang --target=armv6m-none-eabi -Oz -fomit-frame-pointer memcpy_alt1: push {r4, lr} movs r3, #0 .LBB0_1: cmp r2, r3 beq .LBB0_3 ldrb r4, [r1, r3] strb r4, [r0, r3] adds r3, r3, #1 b .LBB0_1 .LBB0_3: pop {r4, pc} On...
2016 May 17
3
llvm-toolchain-3.8 on lower arm targets, specifically Debian armel and Raspbian.
llvm-toolchain-3.8 seems to have problems on debian armel and raspbian. On raspbian it builds but our armv7 contamination checker blocked it from entering the repo. Further investigation showed that "compiler-rt" was being built with -march=armv7 . I was able to remove the -march with some build-system hacker but then I got a failure on
2019 Mar 11
2
Compiling for baremetal ARMv4 on Ubuntu Linux
Hello Christian, I reran my script with a similar cmake command to yours. After the build finished the following command from the build directory gave me: find . -name \*builtins.a ./lib/clang/9.0.0/armv6m-none-eabi/lib/libclang_rt.builtins.a ./lib/clang/9.0.0/armv7m-none-eabi/lib/libclang_rt.builtins.a ./lib/clang/9.0.0/armv7em-none-eabi/lib/libclang_rt.builtins.a I hope you see something like this with your build. You can check that they are correct by disassembling them to see if they contain the...
2019 Mar 04
2
Compiling for baremetal ARMv4 on Ubuntu Linux
Hello Christian, I'd expect that adding the library paths (-L) from gcc -v should fix the unable to find -lc, -lm but it won't fix the -lclang_rt.builtins-armv6m.a . To get clang_rt.builtins-armv6m.a you will need to cross compile compiler-rt for v6m and copy it to /usr/local/myclang/lib/clang/8.0.0/lib/baremetal . Beware that building compiler-rt for v6m does need quite a bit of fighting cmake (https://llvm.org/docs/HowToCrossCompileBuiltinsOnArm.html). Yo...
2016 Jan 05
6
Diff to add ARMv6L to Target parser
> You assume triples make sense. That's the first mistake everyone does > when thinking about triples. :) I know they don't make sense in many corner cases, but I think discarding logic where it *does* exist is a mistake. > AFAIK, "ARMv7B" is only used by HighBank, which is no more. But that, > too, was "ARMv7A big endian". I believe it's what any
2019 Feb 04
2
Compiling for baremetal ARMv4 on Ubuntu Linux
...aremetal arm > (consisting of barehelloCLANG.c and a small io.h + io.c) , but the > linking part of the compilation resulted in this: > > root at christian-forschung-virtual-machine:/home/progs# clang -v > --target=armv6-none-eabi -L > /home/llvm_all/buildrecipe/lib/clang/8.0.0/armv6m-none-eabi > -lclang_rt.builtins.arm barehelloCLANG.o io.o -o helloCLANGstatic > -static -fuse-ld=lld > clang version 8.0.0 (https://git.llvm.org/git/clang.git/ > a152c7a4b7ba8f4cb9532ead9a38a7121db43d50) > (https://git.llvm.org/git/llvm.git/ > 1959ce6f3e01241919968ac1911fd45660239...
2018 Dec 14
3
Compiling for baremetal ARMv4 on Ubuntu Linux
...compiler-rt improved. I'll be out of office until next year so I may be a bit slow to respond to any follow ups. Peter On Thu, 13 Dec 2018 at 17:10, Peter Smith <peter.smith at linaro.org> wrote: > > Hello Christian, > > I've just retried the runtimes way of building for v6m, v7m and v7e-m > . My cmake command was > ARMEABIGCC=/path/to/gcceabi/arm-none-eabi > cmake \ > -G Ninja\ > -DBAREMETAL_ARMV6M_SYSROOT=${ARMEABIGCC}\ > -DBAREMETAL_ARMV7M_SYSROOT=${ARMEABIGCC}\ > -DBAREMETAL_ARMV7EM_SYSROOT=${ARMEABIGCC}\ > -DCMAKE_BUILD_TYPE=Relea...
2018 Dec 13
2
Compiling for baremetal ARMv4 on Ubuntu Linux
...-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY -DCMAKE_C_COMPILER_TARGET="arm-linux-gnueabihf" -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON -DLLVM_CONFIG_PATH=/usr/local/myclang/bin/llvm-config -DBAREMETAL_ARMV5M_SYSROOT=/home/crichter/Downloads/gcc-arm-none-eabi-5_4-2016q3 -DBAREMETAL_ARMV6M_SYSROOT=/home/crichter/Downloads/gcc-arm-none-eabi-6-2017-q2-update -DBAREMETAL_ARMV7M_SYSROOT=/home/crichter/Downloads/gcc-arm-none-eabi-7-2018-q2-update -C /home/llvm_4rt/llvm/tools/clang/cmake/caches loading initial cache file /home/llvm_4rt/llvm/tools/clang/cmake/caches CMake Error: Error pr...
2008 Jun 30
4
Rebuild of kernel 2.6.9-67.0.20.EL failure
Hello list. I'm trying to rebuild the 2.6.9.67.0.20.EL kernel, but it fails even without modifications. How did I try it? Created a (non-root) build environment (not a mock ) Installed the kernel.scr.rpm and did a rpmbuild -ba --target=`uname -m` kernel-2.6.spec 2> prep-err.log | tee prep-out.log The build failed at the end: Processing files: kernel-xenU-devel-2.6.9-67.0.20.EL Checking