Displaying 20 results from an estimated 28 matches for "wangmp".
Did you mean:
wang
2008 Sep 17
2
[LLVMdev] llvm memory barrier as a builtin
....barrier(i1 true,i1 true,i1 true,i1 true,i1 true)". Is
that right? I would like a little finer control to express just a
write barrier (st-st) or a read barrier.
-- Mon Ping
On Sep 17, 2008, at 5:50 AM, Andrew Lenharth wrote:
> On Tue, Sep 16, 2008 at 5:42 PM, Mon Ping Wang <wangmp at apple.com>
> wrote:
>>
>> I would like access to LLVM memory barrier instruction as a built-in
>> from clang, which means that I need a name for it. In gcc, I see
>> names
>> like __builtin_ia32_mfence but those refers to X86 SSE instruction
>> that...
2008 Sep 17
0
[LLVMdev] llvm memory barrier as a builtin
On Tue, Sep 16, 2008 at 5:42 PM, Mon Ping Wang <wangmp at apple.com> wrote:
>
> I would like access to LLVM memory barrier instruction as a built-in
> from clang, which means that I need a name for it. In gcc, I see names
> like __builtin_ia32_mfence but those refers to X86 SSE instruction
> that we support. I don't see a gcc nam...
2008 Sep 16
4
[LLVMdev] llvm memory barrier as a builtin
I would like access to LLVM memory barrier instruction as a built-in
from clang, which means that I need a name for it. In gcc, I see names
like __builtin_ia32_mfence but those refers to X86 SSE instruction
that we support. I don't see a gcc name that has the same semantics
as our barrier instruction. For a name, I was thinking of
__builtin_memory_barrier or
2008 Sep 17
0
[LLVMdev] llvm memory barrier as a builtin
...e overloaded in the
same way that LLVM's builtin is for use in clang, with the default
version being the full memory barrier.
Luke
>
> -- Mon Ping
>
>
> On Sep 17, 2008, at 5:50 AM, Andrew Lenharth wrote:
>
>> On Tue, Sep 16, 2008 at 5:42 PM, Mon Ping Wang <wangmp at apple.com>
>> wrote:
>>> I would like access to LLVM memory barrier instruction as a built-in
>>> from clang, which means that I need a name for it. In gcc, I see
>>> names
>>> like __builtin_ia32_mfence but those refers to X86 SSE instruction
>...
2008 Sep 18
1
[LLVMdev] llvm memory barrier as a builtin
...#39;s builtin is for use in clang, with the default
> version being the full memory barrier.
>
> Luke
>
>>
>> -- Mon Ping
>>
>>
>> On Sep 17, 2008, at 5:50 AM, Andrew Lenharth wrote:
>>
>>> On Tue, Sep 16, 2008 at 5:42 PM, Mon Ping Wang <wangmp at apple.com>
>>> wrote:
>>>> I would like access to LLVM memory barrier instruction as a built-
>>>> in
>>>> from clang, which means that I need a name for it. In gcc, I see
>>>> names
>>>> like __builtin_ia32_mfence but thos...
2008 Sep 30
0
[LLVMdev] Generalizing shuffle vector
On Mon, Sep 29, 2008 at 8:11 PM, Mon Ping Wang <wangmp at apple.com> wrote:
> The problem with generating insert and extracts is that we can generate poor
> code
> %tmp16 = extractelement <4 x float> %f4b, i32 0
> %f8a = insertelement <8 x float> %f8a, float %tmp16, i32 0
> %tmp18 = extractelement <...
2008 Sep 30
4
[LLVMdev] Generalizing shuffle vector
Hi,
The current definition of shuffle vector is
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <n x
i32> <mask> ; yields <n x <ty>>
The first two operands of a 'shufflevector' instruction are vectors
with types that match each other and types that match the result of
the instruction. The third
2008 Jul 25
1
[LLVMdev] llvm svn trunk rev54012 does not compile
Hello All,
I just svn update
% svn info .
Path: .
URL: http://llvm.org/svn/llvm-project/llvm/trunk
Repository Root: http://llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 54012
Node Kind: directory
Schedule: normal
Last Changed Author: wangmp
Last Changed Rev: 54007
Last Changed Date: 2008-07-25 03:30:26 +0200 (Fri, 25 Jul 2008)
make[3]: Entering directory `/usr/src/Lang/llvm/lib/Analysis/IPA'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/src/Lang/llvm/lib/Analysis/IPA'
make[2]: Leaving directory...
2008 Aug 14
3
[LLVMdev] Eliminating gotos
...a program that has a reducible graph (any C code without goto/setjmp)
and generate one that is irreducible? If it is the case that the code is
actually structured coming in, a simple pattern matcher could turn
everything into if/endif and so on.
Ben
On 14/08/2008 18:39, "Mon P Wang" <wangmp at apple.com> wrote:
> Hi Ben,
>
>
> On Aug 12, 2008, at 11:36 AM, Benedict Gaster wrote:
>
>> Hi Owen,
>>
>> On 12/08/2008 16:52, "Owen Anderson" <resistor at mac.com> wrote:
>>
>>
>>>
>>> SNIP
>>...
2008 Aug 14
0
[LLVMdev] Eliminating gotos
Hi Ben,
On Aug 12, 2008, at 11:36 AM, Benedict Gaster wrote:
> Hi Owen,
>
> On 12/08/2008 16:52, "Owen Anderson" <resistor at mac.com> wrote:
>
>>
>> SNIP
>>
>>
>> I'm still not seeing how these two are any different. You just
>> replace the text of "if" with "br", and add the explicit target
>>
2008 Aug 12
3
[LLVMdev] Eliminating gotos
Hi Owen,
On 12/08/2008 16:52, "Owen Anderson" <resistor at mac.com> wrote:
>
> SNIP
>
>
> I'm still not seeing how these two are any different. You just replace the
> text of "if" with "br", and add the explicit target labels. I should also
> point out that, in LLVM IR, the order the blocks are laid out in is not
> meaningful
2008 Jul 16
1
[LLVMdev] atomic memoperand patch
Just noticed that when we generate a custom lowering for some atomics
that we forgot to transfer the MemOperand to the new instruction that
touches memory.
-- Mon Ping
Index: lib/Target/X86/X86ISelLowering.cpp
===================================================================
--- lib/Target/X86/X86ISelLowering.cpp (revision 53702)
+++ lib/Target/X86/X86ISelLowering.cpp (working copy)
@@
2008 Oct 17
2
[LLVMdev] MFENCE encoding
Hi,
I have a problem with creating a MFENCE on X86 with SSE
In X86InstrSSE.td, a MFENCE is
def MFENCE : I<0xAE, MRM6m, (outs), (ins),
"mfence", [(int_x86_sse2_mfence)]>, TB, Requires<
[HasSSE2]>;
In X86CodeEmitter.cpp in emitInstruction
case X86II::MRM6m: case X86II::MRM7m: {
intptr_t PCAdj = (CurOp+4 != NumOps) ?
2008 Sep 24
0
[LLVMdev] Determining the register type of a MachineOperand
To my knowledge, I don't think there is an easy way to get the MVT
information from a MachineOperand. Why do you need it for? In my
mind, the MachineInstr and its associated operands represent a
physical machine instruction and I typically want to think of those as
machine opcodes and machine register files. I am typically interested
in the mapping of MVTs to register classes
2008 Sep 30
0
[LLVMdev] Generalizing shuffle vector
Hi,
I agree that the more general shufflevector is more useful. I
narrowed the original proposal a little bit because of the concern for
the implementation cost. However, the slightly narrowed definition
will probably require falling backing to generate insert and extracts
for complex masks so it is possible that there will be no extra cost
in supporting the more general definition.
2008 Jul 30
0
[LLVMdev] address space overloading patch broke the llvm-gcc build
Hi,
Sorry for breakage, I'll look into this right now. I guess llvm-gcc
doesn't use llvm tablegen results to help create intrinsic names.
-- Mon Ping
On Jul 30, 2008, at 1:51 PM, Duncan Sands wrote:
> Hi, I see this when building llvm-gcc on x86-32 linux:
>
> xgcc -Bgcc/ -B/usr/local/gnat-llvm/i686-pc-linux-gnu/bin/ -B/usr/
> local/gnat-llvm/i686-pc-linux-gnu/lib/
2008 Nov 20
4
[LLVMdev] changing -mattr behavior with mmx and sse
Hi,
When setting -mattr option on X86, I would like to treat MMX
separately from SSE levels. This would allow a client who sets the
attributes directly to set the SSE level independent of MMX, e.g., llc
-march=x86 -mattr=sse41, one would get sse4.1 with mmx disabled while
llc -march=x86 -mattr=mmx -mattr=sse42 will get mmx and sse42. If
anyone objects to this change, please let me
2008 Sep 17
0
[LLVMdev] store addrspace qualifier
The address qualifier is stored in the type of %result. From that
operand, you can get the Value and then call getType. The type for
result should be a PointerType which you cast to a PointerType and
get the getAddressSpace e.g. cast<PointerType>(Ty)->getAddressSpace()
-- Mon Ping
On Sep 17, 2008, at 1:06 PM, Villmow, Micah wrote:
> How do I access the address qualifier
2008 Jul 07
2
[LLVMdev] addrspace attribute and intrisics
Hi,
I should double check this but I viewed the "." as being useful to
separate different parameter types in case we need to overload on
multiple parameters. I think of p0i32 as the type of a single
parameter. If we had multiple parameters with complex types, I think
it might become harder to read if we separated each component, .e.g.,
a hypothetical intrinsic that takes a
2008 Jul 07
2
[LLVMdev] addrspace attribute and intrisics
Hi,
Though I haven't looked into the implementation details, at the high
level, I personally think having the address space argument is cleaner
than having it encoded as a pointer. The memory barrier places a
barrier on the entire address space. When I see the %ptr11 on the
memory barrier instruction, my first instinct is to that it is a
memory barrier on the region of memory that