Run verifier on RenderScript .bc modules

Verify the bitcode to abort gracefully on invalid .bc modules instead of
crashing randomly. This patch will not detect all problems with the bitcode
writing, but it is likely to catch attribute breakages such as Bug 9503142. It
also prevents us from crashing on the incorrect debug info found in Bug
1031440.

Change-Id: I2bf626b7aae173dc7238a499b2a0474301197cbe
Provide a flag to disable TBAA for RS (and disable TBAA temporarily).

Bug: 12977065

This is currently blocking the LLVM 3.4 rebase, since our TBAA pass is causing
NULL pointers to be dereferenced.

Change-Id: I51cd9d0efc331150970c3054a9cd26f55aa2eb0d
Merge "Run verifier on RenderScript .bc modules"
Merge "Provide a flag to disable TBAA for RS (and disable TBAA temporarily)."
Update libbcc for LLVM 3.4 rebase.

Convert all bitcode readers to use error_code instead of bool + char* for
status returns.

Remove LinkOnceODRAutoHideLinkage, since it is now just a special case of
LinkOnceODRLinkage.

Handle the PassManager -> legacy::PassManager transition.

Change-Id: I33f0fe1c95436d35d02bc3f1b19b268f25f149d1
Fix TBAA: Set path tag metadata to instruction.

This commit replace the old createTBAANode() with the
struct-path TBAA introduced after LLVM 3.3.

This should fix the possible regression after merging LLVM 3.4.

Change-Id: Ie21fe4616784bad467b0f20226fce48da3afb2bd
Merge "Update libbcc for LLVM 3.4 rebase."
Merge "Fix TBAA: Set path tag metadata to instruction."