* added llvmdatalayout for mipsel-android

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28104 3ad0048d-3df7-0310-abae-a5850022a9f2
  * grouped all tai_real* types into a single tai_realconst type,
    to free up space for more ait_* types in taitype (can't have
    more than 32 because they have to fit in a small set)
   o factored out writing of floating point numbers as an array of
     byte in the external assemblers

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

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28106 3ad0048d-3df7-0310-abae-a5850022a9f2
  * use hlcgobj methods in maybe_change_load_node_reg

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28107 3ad0048d-3df7-0310-abae-a5850022a9f2
  + "typed const" tai that combines a tai and its associated tdef information

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28108 3ad0048d-3df7-0310-abae-a5850022a9f2
  * factored out writing of a single tai, so this routine can call itself
    recursively when writing out typed constant data
   o basic support for tai_const

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

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28110 3ad0048d-3df7-0310-abae-a5850022a9f2
  + basic support infrastructure in the llvm assembler writer to write out
    typed constant data
   o llvm declarations now get an extra "initdata" list that contains the
     typed constant data associated with this declaration (if any)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28111 3ad0048d-3df7-0310-abae-a5850022a9f2
  + support for instruction operands that are tai themselves in the llvm
    backend (required for inserting bitcasts/ptrtoint/... operations inside
    typed constant declarations)
   o taillvm constructors for creating bitcast-style and getlementptr
     operations that accept a tai as their source/base operand

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28112 3ad0048d-3df7-0310-abae-a5850022a9f2
  * factored out generating string representations of floating point numbers
    in the llvm assembler writer

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28113 3ad0048d-3df7-0310-abae-a5850022a9f2
  + support for tai_realconst in llvm assembler writer

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28114 3ad0048d-3df7-0310-abae-a5850022a9f2
  * changed hlcgobj.def2reg() into a class method so it can also be called
    when there's no instantiated tlhcg

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28115 3ad0048d-3df7-0310-abae-a5850022a9f2
  + new llvmconvop() routine that determines the conversion operation to
    convert one def to another, including information regarding whether
    it should be done via an intermediate integer typecast
  * use this routine in hlcgllvm

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28116 3ad0048d-3df7-0310-abae-a5850022a9f2
  + unit with a buider class for typed constant/initialised data elements at
    the assembler level
   o initially for use during the typed constant parsing, but usable anywhere
     we generate initialised data in the compiler

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28117 3ad0048d-3df7-0310-abae-a5850022a9f2
  * converted most of the asmlist-based typed const parsing to use the new
    typed const builder class

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28118 3ad0048d-3df7-0310-abae-a5850022a9f2
  * support non-taillvm tai instances as operands to taillvm instances

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28119 3ad0048d-3df7-0310-abae-a5850022a9f2
  * handle tai_const instances as operands to other tai

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28120 3ad0048d-3df7-0310-abae-a5850022a9f2
  + support for tai_string (in nested typed constant expressions)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28121 3ad0048d-3df7-0310-abae-a5850022a9f2
  + support for tai_symbol (in nested typed constant expressions)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28122 3ad0048d-3df7-0310-abae-a5850022a9f2
  * fixed (harmless) typecast errors when creating a string representation of
    a procvardef
  * handle procdefs like procvardefs when getting their string representation
    in arbitrary expressions

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