summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [OPENMP] Fix detection of explicit data-sharing attributes in templates.Alexey Bataev2016-04-292-0/+17
| | | | | | Fixes a bug with analysis of data-sharing attributes in templates. llvm-svn: 268020
* [find-all-symbols] Save absolute file path instead of relative file path in ↵Haojian Wu2016-04-291-4/+23
| | | | | | | | | | | | SymbolInfo. Reviewers: bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19647 llvm-svn: 268019
* Implementation of VlA of GNU C++ extension, by Vladimir Yakovlev.Alexey Bataev2016-04-298-15/+199
| | | | | | | This enables GNU C++ extension "Variable length array" by default. Differential Revision: http://reviews.llvm.org/D18823 llvm-svn: 268018
* [include-fixer] Add Yaml database integration.Haojian Wu2016-04-296-1/+131
| | | | | | | | | | Reviewers: bkramer Subscribers: cfe-commits, klimek, djasper Differential Revision: http://reviews.llvm.org/D19648 llvm-svn: 268017
* [InstCombine][SSE] Added x86 pshufb undef mask testsSimon Pilgrim2016-04-291-1/+37
| | | | | FIXME: We currently don't support folding constant pshufb shuffle masks containing undef elements. llvm-svn: 268016
* AMDGPU/SI: Assembler: Unify parsing/printing of operands.Nikolay Haustov2016-04-2935-975/+717
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The goal is for each operand type to have its own parse function and at the same time share common code for tracking state as different instruction types share operand types (e.g. glc/glc_flat, etc). Introduce parseAMDGPUOperand which can parse any optional operand. DPP and Clamp/OMod have custom handling for now. Sam also suggested to have class hierarchy for operand types instead of table. This can be done in separate change. Remove parseVOP3OptionalOps, parseDS*OptionalOps, parseFlatOptionalOps, parseMubufOptionalOps, parseDPPOptionalOps. Reduce number of definitions of AsmOperand's and MatchClasses' by using common base class. Rename AsmMatcher/InstPrinter methods accordingly. Print immediate type when printing parsed immediate operand. Use 'off' if offset/index register is unused instead of skipping it to make it more readable (also agreed with SP3). Update tests. Reviewers: tstellarAMD, SamWot, artem.tamazov Subscribers: qcolombet, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D19584 llvm-svn: 268015
* [InstCombine][SSE] Regenerated x86 pshufb testsSimon Pilgrim2016-04-291-90/+113
| | | | llvm-svn: 268014
* [Clang][AVX512][Builtin] Adding intrinsics for compress instruction setMichael Zuckerman2016-04-293-0/+119
| | | | | | Differential Revision: http://reviews.llvm.org/D19599 llvm-svn: 268013
* [mips][microMIPS] Fix offsets for LLE, LWE, SBE, SCE and SHE instructionsZlatko Buljan2016-04-2910-40/+142
| | | | | | Differential Revision: http://reviews.llvm.org/D18645 llvm-svn: 268012
* [GlobalOpt] Propagate operand bundlesDavid Majnemer2016-04-293-19/+78
| | | | | | | We neglected to transfer operand bundles for some transforms. These were found via inspection, I'll try to come up with some test cases. llvm-svn: 268011
* [InstCombine] Propagate operand bundlesDavid Majnemer2016-04-292-3/+9
| | | | | | | We neglected to transfer operand bundles for some transforms. These were found via inspection, I'll try to come up with some test cases. llvm-svn: 268010
* Fix PR21428 for long. Buffer was one byte too small in octal formatting ↵Eric Fiselier2016-04-292-10/+32
| | | | | | case. Rename previously added test llvm-svn: 268009
* [DeadArgumentElimination] Propagate operand bundles to promoted call sitesDavid Majnemer2016-04-292-4/+39
| | | | | | | We neglected to transfer operand bundles when performing argument promotion. llvm-svn: 268008
* [LoopDist] Add missing RUN line in test from r268006Adam Nemet2016-04-291-0/+2
| | | | llvm-svn: 268007
* [LoopDist] Also emit optimization remark on success (-Rpass=)Adam Nemet2016-04-292-0/+59
| | | | | | | The option -Rpass=loop-distribute now reports the loops that were distributed. llvm-svn: 268006
* [LoopDist] Pass 'Function' to main class. NFCAdam Nemet2016-04-291-6/+8
| | | | | | Next patch will add another use for 'Function' inside the class. llvm-svn: 268005
* [SLPVectorizer] Add operand bundles to vectorized functionsDavid Majnemer2016-04-292-2/+64
| | | | | | | SLPVectorizing a call site should result in further propagation of its bundles. llvm-svn: 268004
* [LoopVectorize] Add operand bundles to vectorized functionsDavid Majnemer2016-04-292-5/+52
| | | | | | | Also, do not crash when calculating a cost model for loop-invariant token values. llvm-svn: 268003
* AMDGPU: Stop reporting an addressing mode for unknown addrspaceMatt Arsenault2016-04-292-5/+26
| | | | | | | | | This was being treated the same as private, which has an immediate offset. For unknown, it probably means it's for a computation not actually being used for accessing memory, so it should not have a nontrivial addressing mode. llvm-svn: 268002
* DivergenceAnalysis: Fix crash with unreachable blocksMatt Arsenault2016-04-292-0/+22
| | | | | | | Unreachable blocks may not be in the dominator tree, so don't crash on them. llvm-svn: 268001
* [ArgumentPromotion] Propagate operand bundles to promoted call sitesDavid Majnemer2016-04-292-2/+36
| | | | | | | | | We neglected to transfer operand bundles when performing argument promotion. This fixes PR27568. llvm-svn: 267986
* [X86] Remove unnecessary header file containing a small class. It was only ↵Craig Topper2016-04-292-115/+84
| | | | | | included in one place. Just define the class directly in the cpp file. NFC llvm-svn: 267985
* [X86] Include X86MCTargetDesc.h directly in X86Disassembler.cpp instead of ↵Craig Topper2016-04-291-9/+1
| | | | | | duplicating parts of it. NFC llvm-svn: 267984
* Move extern C include test into test/libcxxEric Fiselier2016-04-291-0/+0
| | | | llvm-svn: 267983
* Fix test failures by adding missing includeEric Fiselier2016-04-291-0/+1
| | | | llvm-svn: 267982
* Fix or move various non-standard tests.Eric Fiselier2016-04-2931-137/+100
| | | | | | | | | | | | This patch does the following: * Remove <__config> includes from some container tests. * Guards uses of std::launch::any in async tests because it's an extension. * Move "test/std/extensions" to "test/libcxx/extensions" * Moves various non-standard tests including those in "sequences/vector", "std/localization" and "utilities/meta". llvm-svn: 267981
* [PR25281] Remove AAResultsWrapper from preserved analyses of loop vectorizer.Michael Zolotukhin2016-04-292-1/+59
| | | | | | | We don't preserve AAResults, because, for one, we don't preserve SCEV-AA. That fixes PR25281. llvm-svn: 267980
* Do not produce broken debug info.Rui Ueyama2016-04-292-5/+14
| | | | | | | r267917 produces corrupted debug info because it didn't apply relocations to right offsets. llvm-svn: 267979
* Remove stale documentation on -no-aaSanjoy Das2016-04-291-8/+0
| | | | | | The pass itself was removed in rL247167. llvm-svn: 267978
* RegisterPressure: Fix default lanemask for missing regunit intervalsMatthias Braun2016-04-293-39/+37
| | | | | | | | | | | | | | In case of missing live intervals for a physical registers getLanesWithProperty() would report 0 which was not a safe default in all situations. Add a parameter to pass in a safe default. No testcase because in-tree targets do not skip computing register unit live intervals. Also cleanup the getXXX() functions to not perform the RequireLiveIntervals checks anymore so we do not even need to return safe defaults. llvm-svn: 267977
* RegisterPressure: Cannot produce dead (subregister) defs anymoreMatthias Braun2016-04-291-3/+2
| | | | | | | | | With the DetectDeadLanes pass in place we cannot run into situations anymore where defs suddenly become dead. Also add a missing check so we do not try to add an undef flag to a physreg (found by visual inspection, no failing test). llvm-svn: 267976
* [Parser] Clear the TemplateParamScope bit of the current scope's flagAkira Hatanaka2016-04-297-6/+21
| | | | | | | | | | | | | | | | | | | | | | | if we are parsing a template specialization. This commit makes changes to clear the TemplateParamScope bit and set the TemplateParamParent field of the current scope to null if a template specialization is being parsed. Before this commit, Sema::ActOnStartOfLambdaDefinition would check whether the parent template scope had any decls to determine whether or not a template specialization was being parsed. This wasn't correct since it couldn't distinguish between a real template specialization and a template defintion with an unnamed template parameter (only template parameters with names are added to the scope's decl list). To fix the bug, this commit changes the code to check the pointer to the parent template scope rather than the decl list. rdar://problem/23440346 Differential Revision: http://reviews.llvm.org/D19175 llvm-svn: 267975
* Fix build by casting to the proper int type.Ivan Krasin2016-04-291-1/+1
| | | | | | | | Reviewers: eugenis Differential Revision: http://reviews.llvm.org/D19706 llvm-svn: 267974
* Move INVOKE tests into test/libcxx sub-tree.Eric Fiselier2016-04-296-10/+21
| | | | | | | | | Testing the concrete implementation of INVOKE means calling the implementation specific names `__invoke` and `__invoke_constexpr`. For this reason the test are non-standard. For this reason it's best if the tests live outside of the `test/std` directory. llvm-svn: 267973
* [OPENMP] Enable correct generation of runtime call when target directive is ↵Carlo Bertolli2016-04-292-2/+22
| | | | | | | | | | separated from teams directive by multiple curly brackets http://reviews.llvm.org/D18474 This patch fixes a bug in code generation of the correct OpenMP runtime library call in presence of target and teams, when target is separated by teams with multiple curly brackets. The current implementation will not be able to see the teams directive inside target and issue a call to tgt_target instead of the correct one tgt_target_teams. llvm-svn: 267972
* [llvm-cov] Don't emit 'nan%' in reportsVedant Kumar2016-04-292-2/+10
| | | | llvm-svn: 267971
* [LoopVectorize] Keep hints from original loop on the vector loopHal Finkel2016-04-292-0/+35
| | | | | | | | | | | | | | | | We need to keep loop hints from the original loop on the new vector loop. Failure to do this meant that, for example: void foo(int *b) { #pragma clang loop unroll(disable) for (int i = 0; i < 16; ++i) b[i] = 1; } this loop would be unrolled. Why? Because we'd vectorize it, thus dropping the hints that unrolling should be disabled, and then we'd unroll it. llvm-svn: 267970
* PR27549: fix bug that resulted in us giving a translation-unit-scope variable aRichard Smith2016-04-293-5/+20
| | | | | | | | mangled name if it happened to be declared in an 'extern "C++"' context. This also causes us to use the '_ZL' mangling rather than the '_Z' mangling for internal-linkage entities that are wrapped in a language linkage construct. llvm-svn: 267969
* Fix possible test breakage for MinGWEric Fiselier2016-04-291-8/+9
| | | | llvm-svn: 267968
* [msan] Tests for vector compare intrinsics.Evgeniy Stepanov2016-04-291-1/+42
| | | | llvm-svn: 267967
* [msan] Handle vector compare x86 intrinsics.Evgeniy Stepanov2016-04-291-0/+69
| | | | | | This handles SSE and SSE2 cmp_* and comiXX_* intrinsics. llvm-svn: 267966
* [llvm-pdbdump] Try to appease the ASan botDavid Majnemer2016-04-291-0/+5
| | | | | | We didn't check that the file was large enough to hold a super block. llvm-svn: 267965
* [X86] Use nested switches to vary the operand to helper functions that were ↵Craig Topper2016-04-291-43/+74
| | | | | | previously called in multiple cases. This seems to help the inliner reduce code. NFC llvm-svn: 267964
* Fix get_temp_file_name() to compile on Windows. Patch from STL@microsoft.comEric Fiselier2016-04-291-6/+8
| | | | llvm-svn: 267963
* Remove more names of unreferenced parameters. Patch from STL@microsoft.comEric Fiselier2016-04-292-10/+10
| | | | llvm-svn: 267962
* Add a return value for nasty_mutex::operator&. Patch from STL@microsoft.comEric Fiselier2016-04-291-1/+1
| | | | llvm-svn: 267961
* [ASan] [SystemZ] Mark segv_read_write.c as UNSUPPORTED.Marcin Koscielnicki2016-04-291-1/+1
| | | | | | | | | | On s390*-linux, sigcontext just doesn't contain any information that could be used to recover the type of access, so there's no way to fix this, short of emulating the faulting instruction. Differential Revision: http://reviews.llvm.org/D19655 llvm-svn: 267960
* Add <string> include for streaming operators. Patch from STL@microsoft.comEric Fiselier2016-04-298-0/+8
| | | | llvm-svn: 267959
* Add proper include for unique_ptr. Patch from STL@microsoft.comEric Fiselier2016-04-291-0/+1
| | | | llvm-svn: 267958
* Avoid -Wshadow warnings about constructor parameters named after fieldsReid Kleckner2016-04-298-28/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | Usually these parameters are used solely to initialize the field in the initializer list, and there is no real shadowing confusion. There is a new warning under -Wshadow called -Wshadow-field-in-constructor-modified. It attempts to find modifications of such constructor parameters that probably intended to modify the field. It has some false negatives, though, so there is another warning group, -Wshadow-field-in-constructor, which always warns on this special case. For users who just want the old behavior and don't care about these fine grained groups, we have a new warning group called -Wshadow-all that activates everything. Fixes PR16088. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18271 llvm-svn: 267957
OpenPOWER on IntegriCloud