summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MCU target has its own ABI, however X86 interrupt handler calling convention ↵Amjad Aboud2016-03-031-1/+3
| | | | | | | | | | overrides this ABI. Fixed the ordering to check first for X86 interrupt handler then for MCU target. Differential Revision: http://reviews.llvm.org/D17801 llvm-svn: 262628
* [X86] Don't assume that shuffle non-mask operands starts at #0.Ahmed Bougacha2016-03-033-32/+95
| | | | | | | | | | | | | | | | | | | | | | | | | That's not the case for VPERMV/VPERMV3, which cover all possible combinations (the C intrinsics use a different order; the AVX vs AVX512 intrinsics are different still). Since: r246981 AVX-512: Lowering for 512-bit vector shuffles. VPERMV is recognized in getTargetShuffleMask. This breaks assumptions in most callers, as they expect the non-mask operands to start at index 0. VPERMV has the mask as operand #0; VPERMV3 has it in the middle. Instead of the faulty assumption, have getTargetShuffleMask return its operands as well. One alternative we considered was to change the operand order of VPERMV, but we agreed to stick to the instruction order, as there are more AVX512 weirdness to cover (vpermt2/vpermi2 in particular). Differential Revision: http://reviews.llvm.org/D17041 llvm-svn: 262627
* Simplify error handling.Rafael Espindola2016-03-037-79/+54
| | | | | | | This makes fatal return T when there is no error. This avoids the need for quite a few temporaries. llvm-svn: 262626
* [OpenMP] Code generation for teams - kernel launchingSamuel Antao2016-03-033-8/+427
| | | | | | | | | | | | | | | Summary: This patch implements the launching of a target region in the presence of a nested teams region, i.e calls tgt_target_teams with the required arguments gathered from the enclosed teams directive. The actual codegen of the region enclosed by the teams construct will be contributed in a separate patch. Reviewers: hfinkel, arpith-jacob, kkwli0, carlo.bertolli, ABataev Subscribers: cfe-commits, caomhin, fraggamuffin Differential Revision: http://reviews.llvm.org/D17019 llvm-svn: 262625
* [LoopUtils, LV] Fix PR26734Matthew Simpson2016-03-032-1/+50
| | | | | | | | The vectorization of first-order recurrences (r261346) caused PR26734. When detecting these recurrences, we need to ensure that the previous value is actually defined inside the loop. This patch includes the fix and test case. llvm-svn: 262624
* [AArch64] fold 'isPositive' vector integer operations (PR26819)Sanjay Patel2016-03-032-16/+37
| | | | | | | | | | | | | | | | This is one of the cases shown in: https://llvm.org/bugs/show_bug.cgi?id=26819 Shift and negate is what InstCombine prefers to produce (and I tried to make it do more of that in http://reviews.llvm.org/rL262424 ), so we should recognize that pattern as something that might come from autovectorization even if it's unlikely to be produced from C NEON intrinsics. The patch is based on the x86 equivalent: http://reviews.llvm.org/rL262036 Differential Revision: http://reviews.llvm.org/D17834 llvm-svn: 262623
* Revert "Fetch remote log files from LLGS tests"Pavel Labath2016-03-031-29/+5
| | | | | | | Even after the last fixup, there still seems to be one failure left. Revert until I figure out what is going on. llvm-svn: 262622
* AVX512: Combine AND + TESTM instructions .Igor Breger2016-03-034-8/+86
| | | | | | Differential Revision: http://reviews.llvm.org/D17844 llvm-svn: 262621
* Making rem_crash.ll target-specificRenato Golin2016-03-033-1/+516
| | | | | | | | | | This test failed in some ARM bots after a divmod change because it was running on a native llc, instead of targeted one. This makes sure the test is target-specific (as intended), and also copies to ARM and AArch64 directories. If it is also supposed to work on other architectures, I'll leave as an exercise to the respective maintainers. llvm-svn: 262620
* [ARM] Add Clang targeting for ARMv8-M Baseline/MainlineBradley Smith2016-03-036-10/+82
| | | | llvm-svn: 262619
* [clang-tidy] Improve the robustness of a test.Gabor Horvath2016-03-031-3/+2
| | | | llvm-svn: 262618
* [CLANG][AVX512][BUILTIN] movddup{128|256|512}Michael Zuckerman2016-03-035-0/+106
| | | | | | Differential Revision: http://reviews.llvm.org/D17826 llvm-svn: 262617
* [OpenCL] Apply missing restrictions for Blocks in OpenCL v2.0Anastasia Stulova2016-03-038-46/+133
| | | | | | | | | | | | | | Applying the following restrictions for block types in OpenCL (v2.0 s6.12.5): - __block storage class is disallowed - every block declaration must be const qualified and initialized - a block can't be used as a return type of a function - a blocks can't be used to declare a structure or union field - extern speficier is disallowed Corrected image and sampler types diagnostics with struct and unions. Review: http://reviews.llvm.org/D16928 llvm-svn: 262616
* [clang-tidy] Do not emit warnings from misc-suspicious-semicolon when the ↵Gabor Horvath2016-03-033-7/+23
| | | | | | compilation fails. llvm-svn: 262615
* Fix typo [NFC]Johannes Doerfert2016-03-031-1/+1
| | | | llvm-svn: 262613
* [FIX] Consolidation of loads with same pointer but different access relationJohannes Doerfert2016-03-032-2/+134
| | | | | | | | | This should fix PR19422. Thanks to Jeremy Huddleston Sequoia for reporting this. Thanks to Roman Gareev for his investigation and the reduced test case. llvm-svn: 262612
* Fixing a checkfile error in avx512vlbw-builtins.cMichael Zuckerman2016-03-031-8/+8
| | | | | | Differential Revision: http://reviews.llvm.org/D17814 llvm-svn: 262611
* Fix for PR26812: possible overflow issue in std::allocator::allocateMarshall Clow2016-03-032-2/+64
| | | | llvm-svn: 262610
* [CLANG][AVX512][BUILTIN] movdqu{qi|hi} {128|256|512}Michael Zuckerman2016-03-035-0/+184
| | | | | | Differential Revision: http://reviews.llvm.org/D17814 llvm-svn: 262609
* [DOC] Add documentation for the supported call instructionsJohannes Doerfert2016-03-031-0/+17
| | | | llvm-svn: 262608
* [DOC] Add more documentation about the different element type supportJohannes Doerfert2016-03-031-0/+23
| | | | llvm-svn: 262607
* Tweak CMakeLists not for libclang to depend on the variable ↵NAKAMURA Takumi2016-03-032-2/+4
| | | | | | CLANG_TOOL_EXTRA_BUILD. llvm-svn: 262606
* [docs] Fix docs to work with doxygen 1.8.11Alexander Kornienko2016-03-033-22/+10
| | | | llvm-svn: 262605
* [docs] Add missing fileAlexander Kornienko2016-03-031-0/+15
| | | | llvm-svn: 262604
* [docs] Updated doxygen files to work well with doxygen 1.8.11Alexander Kornienko2016-03-032-28/+1
| | | | | | Doxygen 1.8.11 doesn't seem to like files with ".intro" extension by default. llvm-svn: 262603
* Fix OSX breakage caused by r262597Pavel Labath2016-03-031-0/+1
| | | | llvm-svn: 262602
* [clang-tidy] Documentation fixes.Gabor Horvath2016-03-031-6/+6
| | | | llvm-svn: 262601
* [AVR] Add calling convention parser tokensDylan McKay2016-03-036-0/+25
| | | | | | | | | | | | Summary: Adds the 'avr_intrcc' and 'avr_signalcc' IR calling convention tokens to the parser. Reviewers: arsenm Subscribers: dylanmckay, llvm-commits Differential Revision: http://reviews.llvm.org/D16348 llvm-svn: 262600
* [X86][SSE] Improve vector ZERO_EXTEND by combining to ZERO_EXTEND_VECTOR_INREGSimon Pilgrim2016-03-034-43/+60
| | | | | | | | Generalise the existing SIGN_EXTEND to SIGN_EXTEND_VECTOR_INREG combine to support zero extension as well and get rid of a lot of unnecessary ANY_EXTEND + mask patterns. Differential Revision: http://reviews.llvm.org/D17691 llvm-svn: 262599
* [CLANG][AVX512][BUILTIN] movdqa{32|64}{load|store|}{128|256|512}Michael Zuckerman2016-03-035-0/+307
| | | | | | Differential Revision: http://reviews.llvm.org/D17812 llvm-svn: 262598
* Fetch remote log files from LLGS testsPavel Labath2016-03-031-5/+28
| | | | | | | | | | | | | | | | | Summary: this enables download of remote log files for llgs and debugserver tests (previously we were just passing the host file name which obviously did not work). Note this also changes the debugserver logging to work only when logging has been requested on the command line, whereas previously it would log unconditionally. I can change it back if anyone is relying on this, but I thought I'd make this consistent. Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17798 llvm-svn: 262597
* [libclang] Link clang-tidy plugin into libclang if present.Benjamin Kramer2016-03-032-0/+12
| | | | | | | | | | | | This is a sad workaround for the lack of plugin support in libclang. Depends on D17807, a tools-extra change that also contains the test case. This is designed to be easy to remove again if libclang ever grows proper plugin support. Differential Revision: http://reviews.llvm.org/D17808 llvm-svn: 262596
* [clang-tidy] Add "clang-tidy as a clang plugin" skeleton.Benjamin Kramer2016-03-036-0/+148
| | | | | | | | | | | | | | | | | This doesn't really do much at the moment. You can load it via libclang and set the -checks via an extra command line argument as illustrated in the test case. Support for other options (including headers check) is currently missing. Also when using this with libclang some checks may not work with the precompiled preamble in place. This can be used to easily show clang-tidy warnings in an editor integration as all that's needed is adding command line flags that are passed into libclang. Warnings and FixIts are exposed via the existing CXDiagnostic machinery. Differential Revision: http://reviews.llvm.org/D17807 llvm-svn: 262595
* Revert "[ARM] Merging 64-bit divmod lib calls into one"Renato Golin2016-03-033-14/+2
| | | | | | This reverts commit r262507, which broke some ARM buildbots. llvm-svn: 262594
* [Clang][AVX512][BUILTIN] Adding PSRL{W|WI}{128|256|512}Michael Zuckerman2016-03-034-0/+161
| | | | | | Differential Revision: http://reviews.llvm.org/D17754 llvm-svn: 262593
* [LLVM][AVX512] PSRLWI Chnage imm8 to intMichael Zuckerman2016-03-034-21/+21
| | | | | | Differential Revision: http://reviews.llvm.org/D17753 llvm-svn: 262592
* Allow the client of DependenceInfo to obtain dependences at different ↵Hongbin Zheng2016-03-036-38/+84
| | | | | | granularities. llvm-svn: 262591
* [ELF] - add support for relocations against local symbols when producing ↵George Rimar2016-03-036-7/+81
| | | | | | | | | | | | | relocatable output. There was a known limitation for -r option: relocations against local symbols were not supported. For example rel[a].eh_frame sections contained relocations against sections and that was not supported for -r before. Patch fixes that. Differential review: http://reviews.llvm.org/D17813 llvm-svn: 262590
* www: Add links to sphinx/doxygen documentationTobias Grosser2016-03-031-0/+2
| | | | llvm-svn: 262589
* docs: Drop modindex from sphinxTobias Grosser2016-03-031-1/+0
| | | | | | | For an unknown reason modindex is not be built correctly by sphinx. Take it out of the index until we can build it correctly. llvm-svn: 262588
* Semantic analysis for the swiftcall calling convention.John McCall2016-03-0319-18/+614
| | | | | | | I've tried to keep the infrastructure behind parameter ABI treatments fairly general. llvm-svn: 262587
* Replace ECRAII class with a function.Rui Ueyama2016-03-031-9/+7
| | | | | | RCRAII class was a bit tricky. This patch removes that. llvm-svn: 262586
* TTI: Fix not using overload of getIntrinsicInstrCostMatt Arsenault2016-03-031-1/+1
| | | | | | | This was always calling the generic version, so the target custom implementation was never called. llvm-svn: 262585
* [index] Report references of ObjC super class/protocols in interfaces and ↵Argyrios Kyrtzidis2016-03-032-6/+51
| | | | | | protocols. llvm-svn: 262584
* [test] Re-enable asan on the test, stack usage should be lower.Argyrios Kyrtzidis2016-03-031-2/+2
| | | | llvm-svn: 262583
* [OPENMP 4.0] Initial support for 'omp declare reduction' construct.Alexey Bataev2016-03-0341-26/+1150
| | | | | | | | | | | | | | | | | Add parsing, sema analysis and serialization/deserialization for 'declare reduction' construct. User-defined reductions are defined as #pragma omp declare reduction( reduction-identifier : typename-list : combiner ) [initializer ( initializer-expr )] These custom reductions may be used in 'reduction' clauses of OpenMP constructs. The combiner specifies how partial results can be combined into a single value. The combiner can use the special variable identifiers omp_in and omp_out that are of the type of the variables being reduced with this reduction-identifier. Each of them will denote one of the values to be combined before executing the combiner. It is assumed that the special omp_out identifier will refer to the storage that holds the resulting combined value after executing the combiner. As the initializer-expr value of a user-defined reduction is not known a priori the initializer-clause can be used to specify one. Then the contents of the initializer-clause will be used as the initializer for private copies of reduction list items where the omp_priv identifier will refer to the storage to be initialized. The special identifier omp_orig can also appear in the initializer-clause and it will refer to the storage of the original variable to be reduced. Differential Revision: http://reviews.llvm.org/D11182 llvm-svn: 262582
* [LSan] Enable use_registers test for MIPSMohit K. Bhakkad2016-03-031-0/+5
| | | | | | | | | | Reviewers: samsonov Subscribers: jaydeep, sagar, llvm-commits Differential Revision: http://reviews.llvm.org/D17797 llvm-svn: 262581
* [BranchFolding] Change function name related with merging MMOs. NFCJunmo Park2016-03-031-7/+5
| | | | | | | | | | | Summary: Removing MMOs is not our prefer behavior any more. Reviewers: mcrosier, reames Differential Revision: http://reviews.llvm.org/D17668 llvm-svn: 262580
* AMDGPU: Insert two S_NOP instructions for every high level source statement.Tom Stellard2016-03-034-0/+110
| | | | | | | | | | | | | | Patch by: Konstantin Zhuravlyov Summary: Tools, such as debugger, need to pause execution based on user input (i.e. breakpoint). In order to do this, two S_NOP instructions are inserted for each high level source statement: one before first isa instruction of high level source statement, and one after last isa instruction of high level source statement. Further, debugger may replace S_NOP instructions with S_TRAP instructions based on user input. Reviewers: tstellarAMD, arsenm Subscribers: echristo, dblaikie, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D17454 llvm-svn: 262579
* [OPENMP 4.5] Initial support for data members in 'linear' clause.Alexey Bataev2016-03-039-76/+92
| | | | | | | | OpenMP 4.5 allows to privatize data members of current class in member functions. Patch adds initial support for privatization of data members in 'linear' clause, no codegen support. llvm-svn: 262578
OpenPOWER on IntegriCloud