summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Solaris] __float128 is supported on Solaris/x86Rainer Orth2018-04-232-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rebasing https://reviews.llvm.org/D40898 with GCC 5.4 on Solaris 11.4, I ran into a few instances of In file included from /vol/llvm/src/compiler-rt/local/test/asan/TestCases/Posix/asan-symbolize-sanity-test.cc:19: In file included from /usr/gcc/5/lib/gcc/x86_64-pc-solaris2.11/5.4.0/../../../../include/c++/5.4.0/string:40: In file included from /usr/gcc/5/lib/gcc/x86_64-pc-solaris2.11/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h:39: In file included from /usr/gcc/5/lib/gcc/x86_64-pc-solaris2.11/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h:64: In file included from /usr/gcc/5/lib/gcc/x86_64-pc-solaris2.11/5.4.0/../../../../include/c++/5.4.0/bits/stl_pair.h:59: In file included from /usr/gcc/5/lib/gcc/x86_64-pc-solaris2.11/5.4.0/../../../../include/c++/5.4.0/bits/move.h:57: /usr/gcc/5/lib/gcc/x86_64-pc-solaris2.11/5.4.0/../../../../include/c++/5.4.0/type_traits:311:39: error: __float128 is not supported on this target struct __is_floating_point_helper<__float128> ^ during make check-all. The line above is inside #if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) template<> struct __is_floating_point_helper<__float128> : public true_type { }; #endif While the libstdc++ header indicates support for __float128, clang does not, but should. The following patch implements this and fixed those errors. Differential Revision: https://reviews.llvm.org/D41240 llvm-svn: 330572
* Use special new Clang flag 'FrontendTimesIsEnabled' instead of ↵Andrew V. Tischenko2018-04-236-11/+197
| | | | | | | | 'llvm::TimePassesIsEnabled' inside -ftime-report feature. Differential Revision: https://reviews.llvm.org/D45619 llvm-svn: 330571
* Fix BNF nits in TableGen language reference.Simon Tatham2018-04-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In the course of writing an experimental ANTLR grammar based on this document, I found three errors in the documented BNF: SimpleValues of dag type are allowed to have no operands at all after the initial DagArg specifying the operator. For example, the value (outs) is extremely common in backends; an example in the test suite is test/TableGen/AsmVariant.td line 30. But the BNF doesn't allow DagArgList to expand to the empty string (it must contain at least one DagArg), and therefore the DagArgList specifying the operands in the dag-shaped production for SimpleValue should be optional. In the production for BodyItem with a 'let' and an optional RangeList, the RangeList should have braces around it if it's present, matching code such as "let E{7-0} = ..." on test/TableGen/BitsInit.td line 42. Those braces aren't included in the RangeList nonterminal itself, so instead they need to be part of the optional segment of the BodyItem production. Finally, the identifier after 'defm' should be optional. Again, this is very common in the real back end .td files; an example in the test suite is in test/TableGen/defmclass.td line 49. Reviewers: rengolin, nhaehnle, stoklund Reviewed By: nhaehnle Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D45818 llvm-svn: 330570
* Revert "[clang-format] Improve Incomplete detection for (text) protos"Krasimir Georgiev2018-04-233-90/+9
| | | | | | | | This reverts commit r330016. The incomplete detection has too many false positives, picking up typos for hard failures and refusing to format anything in that case. llvm-svn: 330569
* [CMake] Gate 'dsymutil' dependencyJonas Devlieghere2018-04-231-2/+2
| | | | | | | Only add `dsymutil` as a test dependency when this is not a stand-alone build (LLDB_BUILT_STANDALONE). llvm-svn: 330568
* Test commit access.Simon Tatham2018-04-231-1/+1
| | | | | | | | | | | Should be a harmless trimming of trailing whitespace from a documentation file. (There are other instances of trailing whitespace in this file alone. I've only fixed one of them, on the basis that that way the rest are still available for other people's commit-access tests :-) llvm-svn: 330567
* [Atomics] warn about atomic accesses using libcallsTim Northover2018-04-233-6/+40
| | | | | | | | | | | | If an atomic variable is misaligned (and that suspicion is why Clang emits libcalls at all) the runtime support library will have to use a lock to safely access it, with potentially very bad performance consequences. There's a very good chance this is unintentional so it makes sense to issue a warning. Also give it a named group so people can promote it to an error, or disable it if they really don't care. llvm-svn: 330566
* [AArch64][SVE] Asm: Support for structured ST2, ST3 and ST4 (scalar+imm) ↵Sander de Smalen2018-04-2326-0/+1161
| | | | | | | | | | | | | | store instructions. Reviewers: fhahn, rengolin, javed.absar, SjoerdMeijer, t.p.northover, echristo, evandro, huntergr Reviewed By: rengolin Subscribers: tschuett, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D45681 llvm-svn: 330565
* [PM/LoopUnswitch] Remove a buggy assert in the new loop unswitch.Chandler Carruth2018-04-232-6/+60
| | | | | | | | The condition this was asserting doesn't actually hold. I've added comments to explain why, removed the assert, and added a fun test case reduced out of 403.gcc. llvm-svn: 330564
* [X86] Add VEX_WIG to VEX encoded version of VCMPPSY/VCMPPDY.Craig Topper2018-04-232-2/+8
| | | | llvm-svn: 330563
* update readability-identifier-naming-objc test to use interface ivar. ↵Yan Zhang2018-04-231-5/+2
| | | | | | | | | | | | Implementation ivars are not supported in 32-bits OS. Reviewers: alexfh, chandlerc Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D45936 llvm-svn: 330562
* [XRay] Change std::sort to llvm::sort in response to r327219Mandeep Singh Grang2018-04-231-1/+1
| | | | | | | | | | | r327219 added wrappers to std::sort which randomly shuffle the container before sorting. This will help in uncovering non-determinism caused due to undefined sorting order of objects having the same key. To make use of that infrastructure we need to invoke llvm::sort instead of std::sort. llvm-svn: 330561
* [PM/LoopUnswitch] Fix comment typo. NFC.Chandler Carruth2018-04-231-1/+1
| | | | llvm-svn: 330560
* update test to use ivar in implementation instead of class extensionYan Zhang2018-04-232-0/+19
| | | | | | | | | | | | | | Summary: using ivar in class extension is not supported in 32-bit architecture of MacOS. Reviewers: alexfh, hokein Reviewed By: alexfh Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D45912 llvm-svn: 330559
* [X86][Znver1] Remove unnecessary BMI1 ANDN InstRW overrides.Simon Pilgrim2018-04-221-6/+0
| | | | llvm-svn: 330558
* [python bindings] Fix Cursor.result_type for ObjC method declarations - Bug ↵Jonathan Coe2018-04-222-1/+18
| | | | | | | | | | | | | | | | | | | | | 36677 Summary: In cindex.py, Cursor.result_type called into the wrong libclang function, causing cursors for ObjC method declarations to return invalid result types. Fixes Bug 36677. Reviewers: jbcoe, rsmith Reviewed By: jbcoe Subscribers: cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D45671 Patch by kjteske (Kyle Teske). llvm-svn: 330557
* [llvm-mca][X86] Add BMI/LZCNT/POPCNT resource tests to all relevant modelsSimon Pilgrim2018-04-2225-0/+2322
| | | | | | The SandyBridge BMI tests are actually run on IvyBridge as that's the first lowest CPU that actually support the ISAs (but still use the SandyBridge model). llvm-svn: 330556
* [LLVM-C] Add DIBuilder Bindings For Variable CreationRobert Widmann2018-04-227-75/+160
| | | | | | | | | | | | | | Summary: Wrap LLVMDIBuilderCreateAutoVariable, LLVMDIBuilderCreateParameterVariable, LLVMDIBuilderCreateExpression, and move and correct LLVMDIBuilderInsertDeclareBefore and LLVMDIBuilderInsertDeclareAtEnd from the Go bindings to the C bindings. Reviewers: harlanhaskins, whitequark, deadalnix Reviewed By: harlanhaskins, whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D45928 llvm-svn: 330555
* [X86] Remove unnecessary WriteFBlend/WriteBlend InstRW overrides.Simon Pilgrim2018-04-226-37/+15
| | | | | | Fixed a lot of the default classes which were being completely overridden. llvm-svn: 330554
* [X86] Remove unnecessary WriteFMul/WriteFRcp/WriteFRsqrt InstRW overrides.Simon Pilgrim2018-04-224-43/+13
| | | | llvm-svn: 330553
* [X86] Remove unnecessary CVT instrw overrides.Simon Pilgrim2018-04-223-13/+0
| | | | llvm-svn: 330552
* Test commit access.Andres Freund2018-04-221-1/+1
| | | | | | Remove trailing whitespace. llvm-svn: 330551
* [PatternMatch] allow undef elements when matching a vector zeroSanjay Patel2018-04-2215-118/+79
| | | | | | | | | | | | | | | | | | | | | | | | | This is the last step in getting constant pattern matchers to allow undef elements in constant vectors. I'm adding a dedicated m_ZeroInt() function and building m_Zero() from that. In most cases, calling code can be updated to use m_ZeroInt() directly when there's no need to match pointers, but I'm leaving that efficiency optimization as a follow-up step because it's not always clear when that's ok. There are just enough icmp folds in InstSimplify that can be used for integer or pointer types, that we probably still want a generic m_Zero() for those cases. Otherwise, we could eliminate it (and possibly add a m_NullPtr() as an alias for isa<ConstantPointerNull>()). We're conservatively returning a full zero vector (zeroinitializer) in InstSimplify/InstCombine on some of these folds (see diffs in InstSimplify), but I'm not sure if that's actually necessary in all cases. We may be able to propagate an undef lane instead. One test where this happens is marked with 'TODO'. llvm-svn: 330550
* [X86][SkylakeServer] Remove unnecessary PMULLD instrw overrides.Simon Pilgrim2018-04-221-21/+0
| | | | llvm-svn: 330549
* [X86][Atom] Remove unnecessary scalar/vector load/move instrw overrides.Simon Pilgrim2018-04-221-6/+5
| | | | llvm-svn: 330548
* [InstCombine] add vector test with undef elts; NFCSanjay Patel2018-04-221-0/+13
| | | | llvm-svn: 330547
* [X86] Fix (completely overridden) WriteFHAdd/WritePHAdd classes to allow us ↵Simon Pilgrim2018-04-227-201/+56
| | | | | | to remove unnecessary instrw overrides. llvm-svn: 330546
* [X86][MMX][SSE] Tag missed PHADD/PHSUB instructions with WritePHAdd Simon Pilgrim2018-04-223-9/+9
| | | | llvm-svn: 330545
* [X86] Remove unnecessary WriteFVarBlend/WriteVarBlend InstRW overrides.Simon Pilgrim2018-04-228-146/+48
| | | | | | This also fixes some of the ReadAfterLd issues due to InstRW. llvm-svn: 330544
* [InstSimplify, InstCombine] add vector tests with undef elts; NFCSanjay Patel2018-04-223-34/+85
| | | | llvm-svn: 330543
* [X86] Fix WriteMPSAD/WritePSADBW values to allow us to remove unnecessary ↵Simon Pilgrim2018-04-226-73/+10
| | | | | | instrw overrides. llvm-svn: 330542
* [X86][SandyBridge] Remove unnecessary WritePOPCNTLd overrides by fixing load ↵Simon Pilgrim2018-04-221-2/+1
| | | | | | latency. llvm-svn: 330541
* [llvm-mca][X86] Add POPCNT resource testSimon Pilgrim2018-04-222-0/+108
| | | | llvm-svn: 330540
* [test] Fix MC/ELF/nocompression.sJonas Devlieghere2018-04-221-1/+1
| | | | | | | | | Unbreak the linux build bots: http://lab.llvm.org:8011/builders/clang-lld-x86_64-2stage/builds/5165/ http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/28775 http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/8227 llvm-svn: 330539
* [lli] Fix syntax error: missing ';'Jonas Devlieghere2018-04-221-2/+2
| | | | | | | Fixes build issue on the windows bots: error C2143: syntax error: missing ';' llvm-svn: 330538
* [lli] Make error handling more consistent.Jonas Devlieghere2018-04-221-15/+23
| | | | | | Makes error handling more consistent by using the helpers in support. llvm-svn: 330537
* [llvm-mc] Make error handling more consistent.Jonas Devlieghere2018-04-222-12/+15
| | | | | | Makes error handling more consistent by using the helpers in support. llvm-svn: 330536
* [Support] Fix prefix logic in WithColor.Jonas Devlieghere2018-04-221-3/+6
| | | | | | | When a prefix is passed, we need to print a colon a space after it, not just the prefix. llvm-svn: 330535
* [X86] Remove an unnecessary HANDLE_OPTIONAL line from the disassembler ↵Craig Topper2018-04-221-1/+0
| | | | | | operand processing. llvm-svn: 330534
* [X86] Change TB to PS on LFENCE instruction.Craig Topper2018-04-221-1/+1
| | | | | | This matches the other FENCE instructions. llvm-svn: 330533
* [X86] Remove OpSizeIgnore, it's not implemented any differently than ↵Craig Topper2018-04-223-7/+3
| | | | | | OpSizeFixed. llvm-svn: 330532
* [X86] Remove DATA32_PREFIX. Hack the printing for DATA16_PREFIX to print ↵Craig Topper2018-04-226-19/+28
| | | | | | | | | | 'data32' in 16-bit mode. Hack the asm parser to convert 'data32' to 'data16' in 16-bit mode. Improve the error messages to match GNU assembler. This also allows us to remove the hack from the disassembler table building. llvm-svn: 330531
* Add tests for llvm-bcanalyzer stream typesBrian Gesiak2018-04-222-0/+13
| | | | | | | | | | | | | | | | | | Summary: Add tests for the improved stream type detection added to `llvm-bcanalyzer` in https://reviews.llvm.org/D41979. Test Plan: `check-clang` Reviewers: pcc, aprantl, mehdi_amini, george.karpenkov Reviewed By: aprantl Subscribers: cfe-commits, a.sidorin Differential Revision: https://reviews.llvm.org/D41980 llvm-svn: 330530
* [bcanalyzer] Recognize more stream typesBrian Gesiak2018-04-216-19/+61
| | | | | | | | | | | | | | | | | | | | | | | | Summary: `llvm-bcanalyzer` prints out the stream type of the file it is analyzing. If the file begins with the LLVM IR magic number, it reports a stream type of "LLVM IR". However, any other bitstream format is reported as "unknown". Add some checks for two other common bitstream formats: Clang AST files, which begin with 'CPCH', and Clang serialized diagnostics, which begin with 'DIAG'. Test Plan: `check-llvm` Reviewers: pcc, aprantl, mehdi_amini, davide, george.karpenkov, JDevlieghere Reviewed By: JDevlieghere Subscribers: JDevlieghere, bruno, davide, llvm-commits Differential Revision: https://reviews.llvm.org/D41979 llvm-svn: 330529
* Revert r330492: [clang-tidy] add new check to find out objc ivars which do ↵Chandler Carruth2018-04-212-19/+0
| | | | | | | | | | not have prefix '_' This commit has been breaking most bots for a day now. There is a fix proposed in https://reviews.llvm.org/D45912 but when I applied that I just got different errors. Reverting to get our bots back to green. llvm-svn: 330528
* [X86] Strip unnecessary prefetch + vector move/load instrw overrides from ↵Simon Pilgrim2018-04-215-143/+6
| | | | | | scheduler models. llvm-svn: 330527
* [Support] Add optional prefix to convenience helpers in WithColor.Jonas Devlieghere2018-04-212-6/+11
| | | | | | | | Several tools prefix the error/warning/note output with the name of the tool. One such tool is LLD for example. This commit adds as an optional 'Prefix' argument to the convenience helpers. llvm-svn: 330526
* [X86] Strip unnecessary WriteCvtF2I instrw overrides from scheduler models.Simon Pilgrim2018-04-212-6/+2
| | | | llvm-svn: 330525
* [tools] Use WithColor for printing errors.Jonas Devlieghere2018-04-214-30/+33
| | | | | | | Use convenience helpers in WithColor to print errors, warnings and notes in a few more tools. llvm-svn: 330524
* [X86] Strip unnecessary broadcast/shuffle256 instrw overrides from scheduler ↵Simon Pilgrim2018-04-214-133/+5
| | | | | | models. llvm-svn: 330523
OpenPOWER on IntegriCloud