search for: xxxregisterinfo

Displaying 14 results from an estimated 14 matches for "xxxregisterinfo".

2014 Oct 10
2
[LLVMdev] eliminateFrameIndex
Hi! I started writing a LLVM backend for a custom architecture. I have some register and instruction .td files and some other files/classes like a MCStreamer for assembler output. At the moment I can compile some empty programs so far. I implemented the method ::eliminateFrameIndex() similar to the Sparc and ARM backend. The method looks like this: // frame pointer is in reg of class
2005 Jan 27
1
[LLVMdev] Tiny machine...
Hello... I have a very simple and tiny processor. It doesn't support procedule call. Do I still need to add the code about TargetFrameInfo and implement the stack operations in the XXXRegisterInfo.cpp????? Thanx. Dave.
2014 Jun 09
2
[LLVMdev] regarding TargetRegisterInfo.h
Dear, I have been going through the Targets registered with llvm. As I was looking around, I found an include statement in the file XXXRegisterInfo.h (XXX is any target), #include "llvm/Target/TargetRegisterInfo.h" The question is there is no folder called Target in my llvm directory (file TargetRegistorInfo.h missing ) and still programs compile in the XXX architecture. I want access to TargetRegisterInfo.h. Can someone point me in...
2019 Mar 14
2
inline assembly matching error
I'm trying to add support for inline assembly and I keep getting this error: <jal> "<inline asm>:1:2: error: invalid instruction" which is due to the fact that MatchInstructionImpl() returns Match_MnemonicFail. This function is tablegen'ed in XXXGenAsmMatcher.inc and for some reason it can't find JAL even though I can clearly see it in both MatchTable0[] and
2007 Jan 09
0
[LLVMdev] Pattern matching questions
On Jan 9, 2007, at 10:01 AM, Scott Michel wrote: > I was able to resolve my previous question about dealing with custom > loads/stores, and following Chris' suggestion, the IBM Cell SPU > backend > can generate code for "int main(void) { return 0; }" without crashing > llc. There's a lot of work still to be done... like getting frame > offsets correctly
2007 Jan 09
3
[LLVMdev] Pattern matching questions
I was able to resolve my previous question about dealing with custom loads/stores, and following Chris' suggestion, the IBM Cell SPU backend can generate code for "int main(void) { return 0; }" without crashing llc. There's a lot of work still to be done... like getting frame offsets correctly computed and hauling in the raft of intrinsics that the Cell SDK defines. Three quick
2007 Jan 09
2
[LLVMdev] Pattern matching questions
...operand OR instruction, but how do I encode an immediate >> w/o a type inference contradiction? >> >> def : Pat<(set R32C:$rDest, R32C:$rSrc), >> (ORIr32 R32C:$rSrc, 0)>; You current cannot specify move patterns in the .td file. You specify them with XXXRegisterInfo::copyRegToReg and XXXInstrInfo::isMoveInstr. See the PPC or Sparc backend for some simple examples. -Chris -- http://nondot.org/sabre/ http://llvm.org/
2011 Jul 03
0
[LLVMdev] DLX backend
So I thought I'd try to use the documentation on llvm backends to try to create a DLX backend. I think I've got most of the stuff for the .td files done but I've got some problems. * Do I need to represent the PC in my XXXRegisterInfo.td file; the branch instruction effects it but you can directly access it ... I'm thinking not. * In my Instruction subclasses (in XXXInstrFormats.td) how do I get the register number/immediate values from the "ins" dag? * Whats the SDNode value for the conditional instructions e....
2015 Aug 25
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...sing GPRBase >>> reg class for both src and dst (it's a mov MI). I need a class just for GPR >>> also, since some operands can only map to GPR and not GPRBase, so I can't >>> just replace GPR with GPRBase. >>> >>> >>> You need to look at XXXRegisterInfo.td. >>> You should have something like: >>> def GPR : RegisterClass<"ARM", [i32], 32, (add (seque >>> >>> The list between square brackets are the type bound to this register >>> class. >>> You may want to bound i32 (or whatever) on...
2015 Aug 25
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...RBase reg class for both src and dst (it's a mov MI). I need a class just >>>> for GPR also, since some operands can only map to GPR and not GPRBase, so I >>>> can't just replace GPR with GPRBase. >>>> >>>> >>>> You need to look at XXXRegisterInfo.td. >>>> You should have something like: >>>> def GPR : RegisterClass<"ARM", [i32], 32, (add (seque >>>> >>>> The list between square brackets are the type bound to this register >>>> class. >>>> You may want to bo...
2015 Aug 25
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...both src and dst (it's a mov MI). I need a class just >>>>> for GPR also, since some operands can only map to GPR and not GPRBase, so I >>>>> can't just replace GPR with GPRBase. >>>>> >>>>> >>>>> You need to look at XXXRegisterInfo.td. >>>>> You should have something like: >>>>> def GPR : RegisterClass<"ARM", [i32], 32, (add (seque >>>>> >>>>> The list between square brackets are the type bound to this register >>>>> class. >>>&gt...
2015 Aug 25
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...'s a mov MI). I need a class just >>>>>> for GPR also, since some operands can only map to GPR and not GPRBase, so I >>>>>> can't just replace GPR with GPRBase. >>>>>> >>>>>> >>>>>> You need to look at XXXRegisterInfo.td. >>>>>> You should have something like: >>>>>> def GPR : RegisterClass<"ARM", [i32], 32, (add (seque >>>>>> >>>>>> The list between square brackets are the type bound to this register >>>>>> cl...
2015 Aug 25
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...need a class just >>>>>>> for GPR also, since some operands can only map to GPR and not GPRBase, so I >>>>>>> can't just replace GPR with GPRBase. >>>>>>> >>>>>>> >>>>>>> You need to look at XXXRegisterInfo.td. >>>>>>> You should have something like: >>>>>>> def GPR : RegisterClass<"ARM", [i32], 32, (add (seque >>>>>>> >>>>>>> The list between square brackets are the type bound to this register >>&gt...
2015 Aug 25
4
[LLVMdev] TableGen Register Class not matching for MI in 3.6
Hi Ryan, > On Aug 24, 2015, at 6:49 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > > Quentin, > > I apologize for the spamming here but in getVR (where VReg is assigned an RC), it calls: > > const TargetRegisterClass *RC = TLI->getRegClassFor(Op.getSimpleValueType()); > VReg = MRI->createVirtualRegister(RC); > > My question is why is it using the