search for: mipslo

Displaying 8 results from an estimated 8 matches for "mipslo".

2011 Aug 26
0
[LLVMdev] Dead node removal in DAGCombiner
Hi Akira, > Is this piece of code in DAGCombiner::visitLOAD removing a dead node? > > 06155 if (N->use_empty()) { > 06156 removeFromWorkList(N); > 06157 DAG.DeleteNode(N); > 06158 } yes. > If it is, is there a reason it doesn't push its operands to the work > list as done in line 974-975? > > 00970 // If N has no uses,
2011 Aug 26
2
[LLVMdev] Dead node removal in DAGCombiner
Is this piece of code in DAGCombiner::visitLOAD removing a dead node? 06155 if (N->use_empty()) { 06156 removeFromWorkList(N); 06157 DAG.DeleteNode(N); 06158 } If it is, is there a reason it doesn't push its operands to the work list as done in line 974-975? 00970 // If N has no uses, it is dead. Make sure to revisit all N's operands once
2011 Oct 07
2
[LLVMdev] MIPS 32bit code generation
...that is the case, you can add this pattern. > > def op_la : Operand<i32>; > > def LA : > FI<0x09, (outs CPURegs:$dst), (ins op_la:$addr0, op_la:$addr1), > "la $dst, $addr0", [(set CPURegs:$dst, > (add (MipsHi tglobaladdr:$addr0), (MipsLo > tglobaladdr:$addr1)))], IIAlu>; > > Note that you still need to find a way to print "g1" instead of "%hi(g1)". > > On Wed, Oct 5, 2011 at 4:01 PM, Gang-Ryung Uh <guh at boisestate.edu> wrote: > > Hi, > > In order to emit "la $4,ADD...
2011 Oct 06
0
[LLVMdev] MIPS 32bit code generation
...g1) with this? la $2, g1 If that is the case, you can add this pattern. def op_la : Operand<i32>; def LA : FI<0x09, (outs CPURegs:$dst), (ins op_la:$addr0, op_la:$addr1), "la $dst, $addr0", [(set CPURegs:$dst, (add (MipsHi tglobaladdr:$addr0), (MipsLo tglobaladdr:$addr1)))], IIAlu>; Note that you still need to find a way to print "g1" instead of "%hi(g1)". On Wed, Oct 5, 2011 at 4:01 PM, Gang-Ryung Uh <guh at boisestate.edu> wrote: > Hi, >      In order to emit "la $4,ADDR" instead of lui followed b...
2011 Oct 07
0
[LLVMdev] MIPS 32bit code generation
...at is the case, you can add this pattern. > > def op_la : Operand<i32>; > > def LA : > FI<0x09, (outs CPURegs:$dst), (ins op_la:$addr0, op_la:$addr1), > "la $dst, $addr0", [(set CPURegs:$dst, > (add (MipsHi tglobaladdr:$addr0), (MipsLo > tglobaladdr:$addr1)))], IIAlu>; > > Note that you still need to find a way to print "g1" instead of "%hi(g1)". > > On Wed, Oct 5, 2011 at 4:01 PM, Gang-Ryung Uh <guh at boisestate.edu> wrote: > > Hi, > > In order to emit "la $4,A...
2011 Oct 05
4
[LLVMdev] MIPS 32bit code generation
Hi, In order to emit "la $4,ADDR" instead of lui followed by addiu to load the data address, could you advise what is proper way to revise td files in the MIPS target? Thanks, -- Gang-Ryung Uh, Associate Professor Department of Computer Science College of Engineering, Boise State Univerisity tel: 1 208 426-5691 e-mail:guh at boisestate.edu http://cs.boisestate.edu/~uh
2011 Oct 07
1
[LLVMdev] MIPS 32bit code generation
...pattern. > > > > def op_la : Operand<i32>; > > > > def LA : > > FI<0x09, (outs CPURegs:$dst), (ins op_la:$addr0, op_la:$addr1), > > "la $dst, $addr0", [(set CPURegs:$dst, > > (add (MipsHi tglobaladdr:$addr0), (MipsLo > > tglobaladdr:$addr1)))], IIAlu>; > > > > Note that you still need to find a way to print "g1" instead of > "%hi(g1)". > > > > On Wed, Oct 5, 2011 at 4:01 PM, Gang-Ryung Uh <guh at boisestate.edu> > wrote: > > > Hi, > &g...
2011 Aug 27
3
[LLVMdev] OpenCL Backend
..."LLVM ERROR: Cannot select:" because > >> operands of a dead node do not get removed. > > > > What is it that cannot be selected? > > > > This seems to be what is happening, > > There is a subgraph in the DAG. > (Load (Add (MipsHi tglobaladdr), (MipsLo tglobaladdr))) > > The Load node is removed in DAGCombiner.cpp:6155, but its operand are > not removed, leaving this subgraph: > (Add (MipsHi tglobaladdr), (MipsLo tglobaladdr)) > > Since Add is a dead node without any users, the selector skips this > node in SelectionDAGISel...