Displaying 8 results from an estimated 8 matches for "mipshi".
2011 Oct 07
2
[LLVMdev] MIPS 32bit code generation
...> 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...
2011 Oct 06
0
[LLVMdev] MIPS 32bit code generation
...2, %hi(g1)
addiu $2, $2, %lo(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&qu...
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 Oct 07
0
[LLVMdev] MIPS 32bit code generation
...t; 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,
> > I...
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 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
1
[LLVMdev] MIPS 32bit code generation
...s 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>
> wrot...
2011 Aug 27
3
[LLVMdev] OpenCL Backend
...eing an error message "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
> no...