similar to: [LLVMdev] llvm-gcc handles inline assembly incorrectly on PowerPC

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] llvm-gcc handles inline assembly incorrectly on PowerPC"

2011 Mar 24
3
[LLVMdev] Make PPC JIT support inline assembly?
Hi, all It seems PPC JIT does not recognize inline assembly. For example, when I give LLVM IR belows to PPC JIT, %0 = tail call i32* asm "", "={r10}"() nounwind ; <i32*> [#uses=1] it complaints that inline assembly is not a supported instruction. x86 JIT works fine, however. Is there a reason that makes PPC JIT not support inline assembly? Currently, we
2011 Mar 23
4
[LLVMdev] Calling external functions failed on PowerPC
Hi, all I have a trouble with calling external functions on PowerPC. What I am doing is generating a LLVM IR first like this, - x86 call void @helper_shack_flush(%struct.CPUX86State* %62) noinline, !flags !12 - ppc call void @helper_shack_flush(%struct.CPUX86State* %62) noinline, !flags !10 After lowering above LLVM IR for x86 and ppc, it becomes: - x86 %RAX<def> = MOV64ri
2011 Apr 07
1
[LLVMdev] Can DragonEgg-2.9 work with gcc-4.6?
Hi, all On the dragonedd website, there is a line "It is a reimplementation of llvm-gcc that works with gcc-4.5 or later." I am trying to make gcc-4.6 work woth dragonegg, but I get an error belows, ------------------------------------------------------------------------ Compiling cache.c /tmp/chenwj/dragonegg-2.9/cache.c: In function 'llvm_set_cached':
2011 Mar 24
1
[LLVMdev] Make PPC JIT support inline assembly?
Hi, Very few inline assembly are supported for the X86 backend. As I see from X86ISelLowering.cpp, only bswap, rorw, xchgl and simple register selections (e.g. {=r10}) LLVM JIT can recoginze. But for PPC backend, I am not sure why PPC JIT see all inline assembly IRs as an error. Ding-Yong On Thu, Mar 24, 2011 at 2:53 PM, Duncan Sands <baldrick at free.fr> wrote: > Hi 陳韋任, > >
2011 Mar 24
2
[LLVMdev] Make PPC JIT support inline assembly?
Hi, Duncan > support any inline assembler on any platform, and that the plan was to > solve this with the new MC-JIT, see > http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html At the first glance, I think what llvm-mc does is, given an input, llvm-mc will disassemble the input into assembly. I don't know the MC-JIT you mentioned can be used as a JIT. Currently, a JIT is
2011 Mar 24
2
[LLVMdev] Make PPC JIT support inline assembly?
Hi, Duncan > it is not in llvm-2.8, it will not even be in llvm-2.9. This is why you > couldn't find it :) Some patches went into the subversion repository > lately if you are interested. You mentioned "the plan was to solve this with the new MC-JIT". You mean that MC-JIT can handle inline assembly as an input, and generate target binary code? Regards, chenwj --
2011 Mar 24
2
[LLVMdev] Make PPC JIT support inline assembly?
Hi, I see. Thanks. :-) One more question, how mature MC-JIT is? Can it be used on x86 or other architecture? Regards, chenwj -- Wei-Ren Chen (陳韋任) Parallel Processing Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667
2011 Mar 24
0
[LLVMdev] Make PPC JIT support inline assembly?
Hi 陳韋任, > It seems PPC JIT does not recognize inline assembly. > For example, when I give LLVM IR belows to PPC JIT, > > %0 = tail call i32* asm "", "={r10}"() nounwind ;<i32*> [#uses=1] > > it complaints that inline assembly is not a supported > instruction. x86 JIT works fine, however. I'm surprised this worked with the x86 JIT - I
2011 Apr 27
2
[LLVMdev] Can I get the binary address of a for-loop statement?
On 4/26/11 10:32 PM, Jim Grosbach wrote: > In general, this is not possible. Consider, for example, the fact that various optimization passes may reorder the code, including such things as hoisting computations outside of the loop, and enclosing loops, scheduling those instructions before others that did not originate from source lines within the loop, etc. That's not to mention things like
2011 Apr 27
0
[LLVMdev] Can I get the binary address of a for-loop statement?
In general, this is not possible. Consider, for example, the fact that various optimization passes may reorder the code, including such things as hoisting computations outside of the loop, and enclosing loops, scheduling those instructions before others that did not originate from source lines within the loop, etc. That's not to mention things like loop unrolling. That said, especially at low
2011 Jan 06
0
[LLVMdev] Building LLVM-GCC on Linux/PowerPC failed
Hi, Anton The "--disable-bootstrap" give me no luck. Why you think that "--disable-bootstrap" might help? Here is my configuration options, ----------------------------------------------------------------------------- ../llvm-gcc-4.2-2.8.source/configure --prefix=/tmp/chenwj/install --disable-bootstrap --disable-multilib --program-prefix=llvm- --enable-llvm=/enwj/install
2010 Dec 29
2
[LLVMdev] Building LLVM on Linux/PowerPC failed
Hi, folks I am trying to build LLVM 2.8 Release on a Linux/PowerPC machine. Actually, the PowerPC is a PS3. Here is my system information: ---------------------------------------------------------------------- $ uname -a Linux ps3 2.6.32-rc2-00995-g96ebbe6-dirty #2 SMP Fri Oct 2 15:12:28 CST 2009 ppc64 Cell Broadband Engine, altivec supported GNU/Linux $ gcc --version gcc (Gentoo 4.3.2-r3
2011 Apr 27
3
[LLVMdev] Can I get the binary address of a for-loop statement?
Hi, all What I want to do is to locate the range of a for-loop statement in a binary. For example, given a for-loop statement belows, for (stat1; stat2; stat3) { /* do something */ } Is it possible to get information about the range (binary address) of the above for-loop, say, 0x0100 - 0x0120. One idea comes up in my mind is adding passes to retrieve such information in LLVM, then use
2011 Jan 07
0
[LLVMdev] Building LLVM-GCC on Linux/PowerPC failed
Hi, Anton Finally, I built LLVM-GCC 2.8 on a Linux/PS3 machine. I just put my configuration options here, --------------------------------------------------------------------------- ../llvm-gcc-4.2-2.8.source/configure -prefix=/tmp/chenwj/install --disable-bootstrap --disable-libmudflap --disable-multilib --disable-libgomp --program-prefix=llvm- --enable-llvm=/tmp/chenwj/install
2011 Jan 05
0
[LLVMdev] Building LLVM-GCC on Linux/PowerPC failed
Hi, folks I am "stll" trying to build LLVM-GCC 4.2 on a Linux/PS3 machine, which has a 64-bit OS. Here is my system information and configuration options: ----------------------------------------------------------------- $ uname -a Linux ps3 2.6.32-rc2-00995-g96ebbe6-dirty #2 SMP Fri Oct 2 15:12:28 CST 2009 ppc64 Cell Broadband Engine, altivec supported GNU/Linux $ gcc --version
2012 Sep 25
0
[LLVMdev] Inline ASM Problem
On Tue, Sep 25, 2012 at 09:13:10PM +0800, Zhoujinguo wrote: > Dear Ciao, Duncan, > > I am using linux--Intel X86-64. Do I need to implement an asm parser for LLVM > JIT myself or there exists some tools for it? Thank you. x86 should have the most mature ASM parser. Either file bug report or enhance the x86 ASM parser yourself, I guess. Regards, chenwj -- Wei-Ren Chen (陳韋任)
2012 Sep 25
0
[LLVMdev] Inline ASM Problem
Hi Andy, On 25/09/12 12:10, Zhoujinguo wrote: > > Thank you for replying. > > The target is "aget" which is attached. The compiling shell is also attached. since this seems to be your own custom target I ask: did you implement an asm parser for your target? Best wishes, Duncan. > > Best > Andy > > > > If I use "-use-mcjit" argument, the
2011 Jan 05
0
[LLVMdev] Building LLVM-GCC on Linux/PowerPC failed
Hi, Erik Thanks for your reply. > Does your maching have directories like /lib64 and /usr/lib64? Yes, it has /lib64 and /usr/lib64. > what is the size of a void pointer? $ ./a.out sizeof (void*) : 8 > Does this change if you add -m64 to the gcc command line? No. Regards, chenwj -- Wei-Ren Chen (陳韋任) Parallel Processing Lab, Institute of Information Science, Academia Sinica,
2010 Dec 30
3
[LLVMdev] Building LLVM-GCC on Linux/PowerPC failed
Hi, Csaba Thanks for the tip. My PS3 workstationn is installed a 32-bit OS. I will install a 64-bit OS soon and try what you said. Thanks again. Regards, chenwj -- Wei-Ren Chen (陳韋任) Parallel Processing Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667
2011 Mar 25
0
[LLVMdev] Calling external functions failed on PowerPC
Hi, all I found the example code examples/HowToUseJIT.cpp also shows the same error. Attachment is the LLVM module created by HowToUseJIT. And here is the error, Running foo: %X4<def> = LDtoc <ga:@add1>, %X2 UNREACHABLE executed! Stack dump: 0. Running pass 'PowerPC Machine Code Emitter' on function '@foo' Aborted Currently, I use gdb try to track down