search for: gettargetframeindex

Displaying 5 results from an estimated 5 matches for "gettargetframeindex".

2019 Jun 26
2
How to handle ISD::STORE when both operands are FrameIndex?
...I just emit FrameIndex as immediate: bool MyBackendDAGToDAGISel::SelectAddrFI(SDValue &N, SDValue &R) { if (N.getOpcode() != ISD::FrameIndex) return false; MachineFrameInfo &MFI = MF->getFrameInfo(); int FX = cast<FrameIndexSDNode>(N)->getIndex(); R = CurDAG->getTargetFrameIndex(FX, MVT::i32); return true; } This way I end up with store %r1, [1] and handle it in my CPU emulator accordingly. So, instead of matching that FrameIndex in store, I really want to emit a load first and then use a register in the store instruction. Can you, please, advise me how to implement...
2019 Jun 26
2
How to handle ISD::STORE when both operands are FrameIndex?
On Tue, Jun 25, 2019 at 9:59 AM Tim Northover <t.p.northover at gmail.com> wrote: > On Tue, 25 Jun 2019 at 06:26, Gleb Popov via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > >> While the store is being selected LLVM will just treat the value being > >> stored as a generic pointer-width integer unless you have written a > >> specific pattern for
2010 Jan 18
0
[LLVMdev] Frame index arithmetic
On Jan 17, 2010, at 2:56 AM, Mark Muir wrote: > I've developed a working back-end for a custom architecture, based on LLVM 2.6. I'm now trying to cover more of the unique features of this architecture. > > To make use of one such feature, I'm trying something cunning/crazy with the stack - implementing it in a type of memory that can only be addressed via immediates. >
2010 Jan 19
2
[LLVMdev] Frame index arithmetic
...quot;printFrameIndexOperand"; let MIOperandInfo = (ops GPR); } And the following selection code: bool MyDAGToDAGISel:: SelectFrameIndex(SDValue Op, SDValue N, SDValue& Address) { if (FrameIndexSDNode* FIN = dyn_cast<FrameIndexSDNode>(N)) { Address = CurDAG->getTargetFrameIndex(FIN->getIndex(), MVT::i32); return true; } return false; } In light of your comment, I tried extending this method to only allow cases where Op is ISD::LOAD or ISD::STORE. I found this made no difference to the behaviour. That was surprising, so I added code to print out each in...
2010 Jan 17
2
[LLVMdev] Frame index arithmetic
I've developed a working back-end for a custom architecture, based on LLVM 2.6. I'm now trying to cover more of the unique features of this architecture. To make use of one such feature, I'm trying something cunning/crazy with the stack - implementing it in a type of memory that can only be addressed via immediates. I've got this mostly working. However, I came across a problem