summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [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
* [X86][AVX] VPERM2F128/VINSERTF128 should be a shuffle256 schedule like ↵Simon Pilgrim2018-04-212-4/+6
| | | | | | VPERM2I128/VINSERTI128 llvm-svn: 330522
* [X86] Strip unnecessary vector integer math, shift-imm, extend, shuffle, ↵Simon Pilgrim2018-04-214-398/+12
| | | | | | pack/unpack instruction instrw overrides from scheduler models. llvm-svn: 330521
* [X86] Add DAG combine to turn (trunc (srl (mul ext, ext), 16) into ↵Craig Topper2018-04-212-1106/+175
| | | | | | | | PMULHW/PMULHUW. Ultimately I want to use this to remove the intrinsics for these instructions. llvm-svn: 330520
* [X86] Add test cases that show the current codegen for (trunc (srl (mul ext, ↵Craig Topper2018-04-211-0/+1316
| | | | | | | | ext), 16)). NFC A future patch will turn this into MULHU/MULHS. llvm-svn: 330519
* [lit] Generate a single lit cfg file for tests that require dotest.pyJonas Devlieghere2018-04-212-16/+47
| | | | | | | | | | | | | | | | | | The current way that the lit configuration is generated for the LLDB tests that run using dotest causes cmake to fail when using a generator which supports multiple configurations (such as Visual Studio). The failure is because file GENERATE will create a file *per possible configuration* resulting in the same lit configuration file being overwritten multiple times. To fix the issue, we need to create a single lit file that is agnostic of the configurations and can be used for any configuration. Patch by: Stella Stamenova Differential revision: https://reviews.llvm.org/D45918 llvm-svn: 330518
* [X86] Add SchedWrites for LDMXCSR/STMXCSR.Craig Topper2018-04-2111-58/+53
| | | | llvm-svn: 330517
* [InstSimplify] move tests for shifts; NFCSanjay Patel2018-04-214-163/+113
| | | | llvm-svn: 330516
* [InstSimplify] move/add/regenerate checks for tests; NFCSanjay Patel2018-04-216-27/+90
| | | | llvm-svn: 330515
* [X86][Haswell] Strip unnecessary WriteFAdd/WriteFHAdd instruction instrw ↵Simon Pilgrim2018-04-211-16/+2
| | | | | | overrides. llvm-svn: 330514
* [X86][Broadwell] Remove unnecessary VORPD/VORPS instrw override - missed in ↵Simon Pilgrim2018-04-211-2/+0
| | | | | | D45629 llvm-svn: 330513
* [llvm-mca][X86] Add AVX2 resource testsSimon Pilgrim2018-04-215-0/+5387
| | | | llvm-svn: 330512
* [clang-tidy] Customize FileCheck prefix in check_clang-tidy.pyZinovy Nis2018-04-213-8/+59
| | | | | | | | | | | | | | | | | | | The patch introduces a new command line option '-check-suffix' for check_clang_tidy.py to allow multiple %check_clang_tidy% in a single test file. Sample: // RUN: %check_clang_tidy -check-suffix=FLAG-1 %s misc-unused-using-decls %t -- -- <options-set-1> // RUN: %check_clang_tidy -check-suffix=FLAG-2 %s misc-unused-using-decls %t -- -- <options-set-2> ... +// CHECK-MESSAGES-FLAG-1: :[[@LINE-4]]:10: warning: using decl 'B' is unused [misc-unused-using-decls] +// CHECK-MESSAGES-FLAG-2: :[[@LINE-7]]:10: warning: using decl 'A' is unused [misc-unused-using-decls] +// CHECK-FIXES-FLAG-1-NOT: using a::A;$ +// CHECK-FIXES-FLAG-2-NOT: using a::B;$ Differential Revision: https://reviews.llvm.org/D45776 llvm-svn: 330511
* [X86] Strip unnecessary WriteFRcp/WriteFRsqrt instruction instrw overrides ↵Simon Pilgrim2018-04-214-42/+8
| | | | | | | | from scheduler models. The required the default skylake schedules to be updated - these were being completely overriden by the InstRW and the existing values not used at all. llvm-svn: 330510
* [clang-apply-replacements] Make clang-apply-replacements installableZinovy Nis2018-04-211-1/+1
| | | | | | | | | | | | Add a new target for install: install-clang-apply-replacements. So if you need clang-tidy and clang-apply-replacements tools only, you may build and install only these tools: make install-clang-tidy install-clang-apply-replacements Differential Revision: https://reviews.llvm.org/D45160 llvm-svn: 330509
* [X86] Strip unnecessary WriteFShuffle instruction instrw overrides from ↵Simon Pilgrim2018-04-214-143/+6
| | | | | | scheduler models. llvm-svn: 330508
* [libclang] Fix LibclangReparseTest.FileName when TMPDIR is set to a symlinkPetr Pavlu2018-04-211-2/+3
| | | | | | | | | | | | | | | | | | | | | Fix testing of clang_File_tryGetRealPathName() in LibclangReparseTest.FileName when executing in an environment which has TMPDIR set to a symbolic link that points to an actual directory. The test would fail because the name returned by clang_File_tryGetRealPathName() has the symlink resolved but the test compared it to the original filename of a temporary file. The patch addresses the problem by checking only that the value returned by clang_File_tryGetRealPathName() ends with "main.cpp". Additionally, the patch makes the previous assertion in the test that checks result of clang_getFileName() stricter. It newly verifies that the name returned by the function is exactly same as what was given to clang_parseTranslationUnit()/clang_getFile(). Differential Revision: https://reviews.llvm.org/D45807 llvm-svn: 330507
* [llvm-mca][X86] Add SSE resource tests to all modelsSimon Pilgrim2018-04-2135-0/+13352
| | | | llvm-svn: 330506
* [X86][SandyBridge] Strip unnecessary MOVQ/CVT instruction instrw overrides.Simon Pilgrim2018-04-211-9/+3
| | | | llvm-svn: 330505
* Temporarily skip Go TestExpressions on FreeBSD as it hangsEd Maste2018-04-211-0/+1
| | | | | | llvm.org/pr37194 llvm-svn: 330504
OpenPOWER on IntegriCloud