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