Datatype representation of pointers: farewell.
Changed pointer representation to stay within pointer bitwidth
Allow pointer loads and stores with byte-level modelling, and remove cast instructions where appropriate
Simplify clc headers
Override libclc's async_work_group_copy
fmod is now part of libclc
lop1p is now part of libclc

Override the implementation to use an uninterpreted
function instead.
Garbage collect unused macros
Merge branch 'master' into llvm-trunk
Re-introduce PtrToBVExpr the type system needs these
Garbage collect comments
Fix bug where PtrToBV was not used
Reverse garbage collection order
Move pointer generation

It might be that the use of pointers is only
detected during global array generation.
Remove redundant check and parentheses
Small style changes
Introduce SafePtrToBV and SafeBVToPtr
Align switch cases
Use SafePtrToBV and SafeBVToPtr

These are used everywhere, except for PtrToInt and
IntToPtr instructions.
Merge branch 'master' into llvm-trunk