Displaying 3 results from an estimated 3 matches for "addrfi".
2019 Jun 26
2
How to handle ISD::STORE when both operands are FrameIndex?
...scribe what *is* happening for you, BTW? Maybe with an
> "llc -debug" log on a simple example. We might be able to give more
> specific advice with the actual error.
>
Sigh. I'm completely confused and lost. Thanks for bearing with me.
Here's my current definition:
def AddrFI: ComplexPattern<i32, 1, "SelectAddrFI", [frameindex], []>;
class StackAddress : CodePatPred<[{
return cast<MemSDNode>(N)->getAddressSpace() == 1;
}]>;
class StoreFrag<SDPatternOperator op> : PatFrag <
(ops node:$value, node:$ptr), (op node:$value, node:...
2019 Jun 25
2
How to handle ISD::STORE when both operands are FrameIndex?
On Mon, Jun 24, 2019 at 4:08 PM Tim Northover <t.p.northover at gmail.com>
wrote:
> On Mon, 24 Jun 2019 at 12:16, Gleb Popov via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > 1. Where does it come from? Can I do anything to make it not appear?
>
> It comes from something like:
>
> %ptr = alloca i8
> %var = alloca i8*
> store i8* %ptr, i8**
2019 Jun 26
2
How to handle ISD::STORE when both operands are FrameIndex?
...gmail.com>
wrote:
> Hi Gleb,
>
> On Wed, 26 Jun 2019 at 07:28, Gleb Popov <6yearold at gmail.com> wrote:
> > def StoreStackF : InstRI<2, (outs), (ins IntRegs:$reg, i32imm:$i),
> > "storestackf $reg, [$i]", [(store_stack i32:$reg,
> AddrFI:$i)]>;
> >
> > I'm puzzled why despite having "IntRegs:$reg" in ins list, it still
> matches FrameIndex:
>
> A register-class will match anything with the appropriate type (i32
> here). The idea is that any value of that type can be put into a
> register...