Displaying 10 results from an estimated 10 matches for "x86wrapper".
2010 Jun 21
2
[LLVMdev] LLC Bug x86 with thread local storage
...================================================================
--- lib/Target/X86/X86Instr64bit.td (revision 105882)
+++ lib/Target/X86/X86Instr64bit.td (working copy)
@@ -1832,6 +1832,8 @@
(MOV64ri64i32 tjumptable :$dst)>, Requires<[SmallCode]>;
def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)),
(MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>;
+def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)),
+ (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>;
def : Pat<(i64 (X86Wrapper texternalsym:$dst)),
(...
2010 Jun 21
0
[LLVMdev] LLC Bug x86 with thread local storage
...=========================================
> --- lib/Target/X86/X86Instr64bit.td (revision 105882)
> +++ lib/Target/X86/X86Instr64bit.td (working copy)
> @@ -1832,6 +1832,8 @@
> (MOV64ri64i32 tjumptable :$dst)>, Requires<[SmallCode]>;
> def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)),
> (MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>;
> +def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)),
> + (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>;
> def : Pat<(i64 (X86Wrapper texternalsym:$ds...
2011 Feb 12
0
[LLVMdev] Instruction info on X86 - X86Wrapper
In the X86 implementation, I noticed that tglobaladdr, tconstpool, ... are
wrapped using node X86Wrapper.
Do you have any idea of the goal of this wrapper ?
Thanks !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110211/766f942e/attachment.html>
2010 Jun 22
2
[LLVMdev] LLC Bug x86 with thread local storage
...===================
>> --- lib/Target/X86/X86Instr64bit.td (revision 105882)
>> +++ lib/Target/X86/X86Instr64bit.td (working copy)
>> @@ -1832,6 +1832,8 @@
>> (MOV64ri64i32 tjumptable :$dst)>, Requires<[SmallCode]>;
>> def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)),
>> (MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>;
>> +def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)),
>> + (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>;
>> def : Pat<(i64 (X86Wrappe...
2010 Jul 07
0
[LLVMdev] LLC Bug x86 with thread local storage
...t;> --- lib/Target/X86/X86Instr64bit.td (revision 105882)
>>> +++ lib/Target/X86/X86Instr64bit.td (working copy)
>>> @@ -1832,6 +1832,8 @@
>>> (MOV64ri64i32 tjumptable :$dst)>, Requires<[SmallCode]>;
>>> def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)),
>>> (MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>;
>>> +def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)),
>>> + (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>;
>>> def :...
2011 Apr 26
2
[LLVMdev] Symbol folding with MC
...-imm) with a pattern in
the .td file like this:
def : Pat<(add DLDREGS:$src1, imm:$src2),
(SUBIWRdK DLDREGS:$src1, (imm16_neg_XFORM imm:$src2))>;
Now, the typical pattern concerning additions with global addresses looks
like this: (taken from x86)
def : Pat<(add GR32:$src1, (X86Wrapper tglobaladdr :$src2)),
(ADD32ri GR32:$src1, tglobaladdr:$src2)>;
but i can't write that since i dont have an add with imm instr, and doing:
def : Pat<(add DREGS:$src, (Wrapper tglobaladdr:$src2)),
(SUBIWRdK DREGS:$src, tglobaladdr:$src2)>;
is wrong because...
2011 Apr 26
0
[LLVMdev] Symbol folding with MC
...src2),
> (SUBIWRdK DLDREGS:$src1, (imm16_neg_XFORM imm:$src2))>;
>
Cool. That's exactly the sort of thing I was referring to.
> Now, the typical pattern concerning additions with global addresses looks like this: (taken from x86)
> def : Pat<(add GR32:$src1, (X86Wrapper tglobaladdr :$src2)),
> (ADD32ri GR32:$src1, tglobaladdr:$src2)>;
>
> but i can't write that since i dont have an add with imm instr, and doing:
>
> def : Pat<(add DREGS:$src, (Wrapper tglobaladdr:$src2)),
> (SUBIWRdK DREGS:$src, tglobaladdr...
2011 Apr 27
1
[LLVMdev] Symbol folding with MC
...DLDREGS:$src1, (imm16_neg_XFORM imm:$src2))>;
> >
>
> Cool. That's exactly the sort of thing I was referring to.
>
>
> > Now, the typical pattern concerning additions with global addresses looks
> like this: (taken from x86)
> > def : Pat<(add GR32:$src1, (X86Wrapper tglobaladdr :$src2)),
> > (ADD32ri GR32:$src1, tglobaladdr:$src2)>;
> >
> > but i can't write that since i dont have an add with imm instr, and
> doing:
> >
> > def : Pat<(add DREGS:$src, (Wrapper tglobaladdr:$src2)),
> >...
2011 Apr 26
0
[LLVMdev] Symbol folding with MC
Hello,
On Apr 26, 2011, at 6:30 AM, Borja Ferrer wrote:
> Hello, I have some questions regarding folding operations with symbols during the instruction print stage with MC. At the moment I'm working with global symbols but i guess that other symbol types should be equivalent.
>
> My first question is how can i negate the address of a symbol?
>
> Consider this piece of code:
2011 Apr 26
2
[LLVMdev] Symbol folding with MC
Hello, I have some questions regarding folding operations with symbols
during the instruction print stage with MC. At the moment I'm working with
global symbols but i guess that other symbol types should be equivalent.
My first question is how can i negate the address of a symbol?
Consider this piece of code:
char g_var[80];
char foo(int a) { return g_var[a]; }
this gets compiles into