Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Current status of MIPS support (some basic questions)"
2009 Jul 27
0
[LLVMdev] Current status of MIPS support (some basic questions)
On Mon, Jul 27, 2009 at 8:56 AM, Carter Cheng<carter_cheng at yahoo.com> wrote:
> Is there also an option to compile w/ clang on an x86 for Mipsel?
A normal build of clang includes limited cross-compile support by
passing in the "-ccc-host-triple" option, although it's still a bit of
a work-in-progress. Nobody has added support for any Mips targets,
but it's really
2015 Jun 11
2
[LLVMdev] How to pick default floating point ABI?
Hello,
I'm using clang on x86 cross build for mips, here is my main configure
parameters
llvm/configure \
--prefix=/usr \
--target=mipsel-unknown-linux-gnu \
--enable-targets=mips \
--enable-optimized \
--enable-shared \
--disable-assertions
I want to build code for *mips3* with *o32* abi, but
2011 Jul 11
0
[LLVMdev] LLVM and little-endian 32-bit MIPS code generation
It will produce little-endian code if you replace "mips" with "mipsel".
1. clang -ccc-host-triple mipsel-unknown-linux -ccc-clang-archs mipsel -O3
-S -emit-llvm foo.c -o foo.ll
2. llc -march=mipsel -mcpu=4ke foo.ll -o foo.s (the -march option is
redundant)
If you do not specify the target cpu with -mcpu, by default it will generate
code for Mips1, which has not been tested as
2011 Jul 09
2
[LLVMdev] LLVM and little-endian 32-bit MIPS code generation
We are trying to use LLVM (Clang as the C frontend) to generate code for
32-bit MIPS (little-endian)l, which can run on simplescalar 3.0
sslittle-na-sstrix platform. Can you advise what would be the right way to
use the LLVM compiler infrastructure?
The following is the one I used, but it appears that it produce the code in
big-endian (and I wonder whether the calling convention is right.) To
2019 Nov 13
3
Understanding targets
The term "target" is somewhat overloaded.
When llvm-config tells you it was built with the X86 target, that actually includes a variety of closely related architectures, such as x86_64, i386, and so on. Within the x86_64 architecture, there are many individual processor implementations that LLVM understands, such as Skylake, Bulldozer, and many many more.
What *clang* means by
2015 Jun 16
2
[LLVMdev] How to pick default floating point ABI?
On 06/12/2015 07:12 PM, Daniel Sanders wrote:
>
> Hi,
>
> I'm afraid targeting a 64-bit CPU and the O32 ABI is completely broken
> at the moment, it's one of the very long-standing issues I'm working
> towards. The main problem is that a lot of the internals of the Mips
> LLVM backend derive their behaviour from the target CPU rather than
> the target ABI.
2012 Dec 10
2
[LLVMdev] [MC] [llvm-mc] Getting target specific information to <target>ELFObjectWriter
Here are some examples using the gnu assembler reacting to the same input file with different commandline options.
These are using the GCC assembler on hello.c
// abi o32, arch mips32r2, relocation model pic+cpic
mips-linux-gnu-as -mips32r2 -EL -KPIC -o hello_gas.o hello_gas.s
e_flags 0x70001007 EF_MIPS_NOREORDER EF_MIPS_PIC EF_MIPS_CPIC E_MIPS_ABI_O32 EF_MIPS_ARCH_32R2
// abi
2013 Mar 04
2
[LLVMdev] [MIPS] How can I add a constraint to LLVM/Clang for MIPS BE?
Hi Jack,
On Sat, Mar 2, 2013 at 8:15 AM, Jack Carter <Jack.Carter at imgtec.com> wrote:
> Jia,
>
> I made what I believe to be the correct changes and rebuilt clang and llc. Are the results what you expected? I so I will prepare the patches for commitment.
>
> Jack
>
> clang ../mips_R_JiaLiu.c -o mips_R_JiaLiu.ll -emit-llvm -O3 -S -target mipsel-unknown-linux -std=gnu89
2012 Dec 11
0
[LLVMdev] [MC] [llvm-mc] Getting target specific information to <target>ELFObjectWriter
On Dec 10, 2012, at 1:15 PM, "Carter, Jack" <jcarter at mips.com> wrote:
> Here are some examples using the gnu assembler reacting to the same input file with different commandline options.
>
> These are using the GCC assembler on hello.c
> // abi o32, arch mips32r2, relocation model pic+cpic
> mips-linux-gnu-as -mips32r2 -EL -KPIC -o hello_gas.o hello_gas.s
>
2013 Mar 05
0
[LLVMdev] [MIPS] How can I add a constraint to LLVM/Clang for MIPS BE?
Maybe try:
.set noat
AT is needed to create certain instructions from pseudo instructions, so
you have to be careful how you use this. Some instructions that you can
use in Mips assembler are in fact pseudos.
While AT is not available to it (.set noat), the assembler can not
assemble certain pseudos for you.
On 03/03/2013 06:02 PM, Jia Liu wrote:
> Hi Jack,
>
> On Sat, Mar 2, 2013
2012 Dec 08
0
[LLVMdev] [MC] [llvm-mc] Getting target specific information to <target>ELFObjectWriter
On 7 December 2012 18:57, Carter, Jack <jcarter at mips.com> wrote:
> Hi Rafael,
>
> There are a lot of flags. Here are the ones you ask about:
>
> -KPIC, -call_shared generate SVR4 position independent code
> -call_nonpic generate non-PIC code that can operate with DSOs
> -mvxworks-pic generate VxWorks position independent code
> -non_shared
2012 Dec 11
2
[LLVMdev] [MC] [llvm-mc] Getting target specific information to <target>ELFObjectWriter
Jim,
You are correct: MipsSubtarget.
For llvm-mc we have a straight MCSubtargetInfo object. For llc we get a MipsSubtarget object which derives from MipsGenSubtargetInfo which derives from TargetSubtargetInfo which derives from MCSubtargetInfo.
The patch I hope to send out for review will do this:
Add a new data member to MCSubtargetInfo base class. It will be a set of integers that is used or
2012 Dec 07
2
[LLVMdev] [MC] [llvm-mc] Getting target specific information to <target>ELFObjectWriter
Hi Rafael,
There are a lot of flags. Here are the ones you ask about:
-KPIC, -call_shared generate SVR4 position independent code
-call_nonpic generate non-PIC code that can operate with DSOs
-mvxworks-pic generate VxWorks position independent code
-non_shared do not generate code that can operate with DSOs
-xgot assume a 32 bit GOT
Just to make things fun, the SGI notion of cpic (call pic)
2013 Feb 27
2
[LLVMdev] Mips backend 3.2 va_arg possible bug
i have this code
typedef long long L;
typedef integer I;
void test2(auto L p0, auto L p1, auto L p2, auto L p4, ...)
{
va_list select;
va_start (select, p4);
report( va_arg(select,L) );
report( va_arg(select,I) );
report( va_arg(select,L) );
2018 Sep 06
3
How to add Loongson ISA for Mips target?
Hi LLVM developers,
GCC[1] is able to use Loongson ISA[2] for instruction selection:
$ cat hello.c
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Hello World\n");
return 0;
}
$ gcc -O0 -S hello.c
$ cat hello.s
.file 1 "hello.c"
.section .mdebug.abi64
.previous
.nan legacy
.gnu_attribute 4, 1
.abicalls
2018 Sep 06
2
How to add Loongson ISA for Mips target?
- my old email address.
The ISA_* classes might not be the best choice for this. There's an overall hierarchy and ordering to the ISA_* classes since they represent the generations of the MIPS ISA. If these extensions are available in Loongson chips based on MIPS32r1 and MIPS32r2 for example, it becomes difficult to describe with ISA_* classes without duplicating instruction definitions or
2014 Jun 14
2
[LLVMdev] Is there any tool can generate MIPS ELF file?
Hi Matheus,
Thank you for your information! Do you known where do download MIPS
ABI/EABI document? Thanks in advance!
--
Best Regards,
Yu Rong Tan
On Thu, Jun 12, 2014 at 7:14 PM, Matheus Almeida
<Matheus.Almeida at imgtec.com> wrote:
> An assembler is the tool you're after. [And a linker if you want to have an executable in the end].
>
> You can specify -filetype=obj to
2012 Oct 15
0
[LLVMdev] Using llvm-mc assembler in the llvm test-suite
On Mon, Oct 15, 2012 at 2:22 PM, Carter, Jack <jcarter at mips.com> wrote:
> Has anyone converted llvm/projects/test-suite to use the llvm assembler
> instead of gcc?
>
> If so, what was needed to change and how?
>
> My assumption is that this would be a good way to test the llvm assembler.
>
Not quite sure what you mean, as far as I know there isn't any
assembler
2012 Feb 24
2
[LLVMdev] Generate Executable to Mips
You will need to install a cross compiler.
I think you can find one somewhere in this link:
https://sourcery.mentor.com/GNUToolchain/
Once you have a cross compiler, this should do what you want (if you
want little-endian code):
clang -target mipsel-unknown-linux -ccc-clang-archs mipsel -O3
hello.c -o hello.bc -emit-llvm
llc -march=mipsel hello.bc -o hello.s
mips-linux-gnu-gcc hello.s -o hello
2009 Jul 20
3
[LLVMdev] Basic question- cross compiling LLVM
This is probably another very basic question- but is there a simple method for cross compiling LLVM for another platform?
Thanks in advance.