R600/SI: Add a VALU pattern for i64 xor
R600/SI: SI Control Flow Annotation bug fixed

Mixing of AddAvailableValue and GetValueAtEndOfBlock methods of SSAUpdater
leaded to the endless loop generation when the nested loops annotated.

This fixes a bug in the OCL_ML/KNN OpenCV test.  The test case is too
complex for FileCheck and would be very fragile.

Patch by: Elena Denisova
R600: Expand vector fexp2
R600: Expand vector flog2
R600/SI: Add a pattern for f32 ftrunc
R600/SI: Add patterns for ctpop inside a branch
[Refactor] Simplify memory access isWrite
Fix crash caused by unnamed union or struct when doing ast-print