search for: methodprotos

Displaying 4 results from an estimated 4 matches for "methodprotos".

Did you mean: methodprops
2009 May 09
1
[LLVMdev] Question on register class
...es back to my original intention of having special query functions for a subset of register classes. Suppose I wanted vector register classes (more than one, say 2-elements and 4-elements). I want to define special query functions for these classes, like getVectorLength etc. I can define them using MethodProtos and MethodBodies, but I have to define them for each one the classes in the set. It will be nice if there is a way to build a hierarchy of register classes, and dispatch handlers by finding what class a given RC is. I will appreciate suggestions on how to do this, or alternative ways to solve this...
2007 Feb 25
1
[LLVMdev] X86RegisterInfo.td
...isters (these are not allocatable by the // register allocator - the floating point stackifier is responsible // for transforming FPn allocations to STn registers) def RST : RegisterClass<"X86", [f64], 32, [ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7]> { let MethodProtos = [{ iterator allocation_order_end(const MachineFunction &MF) const; }]; let MethodBodies = [{ RSTClass::iterator RSTClass::allocation_order_end(const MachineFunction &MF) const { return begin(); } }]; } Is the "begin()" in there correct? Or sh...
2011 Jun 15
0
[LLVMdev] Custom allocation orders
...s because they are still useful with some *_NOREX instructions. It looks like this: def GR8 : RegisterClass<"X86", [i8], 8, [AL, CL, DL, AH, CH, DH, BL, BH, SIL, DIL, BPL, SPL, R8B, R9B, R10B, R11B, R14B, R15B, R12B, R13B]> { let MethodProtos = [{ iterator allocation_order_begin(const MachineFunction &MF) const; iterator allocation_order_end(const MachineFunction &MF) const; }]; let MethodBodies = [{ static const unsigned X86_GR8_AO_64[] = { X86::AL, X86::CL, X86::DL, X86::SIL, X86::DIL, X86::R8...
2011 Jul 03
0
[LLVMdev] DLX backend
...um<[31]>; // Register classes def DLXRegs : RegisterClass<"DLX", [i32], 32, // Volatile [R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31]> { let MethodProtos = [{ iterator allocation_order_begin(const MachineFunction &MF) const; iterator allocation_order_end(const MachineFunction &MF) const; }]; let MethodBodies = [{ DLXRegsClass::iterator DLXRegsClass::allocation_order_end(const MachineFunction &MF) const { return begin() + 1; //...