Displaying 3 results from an estimated 3 matches for "bfinwrapp".
Did you mean:
bfinwrapper
2009 Apr 20
2
[LLVMdev] A few questions from a newbie
...MOVE_ADDR : MYInst<(outs Int32Regs:$dst), (ins i32mem:$a),
"move $dst, $a;",
[(set Int32Regs:$dst, (Wrapper tglobaladdr:$a))]>;
I don't quite understand what the semantics of Pat in general. Could you
please explain what
def : Pat<(BfinWrapper (i32 tglobaladdr:$addr)),
(LOAD32imm tglobaladdr:$addr)>;
means?
And I totally agree it would be better if someone can explain why the
Wrapper is needed here.
Regards,
P.B.
On Sun, Apr 19, 2009 at 11:01 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On 20...
2009 Apr 20
0
[LLVMdev] A few questions from a newbie
...r', one is hard-coded in by tblgen and the
> other is generated by tbglen following the pattern I specified. The
> compilation fails because of the two duplicated and conflicting cases.
This happened to me too. I stole a solution from the other targets -
create a wrapper node:
def BfinWrapper: SDNode<"BfinISD::Wrapper", SDTIntUnaryOp>;
Then custom lower ISD::GlobalAddress, converting it to a wrapped
TargetGlobalAddress:
SDValue
BlackfinTargetLowering::LowerGlobalAddress(SDValue Op, SelectionDAG
&DAG)
{
DebugLoc DL = Op.getDebugLoc();
GlobalValue *GV = c...
2009 Apr 20
2
[LLVMdev] A few questions from a newbie
Hello, I am learning to write a new backend for LLVM and have a few simple
questions.
1) What are the differences between 'constant' and 'targetconstant',
'globaladdress' and 'targetglobaladdress'? It is not clear from the document
when and which should be used.
2) On the processor I am working on, there is a 'move reg, mem_addr'
instruction.
When I try