* use the correct opcode when loading integer pointer constants (such as nil)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28386 3ad0048d-3df7-0310-abae-a5850022a9f2
  * fixed the resultdef of length() intrinsic: it's ossinttype rather than
    sinttype (they're the same on most platforms, except on 8 bit ones where
    ossinttype is still 16 bit)
  * simplified and documented second_length(), and fixed some (harmless)
    errors in the used tcgsize for the resultdef (it had to be OS_SINT
    rather than OS_INT -- now it's just def_cgsize(resultdef) so it's
    always correct)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28387 3ad0048d-3df7-0310-abae-a5850022a9f2
  * give an internalerror when calling cg.makeregsize() for a high level
    target (explanation why in comments)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28388 3ad0048d-3df7-0310-abae-a5850022a9f2
  + llvm second_length() implementation (can't use generic one because of its
    use of cg.makeregsize())

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28389 3ad0048d-3df7-0310-abae-a5850022a9f2