Fix following splint warning.

src/tree.c: (in function rewrite_p)
src/tree.c:2092:16: Operands of < have incompatible types (unsigned int,
                       size_t): i < a->count
Fix following splint warning.

src/tree.c: (in function rewrite_a)
src/tree.c:2077:16: Operands of < have incompatible types (unsigned int,
                       size_t): i < a->count
src/tree.c:2082:16: Operands of < have incompatible types (unsigned int,
                       size_t): i < a->count
src/tree.c:2086:4: Assignment of unsigned int to size_t: a->count = n
Fix following splint warning.

src/tree.c: (in function copy_a)
src/tree.c:2263:16: Operands of < have incompatible types (unsigned int,
                       size_t): i < from->count
src/tree.c: (in function copy_p)
src/tree.c:2275:16: Operands of < have incompatible types (unsigned int,
                       size_t): i < from->count
Fix following splint warning.

src/tree.c: (in function call_builtin)
src/tree.c:2503:19: Initializer block for p has 2 fields, but param_t
has 3
                       fields: <error>, <error>
  Initializer does not set every field in the structure. (Use -fullinitblock to
  inhibit warning)
Fix following splint warning.

src/cgen.c: (in function llvm_type)
src/cgen.c:202:26: Function LLVMIntType expects arg 1 to be unsigned int
gets
                      int: bit_width(t)
  To ignore signs in type comparisons use +ignoresigns
Fix following splint warning.

src/cgen.c: (in function llvm_int8)
src/cgen.c:85:40: Function LLVMConstInt expects arg 2 to be unsigned
long long
                     gets int32_t: i
  To allow arbitrary integral types to match long unsigned, use
  +longunsignedintegral.
Fix following splint warning.

src/cgen.c: (in function llvm_type)
src/cgen.c:223:59: Function LLVMArrayType expects arg 2 to be unsigned
int gets
                      int: nelems
Fix following splint warnings.

src/util.c: (in function fmt_loc)
src/util.c:313:50: Format argument 2 to fprintf (%d) expects int gets
uint16_t:
                      loc->first_line
  To allow arbitrary integral types to match any integral type, use
  +matchanyintegral.
   src/util.c:313:33: Corresponding format code
src/util.c:335:16: Operands of < have incompatible types (int, arbitrary
                      unsigned integral type): j < loc->first_column + 4
src/util.c:338:16: Operands of < have incompatible types (int, arbitrary
    unsigned integral type): j < last_col - loc->first_column + 1
Fix following splint warning.

src/lib.c:337:39: Argument 5 modifies <const <any>>, used by argument 3
(order of evaluation of actual parameters is undefined):
    lib_put_aux(lib, unit, NULL, true, lib_time_to_usecs(time(NULL)))
  Code has unspecified behavior. Order of evaluation of function parameters or
  subexpressions is not defined, so if a value is used and modified in
  different places not separated by a sequence point constraining evaluation
  order, then the result of the expression is unspecified. (Use -evalorder to
  inhibit warning)
Fix following splint warning.

src/ident.c: (in function ident_write_begin)
src/ident.c:201:14: Function write_u32 expects arg 1 to be uint32_t gets
int:
                       ~0
  Types are incompatible. (Use -type to inhibit warning)
Fix following splint warnigs.

src/elab.c: (in function find_arch)
src/elab.c:88:28: Variable new_line initialized to type uint16_t,
expects int:
                     tree_loc(t)->first_line
  To allow arbitrary integral types to match any integral type, use
  +matchanyintegral.
src/elab.c:89:28: Variable old_line initialized to type uint16_t,
expects int:
                     tree_loc(*(params->arch))->first_line
Generate LLVM declarations for arrays of arrays of signals
cgen_array_signal_load_fn now works for arrays of arrays
cgen_array_signal_store_fn now works for arrays of arrays
Fix assertion failure in opt_collapse_find_fn
Fix assertion failure in part_signal_driver
Inline several functions into cgen_signal_assign
Use llvm.pow.* intrinsic rather than _iexp helper function
Rename cgen_lvalue to cgen_var_lvalue
More convenient interface to cgen_array_signal_store