Confusion regarding iPTR

In the file llvm/CodeGen/ValueTypes.td iPTR is defined as following :

// Pseudo valuetype mapped to the current pointer size.
def iPTR       : ValueType<0, 254>;
  1. What is a pseudo value Type?
  2. How would be the size of iPTR determined (What is meant by ‘current pointer size’)?

iPTR is a stand-in for an integer of the same size as a pointer on the particular architecture. The “current pointer size” means “pointer size on the target we’re compiling for”.

1 Like