search for: x86wrapper

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