Displaying 3 results from an estimated 3 matches for "ptrregclass".
Did you mean:
gprregclass
2013 Jun 24
1
[LLVMdev] Register Class assignment for integer and pointer types
...ddresses (i.e. pointers) must be assigned to a specific
kind of registers before it can be used for memory access, which is the
common part between yours and ours.
Here are 2 possible solutions for our problem:
1. constrain instruction selection.
1.1 use "addRegisterClass(MVT::iPTR, XXX::PTRRegClass);" to bind
pointers and their register class.
1.2 add a pass to transform ISelDAG before instruction selection. Since we
can determine from opcodes whether an operation can only take address
registers as its input operands, we replace i32 with iPTR if so, and insert
reg-reg move operations if...
2013 Jun 23
0
[LLVMdev] Register Class assignment for integer and pointer types
Hi,
In our version of LLVM, we've added different-sized iPTR* types, so we have an iPTR256 for our fat pointers. This causes some problems with constraints, because the way that TableGen resolves constraints is not expected to handle multiple pointer types. We've added a flag that can be set on a per-backend basis to turn this off.
Our problem is perhaps a bit different form yours,
2013 Jun 23
3
[LLVMdev] Register Class assignment for integer and pointer types
David, thanks for your immediate response.
Since iPTR is a reserved type for tablegen internal use, can you make a
further explanation?
On the other hand, it can be simply treated as a register class assignment
problem during register allocation.
Assume both pointer and integet have a 32 bit width. backend handles it
just as to i32. When it performs register allocation, it can retrieve from