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; //...