* moved tjvmnotnode implementation to generic ncghlmat unit, and also use it
    for llvm

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28363 3ad0048d-3df7-0310-abae-a5850022a9f2
  * recognise LOC_CREFERENCE in tllvmsubscriptnode.handle_platform_subscript()

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28364 3ad0048d-3df7-0310-abae-a5850022a9f2
  * disable cg64/cg128 special cases for high level targets

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28365 3ad0048d-3df7-0310-abae-a5850022a9f2
  * for now disable internal bsr/bsf for LLVM (can be implemented later
    based on llvm.ctlz/cttz intrinsics)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28366 3ad0048d-3df7-0310-abae-a5850022a9f2
  * fixed optimised form of a_cmp_const_reg_label(): when inverting the branch, we still
    have to emit the label we originally allocated for the fallthrough path (otherwise
    the branch is not inverted at all, and moreover the caller will also emit the
    original target label somewhere so it will be doubly defined)

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28367 3ad0048d-3df7-0310-abae-a5850022a9f2
  * initialise expectloc for passthrough first_bool_to_int() and
    first_int_to_bool()

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28368 3ad0048d-3df7-0310-abae-a5850022a9f2
  * since the generic second_bool_to_bool() calls through to
    second_int_to_bool() and second_bool_to_int() for certain cases, do the
    same for their first_*() variants in first_bool_to_bool() so that the
    expectloc is correctly initialised
   o since first_int_to_bool can now be called for bool_to_bool to, make
     sure we correctly handle is_boolean(left.resultdef) in that case
     (integers cast to a smaller boolean type ignore the upper bits,
      while with boolean to boolean they are taken into account

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28369 3ad0048d-3df7-0310-abae-a5850022a9f2
  + tllvmtypeconvnode.second_int_to_bool() implementation

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28370 3ad0048d-3df7-0310-abae-a5850022a9f2
  - removed get_jumpbuf_size/align, use rec_jmp_buf instead

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28371 3ad0048d-3df7-0310-abae-a5850022a9f2
  + thlcgobj.a_loadfpu/mm_loc_ref()

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28372 3ad0048d-3df7-0310-abae-a5850022a9f2
  * ignore get/unget/alloc/dealloc of cpu registers when generating llvm code
   o there are no cpu registers on the llvm target, but generic code may still
     occasionally allocate them via the generic routines in case of e.g. a
     hardcoded use of a function return register

git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@28373 3ad0048d-3df7-0310-abae-a5850022a9f2
  * handle non-integer/non-record memory destinations in gen_load_cgpara_loc()

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