Remove support for the IOS_SIMULATOR_DEPLOYMENT_TARGET env var.

It turns out that this was never used. Instead we just use the
IPHONEOS_DEPLOYMENT_TARGET variable for both iOS devices and simulator.
rdar://problem/18596744

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219467 91177308-0d34-0410-b5e6-96231b3b80d8
_Really_ fix these tests (probably).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219468 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r218865 because it introduced PR21236, a crash in codegen emitting the try block.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219470 91177308-0d34-0410-b5e6-96231b3b80d8
XFAIL coverage -no-integrated-as tests for msvc.

Windows can't use -no-integrated-as, so split these tests out into a
separate file and XFAIL them for win32,win64.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219472 91177308-0d34-0410-b5e6-96231b3b80d8
Code improvements in OpenMP CodeGen.
This patch makes class OMPPrivateScope a common class for all private variables. Reworked processing of firstprivate variables (now it is based on OMPPrivateScope too).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219486 91177308-0d34-0410-b5e6-96231b3b80d8
Code reformatting and improvement for OpenMP.
Moved CGOpenMPRegionInfo from CGOpenMPRuntime.h to CGOpenMPRuntime.cpp file and reworked the code for this change. Also added processing of ThreadID variable passed as an argument in outlined functions in parallel and task directives.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219490 91177308-0d34-0410-b5e6-96231b3b80d8
Fixing the MSVC 2013 build, NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219491 91177308-0d34-0410-b5e6-96231b3b80d8
Unfriend CGOpenMPRegionInfo so it can go into an anonymous namespace.

Also remove some unnecessary virtual keywords. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219497 91177308-0d34-0410-b5e6-96231b3b80d8
[PowerPC] Add feature for Power8 vector extensions

The current VSX feature for PowerPC specifies availability of the VSX
instructions added with the 2.06 architecture version.  With 2.07, the
architecture adds new instructions to both the Category:Vector and
Category:VSX instruction sets.  Additionally, unaligned vector storage
operations have improved performance.

This patch adds a feature to provide access to the new instructions
and performance capabilities of Power8.  For compatibility with GCC,
the feature is controlled via a new -mpower8-vector switch, and the
feature causes the __POWER8_VECTOR__ builtin define to be generated by
the preprocessor.

There is a companion patch for llvm being committed at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219502 91177308-0d34-0410-b5e6-96231b3b80d8
Reduce double set lookups. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219504 91177308-0d34-0410-b5e6-96231b3b80d8
Fix documentation typo.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219509 91177308-0d34-0410-b5e6-96231b3b80d8
Alright, just XFAIL all these for Windows.

I'm going to fix up FileCheck to better handle things like this soon,
but for now let's just unblock the Windows people.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219513 91177308-0d34-0410-b5e6-96231b3b80d8
[PowerPC] Reduce names from Power8Vector to P8Vector

Per Hal Finkel's review, improving typability of some variable names.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219515 91177308-0d34-0410-b5e6-96231b3b80d8
Change how we distinguish bitfield widths, in-class
initializers, and captured VLA types so that we can
answer questions like "is this a bit-field" without
looking at the enclosing DeclContext.  NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219522 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: FieldMemcpyizer didn't handle copies starting inside bitfields

It's possible to construct cases where the first field we are trying to
copy is in the middle of an IR field.  In some complicated cases, we
would fail to use an appropriate offset inside the object.  Earlier
builds of clang seemed to miscompile the code by copying an insufficient
number of bytes.  Up until now, we would assert: the copying offset was
insufficiently aligned.

This fixes PR21232.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219524 91177308-0d34-0410-b5e6-96231b3b80d8
Bugfix for predefined expressions in dependent context.
This bug break compilation with precompiled headers and predefined expressions in dependent context.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219525 91177308-0d34-0410-b5e6-96231b3b80d8
Make test more robust to appease build bots

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219526 91177308-0d34-0410-b5e6-96231b3b80d8
Remove a FIXME: use the ios_simulator_version_min linker option consistently.

This was previously only used when explicitly requested with a command line
option because it had to work with some old versions of the linker when it
was first introduced. That is ancient history now, and it should be safe to
use the correct option even when using the IPHONEOS_DEPLOYMENT_TARGET
environment variable to specify that the target is the iOS simulator.
Besides updating the test for this, I also added a few more tests for the
iOS linker options.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219527 91177308-0d34-0410-b5e6-96231b3b80d8
Remove rest of the comment that is no longer true after r219527.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219528 91177308-0d34-0410-b5e6-96231b3b80d8
Add libclang capabilities to retriete template arguments from specializations.

Includes Python bindings.

Reviewed in http://reviews.llvm.org/D5621
Patch by Rob Springer



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219529 91177308-0d34-0410-b5e6-96231b3b80d8