summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Fix dumping for SymbolConjured conjured at no particular statement.Artem Dergachev2018-10-222-4/+22
| | | | llvm-svn: 344944
* [Documentation] Fix grammar related to Clang-tidy cppcoreguidelines-macro-usage.Eugene Zelenko2018-10-222-2/+2
| | | | llvm-svn: 344943
* Reapply "[MachineCopyPropagation] Reimplement CopyTracker in terms of ↵Justin Bogner2018-10-223-58/+171
| | | | | | | | | | | | | | | | | | | register units" Recommits r342942, which was reverted in r343189, with a fix for an issue where we would propagate unsafely if we defined only the upper part of a register. Original message: Change the copy tracker to keep a single map of register units instead of 3 maps of registers. This gives a very significant compile time performance improvement to the pass. I measured a 30-40% decrease in time spent in MCP on x86 and AArch64 and much more significant improvements on out of tree targets with more registers. llvm-svn: 344942
* [Driver] allow Android triples to alias for non Android targetsNick Desaulniers2018-10-222-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Partial revert of r330873 ('[Driver] Reland "Android triples are not aliases for other triples."') While we don't want `-target *-linux-android` to alias to non *-linux-android libs and binaries, it turns out we do want the opposite. Ie. We would like for `-target *-linux-gnu` to still be able to use *-android libs and binaries. In fact, this is used to cross assemble and link the Linux kernel for Android devices. `-target *-linux-gnu` needs to be used for the Linux kernel when using the android binutils prebuilts (*-linux-android). The use of `-target *-linux-android` on C source files will cause Clang to perform optimizations based on the presence of bionic (due to r265481 ('Faster stack-protector for Android/AArch64.')) which is invalid within the Linux kernel and will produce a non-bootable kernel image. Of course, you could just use the standard binutils (*-linux-gnu), but Android does not distribute these. So this patch fixes a problem that only occurs when cross assembling and linking a Linux kernel with the Android provided binutils, which is what is done within Android's build system. Reviewers: srhines, pirama, danalbert Reviewed By: srhines, danalbert Subscribers: javed.absar, kristof.beyls, cfe-commits Differential Revision: https://reviews.llvm.org/D53463 llvm-svn: 344941
* [clang-tidy] implement cppcoreguidelines macro rulesJonas Toth2018-10-2210-0/+252
| | | | | | | | | | | | | | | | Summary: In short macros are discouraged by multiple rules (and sometimes reference randomly). [Enum.1], [ES.30], [ES.31] This check allows only headerguards and empty macros for annotation. Reviewers: aaron.ballman, hokein Reviewed By: aaron.ballman Subscribers: jbcoe, Eugene.Zelenko, klimek, nemanjai, mgorny, xazax.hun, kbarton, cfe-commits Differential Revision: https://reviews.llvm.org/D41648 llvm-svn: 344940
* Hopefully fix the documentation generation issueSylvestre Ledru2018-10-222-4/+8
| | | | llvm-svn: 344939
* [hot-cold-split] Add opt remark on successTeresa Johnson2018-10-222-2/+11
| | | | | | | | | | | | Summary: Emit optimization remark on successful hot cold split. Reviewers: sebpop, hiraditya Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D53512 llvm-svn: 344938
* Revert rL344931 from llvm/trunk: [X86][SSE] getTargetShuffleMaskIndices - ↵Simon Pilgrim2018-10-221-9/+10
| | | | | | | | | | allow opt-in support for whole undef shuffle mask elements We can't safely assume that certain RawMask entries are UNDEF as most variable shuffles ignore non-index bits - PSHUFB only works on i8 elts so it'd be safe to use but I'm intending to come up with an alternative approach that works for all. ........ Enable this for PSHUFB constant mask decoding and remove the ConstantPool DecodePSHUFBMask llvm-svn: 344937
* Revert rL344933 from llvm/trunk: [X86][SSE] Tidyup DecodeVPERMILPMask ↵Simon Pilgrim2018-10-222-5/+5
| | | | | | | | | | shuffle mask decoding We can't safely assume that certain RawMask entries are UNDEF as most variable shuffles ignore non-index bits. ........ Add support for UNDEF raw mask elements and remove the ConstantPool DecodeVPERMILPMask usage in X86ISelLowering.cpp llvm-svn: 344936
* Revert r344930 as it broke some of the bots on Windows.Aaron Ballman2018-10-225-174/+86
| | | | | | http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/739 llvm-svn: 344935
* Generate ClangFormatStyleOptions.rst from Format.h (using ↵Sylvestre Ledru2018-10-221-14/+42
| | | | | | docs/tools/dump_format_style.py) llvm-svn: 344934
* [X86][SSE] Tidyup DecodeVPERMILPMask shuffle mask decodingSimon Pilgrim2018-10-222-5/+5
| | | | | | Add support for UNDEF raw mask elements and remove the ConstantPool DecodeVPERMILPMask usage in X86ISelLowering.cpp llvm-svn: 344933
* [ELF] Format PPC64.cpp, NFCFangrui Song2018-10-221-12/+10
| | | | | | Mainly two mis-indented places. The changes are local so should not interfere with in-review revisions llvm-svn: 344932
* [X86][SSE] getTargetShuffleMaskIndices - allow opt-in support for whole ↵Simon Pilgrim2018-10-221-10/+9
| | | | | | | | undef shuffle mask elements Enable this for PSHUFB constant mask decoding and remove the ConstantPool DecodePSHUFBMask llvm-svn: 344931
* [SourceMgr][FileCheck] Obey -color by extending WithColorJoel E. Denny2018-10-225-86/+174
| | | | | | | | | | | | | | | | | | | | | | While this change specifically targets FileCheck, it affects any tool using the same SourceMgr facilities. Previously, -color was documented in FileCheck's -help output, but -color had no effect. Now, -color obeys its documentation: it forces colors to be used in FileCheck diagnostics even when stderr is not a terminal. -color is especially helpful when combined with FileCheck's -v, which can produce a long series of diagnostics that you might wish to pipe to a pager, such as less -R. The WithColor extensions here will also help to clean up color usage in FileCheck's annotated dump of input, which is proposed in D52999. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D53419 llvm-svn: 344930
* [X86] Add new features to the priority list for target attribute ↵Craig Topper2018-10-221-0/+5
| | | | | | multiversioning. llvm-svn: 344929
* [hot-cold-split] Add missing FileCheck invocationsTeresa Johnson2018-10-221-2/+2
| | | | | | | | | | | | | | Summary: r344558 added some CHECK statements to split-cold-2.ll, but didn't add any invocations of FileCheck. Add those here. Reviewers: sebpop Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D53505 llvm-svn: 344928
* [llvm-exegesis] Fix name lookup ambiguity in MSVC after 344922Fangrui Song2018-10-221-1/+1
| | | | llvm-svn: 344927
* [X86] getTargetConstantBitsFromNode - handle extraction from larger constant ↵Simon Pilgrim2018-10-221-2/+3
| | | | | | | | pool entries First step towards removing X86ShuffleDecodeConstantPool usage from X86ISelLowering.cpp llvm-svn: 344924
* [llvm-exegesis] Move namespace exegesis inside llvm::Fangrui Song2018-10-2247-52/+148
| | | | | | | | | | | | | | | | Summary: This allows simplifying references of llvm::foo with foo when the needs come in the future. Reviewers: courbet, gchatelet Reviewed By: gchatelet Subscribers: javed.absar, tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D53455 llvm-svn: 344922
* Revert r344877 "[X86] Stop promoting integer loads to vXi64"Craig Topper2018-10-2215-710/+589
| | | | | | Sam McCall reported miscompiles in some tensorflow code. Reverting while I try to figure out. llvm-svn: 344921
* [test] Relax test/Other/opt-hot-cold-split.llVedant Kumar2018-10-221-2/+2
| | | | | | | | | | | On some ARM bots, 'Target Pass Configuration' does not run after 'Target Transform Info'. Relax this pipeline test to allow that. This is the same fix as in r328167. Bot URL: http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/4611 llvm-svn: 344919
* [llvm-mca] Remove a couple of using directives and a bunch of redundant ↵Andrea Di Biagio2018-10-227-16/+13
| | | | | | namespace llvm prefixes. NFC llvm-svn: 344916
* Ensure sanitizer check function calls have a !dbg locationAdrian Prantl2018-10-222-0/+20
| | | | | | | | | | | | | | | | | Function calls without a !dbg location inside a function that has a DISubprogram make it impossible to construct inline information and are rejected by the verifier. This patch ensures that sanitizer check function calls have a !dbg location, by carrying forward the location of the preceding instruction or by inserting an artificial location if necessary. This fixes a crash when compiling the attached testcase with -Os. rdar://problem/45311226 Differential Revision: https://reviews.llvm.org/D53459 llvm-svn: 344915
* DAG: Change behavior of fminnum/fmaxnum nodesMatt Arsenault2018-10-2238-633/+2486
| | | | | | | | | | | Introduce new versions that follow the IEEE semantics to help with legalization that may need quieted inputs. There are some regressions from inserting unnecessary canonicalizes when these are matched from fast math fcmp + select which should be fixed in a future commit. llvm-svn: 344914
* Some cleanups to the native pdb plugin [NFC].Zachary Turner2018-10-228-130/+271
| | | | | | | | | | | This is mostly some cleanup done in the process of implementing some basic support for types. I tried to split up the patch a bit to get some of the NFC portion of the patch out into a separate commit, and this is the result of that. It moves some code around, deletes some spurious namespace qualifications, removes some unnecessary header includes, forward declarations, etc. llvm-svn: 344913
* [clangd] Support URISchemes configuration in BackgroundIndex.Eric Liu2018-10-222-4/+9
| | | | | | | | | | Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D53503 llvm-svn: 344912
* [llvm-mca] Use llvm::ArrayRef in class SourceMgr. NFCIAndrea Di Biagio2018-10-225-33/+31
| | | | | | | Class SourceMgr now uses type ArrayRef<MCInst> to reference the sequence of code from a "CodeRegion". llvm-svn: 344911
* [X86][SSE] getTargetShuffleMask - pull out repeated shuffle mask element ↵Simon Pilgrim2018-10-221-29/+22
| | | | | | size. NFCI. llvm-svn: 344910
* Revert "[PDB] Extend IPDBSession's interface to retrieve frame data"Aleksandr Urakov2018-10-2214-247/+0
| | | | | | This reverts commit b5c7e2f9a4dbb34e3667c4bb4972735eadd3247a. llvm-svn: 344909
* [InstCombine] add tests for shuffle+insert folds; NFCSanjay Patel2018-10-221-0/+123
| | | | llvm-svn: 344908
* [llvm-exegesis] Crash when assembling invalid OperandGuillaume Chatelet2018-10-221-0/+2
| | | | llvm-svn: 344907
* [llvm-exegesis] Mark x86 segment register instructions as unsupported.Guillaume Chatelet2018-10-221-0/+6
| | | | | | | | | | Reviewers: courbet Subscribers: tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D53499 llvm-svn: 344906
* [llvm-exegesis] Reject x86 instructions that use non uniform memory accessesGuillaume Chatelet2018-10-221-25/+64
| | | | | | | | | | Reviewers: courbet Subscribers: tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D53438 llvm-svn: 344905
* [X86] X86DAGToDAGISel: handle BZHI selection too, not just BEXTR.Roman Lebedev2018-10-225-26/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: As discussed in D52304 / IRC, we now have pattern matching for 'bit extract' in two places - tablegen and `X86DAGToDAGISel`. There are 4 patterns. And we will have a problem with `x & (-1 >> (32 - y))` pattern. * If the mask is one-use, then it is always unfolded into `x << (32 - y) >> (32 - y)` first. Thus, the existing test coverage is already broken. * If it is not one-use, then it is not unfolded, and is matched as BZHI. * If it is not one-use, we will not match it as BEXTR. And if it is one-use, it will have been unfolded already. So we will either not handle that pattern for BEXTR, or not have test coverage for it. This is bad. As discussed with @craig.topper, let's unify this matching, and do everything in `X86DAGToDAGISel`. Then we will not have code duplication, and will have proper test coverage. This indeed does not affect any tests, and this is great. It means that for these two patterns, the `X86DAGToDAGISel` is identical to the tablegen version. Please review carefully, i'm not fully sure about that intrinsic change, and introduction of the new `X86ISD` opcode. Reviewers: craig.topper, RKSimon, spatel Reviewed By: craig.topper Subscribers: llvm-commits, craig.topper Differential Revision: https://reviews.llvm.org/D53164 llvm-svn: 344904
* Document bisect-skip-countDavid Greene2018-10-221-0/+19
| | | | | | | | Provide an example of how to use bisect-skip count to find bugs. Differential revision: https://reviews.llvm.org/D52314 llvm-svn: 344903
* [X86][BMI1]: X86DAGToDAGISel: select BEXTR from x & ((1 << nbits) + (-1)) ↵Roman Lebedev2018-10-223-224/+130
| | | | | | | | | | | | | | | | | | | pattern Summary: Trivial continuation of D52304. While this pattern is not canonical, we do select it in the BZHI case, so this should not be any different. Reviewers: RKSimon, craig.topper, spatel Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52348 llvm-svn: 344902
* Always search sysroot for GCC installsDavid Greene2018-10-221-2/+10
| | | | | | | | | | Previously, if clang was configured with -DGCC_INSTALL_PREFIX, then it would not search a provided sysroot for a gcc install. This caused a number of regression tests to fail. If a sysroot is given, skip searching GCC_INSTALL_PREFIX as it is likely not valid for the provided sysroot. llvm-svn: 344901
* Test commit: change comment.Petar Avramovic2018-10-221-1/+1
| | | | llvm-svn: 344900
* Fix typo in a test file name.Rui Ueyama2018-10-221-0/+0
| | | | llvm-svn: 344899
* Silence the -Wshadow warning for enumerators shadowing a type.Aaron Ballman2018-10-223-1/+15
| | | | | | Amends r344259 so that enumerators shadowing types are not diagnosed, as shadowing under those circumstances is rarely (if ever) an issue in practice. llvm-svn: 344898
* [change-namespace] Enhance detection of conflicting namespaces.Eric Liu2018-10-222-11/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: For example: ``` namespace util { class Base; } namespace new { namespace util { class Internal; } } namespace old { util::Base b1; } ``` When changing `old::` to `new::`, `util::` in namespace "new::" will conflict with "new::util::" unless a leading "::" is added. Reviewers: hokein Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53489 llvm-svn: 344897
* [llvm-dwarfdump] - Fix win10 build bot failture.George Rimar2018-10-222-9/+12
| | | | | | | | | | | Bot failed: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/20877/steps/test/logs/stdio This was broken after the r344895 "[llvm-dwarfdump] - Add the support of parsing .debug_loclists." because of wrong formatting specifiers used. llvm-svn: 344896
* [llvm-dwarfdump] - Add the support of parsing .debug_loclists.George Rimar2018-10-228-36/+288
| | | | | | | | | | | | This teaches llvm-dwarfdump to dump the content of .debug_loclists sections. It converts the DWARFDebugLocDWO class to DWARFDebugLoclists, teaches llvm-dwarfdump about .debug_loclists section and adds the implementation for parsing the DW_LLE_offset_pair entries. Differential revision: https://reviews.llvm.org/D53364 llvm-svn: 344895
* [PowerPC][NFC] Fix bugs in r+r to r+i conversionNemanja Ivanovic2018-10-223-25/+70
| | | | | | | | | | | | | | | | | | The D-Form VSX loads introduced in ISA 3.0 are not direct D-Form equivalent of the corresponding X-Forms since they only target the Altivec registers. Namely LXSSPX can load into any of the 64 VSX registers whereas LXSSP can only load into the upper 32 VSX registers. Similarly with the remaining affected instructions. There is currently no way that I can see to trigger the bug, but as we add other ways of exploiting these instructions, there may very well be instances that do. This is an NFC patch in practical terms since the changes it introduces can not be triggered without an MIR test. Differential revision: https://reviews.llvm.org/D53323 llvm-svn: 344894
* [CGProfile] Turn constant-size SmallVector into arrayBenjamin Kramer2018-10-221-5/+4
| | | | | | No functionality change. llvm-svn: 344893
* Fix MSVC "not all control paths return a value" warning. NFCI.Simon Pilgrim2018-10-221-0/+1
| | | | llvm-svn: 344892
* [OpenCL] Fix definitions of __builtin_(add|sub|mul)_overflowMarco Antognini2018-10-221-3/+3
| | | | | | | | | Ensure __builtin_(add|sub|mul)_overflow return bool instead of void as per specification (LanguageExtensions). Differential Revision: https://reviews.llvm.org/D52875 llvm-svn: 344891
* [ARM][AArch64] Add LLVM_FALLTHROUGH to silence warning [NFC]Peter Smith2018-10-221-0/+1
| | | | | | | | | | A follow up to D52784 to add in LLVM_FALLTHROUGH where there is an intentional fall through in a switch statement. This will hopefully silence a GCC warning. Differential Revision: https://reviews.llvm.org/D52784 llvm-svn: 344890
* [CodeComplete] Fix accessibility of protected members when accessing members ↵Eric Liu2018-10-222-9/+27
| | | | | | | | | | | | implicitly. Reviewers: ilya-biryukov Subscribers: arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D53369 llvm-svn: 344889
OpenPOWER on IntegriCloud