Displaying 5 results from an estimated 5 matches for "imm16_neg_xform".
2011 Apr 26
2
[LLVMdev] Symbol folding with MC
Hello Jim thanks for the reply,
For normal additions with immediates I've done the same as ARM does,
basically transforming add(x, imm) nodes to sub(x, -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 wit...
2011 Apr 26
0
[LLVMdev] Symbol folding with MC
...thanks for the reply,
>
> For normal additions with immediates I've done the same as ARM does, basically transforming add(x, imm) nodes to sub(x, -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))>;
>
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:$...
2011 Apr 27
1
[LLVMdev] Symbol folding with MC
...t;
> > For normal additions with immediates I've done the same as ARM does,
> basically transforming add(x, imm) nodes to sub(x, -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))>;
> >
>
> 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))...
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