summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-06-27Hack to build .so filesHEADmasterHans de Goede1-3/+1
2016-06-27Add TGSI backend (wip)Hans de Goede1-0/+105
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2016-06-27[clang-cl] Implement support for /stdDavid Majnemer3-4/+27
/std: supports two arguments, c++14 and c++latest. Currently, c++latest maps to c++1z but this might change down the road. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273841 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26[X86] add _mm_loadu_si64Asaf Badouh2-0/+19
Differential Revision: http://reviews.llvm.org/D21504 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273812 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-25Fix unused variable warning after r273754.James Y Knight1-0/+1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273783 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-25[X86] Fix pslldq/psrldq intrinsics to not fail compilation with immediates ↵Craig Topper4-250/+256
larger than 16. This was accidentally broken in r272246. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273775 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-25Fix bad test expectation.Peter Collingbourne1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273760 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-25CodeGen: Start emitting checked loads when both trapping CFI and ↵Peter Collingbourne6-30/+111
-fwhole-program-vtables are enabled. Differential Revision: http://reviews.llvm.org/D21122 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273757 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-25Implement C++17 P0386R2, inline variables. (The 'inline' specifier gives aRichard Smith27-70/+371
variable weak discardable linkage and partially-ordered initialization, and is implied for constexpr static data members.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273754 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Add support for musl-libc on ARM Linux.Rafael Espindola9-11/+88
Patch by Lei Zhang! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273735 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24CodeGen: Update Clang to use the new type metadata.Peter Collingbourne22-439/+420
Differential Revision: http://reviews.llvm.org/D21054 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273730 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24[CMake] Remove CLANG_APPEND_VC_REV optionChris Bieneman2-13/+7
I added this option in r257827 to try and add compatibility with autoconf. At the time I misunderstood the problem. Our CMake automatically generates the SVN revision information and generates a build action to update it so builds don't need to be re-configured on SCM update (which is a better solution than we had in autoconf). The problem I was actually seeing was isolated cases where SVN revision information isn't available because the repository structures have been removed. This happens in some automated testing systems. This patch allows SVN_REVISION to be overridden if the build configuration could not find the SCM repository structures, and removes the code from my original patch because it is unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273714 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Revert r273705Carlo Bertolli38-4347/+28
[OpenMP] Initial implementation of parse and sema for composite pragma 'distribute parallel for' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273709 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24[OpenMP] Initial implementation of parse and sema for composite pragma ↵Carlo Bertolli38-28/+4347
'distribute parallel for' http://reviews.llvm.org/D21564 This patch is an initial implementation for #distribute parallel for. The main differences that affect other pragmas are: The implementation of 'distribute parallel for' requires blocking of the associated loop, where blocks are "distributed" to different teams and iterations within each block are scheduled to parallel threads within each team. To implement blocking, sema creates two additional worksharing directive fields that are used to pass the team assigned block lower and upper bounds through the outlined function resulting from 'parallel'. In this way, scheduling for 'for' to threads can use those bounds. As a consequence of blocking, the stride of 'distribute' is not 1 but it is equal to the blocking size. This is returned by the runtime and sema prepares a DistIncrExpr variable to hold that value. As a consequence of blocking, the global upper bound (EnsureUpperBound) expression of the 'for' is not the original loop upper bound (e.g. in for(i = 0 ; i < N; i++) this is 'N') but it is the team-assigned block upper bound. Sema creates a new expression holding the calculation of the actual upper bound for 'for' as UB = min(UB, PrevUB), where UB is the loop upper bound, and PrevUB is the team-assigned block upper bound. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273705 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24clang-format: [JS] Fix build breakage.Martin Probst2-2/+2
Checking Line.MustBeDeclaration does actually break the field and param initializer use case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273694 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24DeadStoresChecker: Don't warn about dead stores into volatile variablesStephan Bergmann2-0/+6
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273689 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Correct error in change description.Richard Smith1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273683 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Remaining motions pass.Richard Smith1-2/+0
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273681 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Inline variables tentatively approved for C++17.Richard Smith1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273680 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Updates from further motions.Richard Smith1-8/+1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273676 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Fix make-check issuesStrahinja Petrovic1-4/+5
Fixing build issue for test test/CodeGen/struct-union-BE.c. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273675 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24More approved features for C++17.Richard Smith1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273668 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Dynamic memory allocation with alignment has been approved for C++17.Richard Smith1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273667 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Using for attributes voted into C++17.Richard Smith4-1/+52
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273666 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24This patch fixes problem with passing structures and unionsStrahinja Petrovic2-1/+50
smaller than register as argument in variadic functions on big endian architectures. Differential Revision: http://reviews.llvm.org/D21611 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273665 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Add (commented out) status entries for the upcoming WG21 motions.Richard Smith1-0/+59
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273662 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24IgnoringImplicit matcher.Cong Liu5-3/+59
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273659 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24try to fix the MSVC buildDavid Majnemer1-1/+2
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273651 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Use even more ArrayRefsDavid Majnemer8-38/+28
No functional change is intended, just a small refactoring. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273650 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Use more ArrayRefsDavid Majnemer39-238/+174
No functional change is intended, just a small refactoring. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273647 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24Use the same underlying type for bitfieldsDavid Majnemer8-33/+33
MSVC allocates fresh storage for consecutive bitfields with different underlying types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273646 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Parser::ParseCXXCondition(): Prune \param in r273548 [-Wdocumentation]NAKAMURA Takumi1-3/+0
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273624 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23clang-format: [JS] handle conditionals in fields, default params.Martin Probst2-3/+11
Summary: Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D21658 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273619 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Invoke simplifycfg and sroa before instcombine.Dehao Chen3-3/+28
Summary: InstCombine needs to be performed after simplifycfg and sroa, otherwise it may make bad optimization decisions. Reviewers: davidxl, wmi, dnovillo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21568 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273606 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23clang-format: [JS] recognize more type locations.Martin Probst3-0/+19
Summary: Includes parenthesized type expressions and type aliases. Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D21597 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273603 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Implement p0292r2 (constexpr if), a likely C++1z feature.Richard Smith24-77/+477
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273602 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Re-commit r273548, reverted in r273589, with a fix to not produceRichard Smith16-374/+295
-Wfor-loop-analysis warnings for a for-loop with a condition variable. In such a case, the loop condition variable is modified on each iteration of the loop by definition. Original commit message: Rearrange condition handling so that semantic checks on a condition variable are performed before the other substatements of the construct are parsed, rather than deferring them until the end. This allows better error recovery from semantic errors in the condition, improves diagnostic order, and is a prerequisite for C++17 constexpr if. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273600 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Add a test case for the regression in -Wfor-loop-analysis caused by r273548.Peter Collingbourne1-0/+6
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273590 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Revert r273548, "Rearrange condition handling so that semantic checks on a ↵Peter Collingbourne16-294/+374
condition variable" as it caused a regression in -Wfor-loop-analysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273589 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23[Analyzer] Don't cache report generation ExplodedNodesBen Craig3-3/+18
During the core analysis, ExplodedNodes are added to the ExplodedGraph, and those nodes are cached for deduplication purposes. After core analysis, reports are generated. Here, trimmed copies of the ExplodedGraph are made. Since the ExplodedGraph has already been deduplicated, there is no need to deduplicate again. This change makes it possible to add ExplodedNodes to an ExplodedGraph without the overhead of deduplication. "Uncached" nodes also cannot be iterated over, but none of the report generation code attempts to iterate over all nodes. This change reduces the analysis time of a large .C file from 3m43.941s to 3m40.256s (~1.6% speedup). It should slightly reduce memory consumption. Gains should be roughly proportional to the number (and path length) of static analysis warnings. This patch enables future work that should remove the need for an InterExplodedGraphMap inverse map. I plan on using the (now unused) ExplodedNode link to connect new nodes to the original nodes. http://reviews.llvm.org/D21229 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273572 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Restructure the propagation of -fPIC/-fPIE.Rafael Espindola12-36/+31
The PIC and PIE levels are not independent. In fact, if PIE is defined it is always the same as PIC. This is clear in the driver where ParsePICArgs returns a PIC level and a IsPIE boolean. Unfortunately that is currently lost and we pass two redundant levels down the pipeline. This patch keeps a bool and a PIC level all the way down to codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273566 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Fixing a FIXME related to Unicode support on Windows. Converted the Win32 ↵Aaron Ballman1-18/+27
APIs to explicitly use the W version when it involves strings that can hold non-ASCII characters (like file paths). Now explicitly using the A version for strings that will always be ASCII (like registry key paths). No extra tests required as this is currently covered by existing testing, and this is basically impossible to write Unicode-specific tests for. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273563 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23CodeGen: support linker options on Windows ARMSaleem Abdulrasool6-0/+20
We would incorrectly emit the directive sections due to the missing overridden methods. We now emit the expected "/DEFAULTLIB" rather than "-l" options for requested linkage git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273558 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23clang-format: [Proto] Use more compact format for text-formatted optionsDaniel Jasper2-8/+5
Before: enum Type { UNKNOWN = 0 [(some_options) = { a: aa, b: bb }]; }; After: enum Type { UNKNOWN = 0 [(some_options) = {a: aa, b: bb}]; }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273553 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Attempt to fix MIPS buildbots after r273425.Daniel Sanders1-2/+2
MIPS has a 'signext' attribute that was causing the check to fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273552 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Rearrange condition handling so that semantic checks on a condition variableRichard Smith16-374/+294
are performed before the other substatements of the construct are parsed, rather than deferring them until the end. This allows better error recovery from semantic errors in the condition, improves diagnostic order, and is a prerequisite for C++17 constexpr if. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273548 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23[AVX512] Replace masked unpack builtins with shufflevector and selects.Craig Topper9-666/+618
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273533 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23Use ranges to concisely express iterationDavid Majnemer18-184/+123
No functional change is intended, this should just clean things up a little. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273522 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-22[driver] Remove one more bunch of empty 'test inputs' folders. NFCSimon Atanasyan0-0/+0
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273471 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-22[driver] Remove empty folders from the Inputs folder for the driver's tests. NFCSimon Atanasyan0-0/+0
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273468 91177308-0d34-0410-b5e6-96231b3b80d8