am 4a2e54c7: (-s ours) am 9f9d5bfe: am 55d176e6: am b5beb2b3: (-s ours) am af11e9a6: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '4a2e54c7642d97873cc9f0d6c4387a0b0aa5a697':
am 82d72886: Update slang for LLVM/Clang rebase.

* commit '82d7288620fade361dd8f7408b5db54a55c2c794':
  Update slang for LLVM/Clang rebase.
am 9d234b6c: Fix filename-escaping for Windows paths.

* commit '9d234b6c83c9d6baab71433fdecab6bfde34a956':
  Fix filename-escaping for Windows paths.
Adapt llvm-rs-cc for LLVM/Clang update.

Change-Id: Ic38ebc1d824f6d3ae26c6b354336a01b52d46136
Update tests for v19.

Change-Id: I490c9f5cd1043055a7f3c8a22c3262f8e47ecdfd
Disallow implicit and explicit casts of vector types in llvm-rs-cc.

Bug: 7342914

Vector types are aggregates (just like structs), and casting of any type
results in bitcasts being generated. This misbehaves when converting between
things like float and int. Even more troublesome than explicit casts are
implicit casts, which can arise from accidental arithmetic operations between
two different vector types.

Change-Id: If27a0f70d1da5f1773261a38e6b4572aeb976701
Turn off "lax vector conversions".

Bug: 7342914

This language option catches all the terrible implicit vector casts (but not
the explicit vector casts) that we are trying to forbid.

Change-Id: I7cd75326fc72e0c7c74b635c81d7263a257330dd
Support -O0 as well as -O 0 for option passing.

Bug: 9022067

This is not the same as standard Clang, and I would prefer to deprecate the
old way (with space), but the SDK build system will need some time to adapt.

Change-Id: I872afe8db3db6745b5507176007c012d0c4da117
Bump version number for K.

Change-Id: If819092301ab9c095957306574a09dcdc9ed9c5e
lit: Adjust include paths to ensure rs_core.rsh is found

Change-Id: I1cd0c99171507ad97304957e45b61dff70f07567
Remove dependence to python 2.4

python 2.4 is not available any more on my Gubuntu system. I also do not
see a reason why to enforce python 2.4.

Change-Id: I8ab6cd38ba0f163ef53eb64d52d833923c5070c2
Update slang for LLVM merge to r183849.

s/getLinkage/getFormalLinkage
Path.h -> PathV1.h
Fix test output diagnostics related to pragma location

Change-Id: I7ab5372e848494ac40f1284eb6f9accc18092ad7
Write legacy function attributes properly.

Bug: 9503142

A prior LLVM rebase accidentally overwrote the various bitcode writer
implementations with respect to function attributes. They were writing a new
style section, which would not be able to be parsed/used on older devices.
This change restores the generation of the legacy function attribute bitcode
format.

Change-Id: Ib6afc5ae405303881605c51c34b6966e4754c29d
Remove unused option from BitWriter_3_2

When linking two different BitWriters, this option collides with the
one in current. As it is not used, we just remove it.

Change-Id: I0e1023fae311f487db9c37f67aac4ba54e5aef66
Merge "Remove unused option from BitWriter_3_2"
Add llvm-rs-as tool.

This tool takes an .ll file as input and generates bitcode from it.
The -bitcode-version flags allows to specify the version of the
bitcode that should be emitted.

Change-Id: I08b4f1fd0d7b218613e217249e648c9ca4393e38
Merge "Add llvm-rs-as tool."
Provide LLVM 3.2 BitcodeWriter as a device static library.

This will allow the bcinfo BitcodeTranslator to write LLVM 3.2
compatible bitcode.

Change-Id: Id0137ec04a102f09af5b4c0b8020c5ae9b9f3554
Clean up handling of Java package name for llvm-rs-cc.

Adds support for C++ code generator to use this package name as well.

This change also resolves a small issue with an uninitialized mVerbose flag.

Change-Id: Ia3037a3f4dbe172ddc51af3064ac1708526a6df6
Split HandleTranslationUnitPost in subfunctions

The original function had almost 200 lines. For readability we split
this function into smaller functional units. As the different units
have already been independent, this change just mechanically copies
their code into subfunctions. No functional change is intended.

Change-Id: I47891569231335b6f8674b0f5d05b7d83b13f85b