summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* PR38286: Don't crash when attempting to define a constructor for anRichard Smith2018-08-082-2/+19
| | | | | | incomplete class template. llvm-svn: 339210
* [libcxx] [test] Add missing <stdexcept> in several tests.Billy Robert O'Neal III2018-08-0817-0/+17
| | | | | | Reviewed as https://reviews.llvm.org/D50420 llvm-svn: 339209
* [tablegen] Improve performance of -gen-register-info by replacing ↵Daniel Sanders2018-08-082-11/+64
| | | | | | | | | | | | | | | | | | | | | | | | barely-necessary std::map with a sorted vector Summary: This particular map is hardly ever queried and has a phased usage pattern (insert, iterate, query, insert, iterate) so it's a good candidate for a sorted vector and std::lower_bound. This significantly reduces the run time of runTargetDesc() in some circumstances. One llvm-tblgen invocation in my build improves the time spent in runTargetDesc() from 9.86s down to 0.80s (~92%) without changing the output. The same invocation also has 2GB less allocation churn. Reviewers: bogner, rtereshin, aditya_nandakumar, volkan Reviewed By: rtereshin Subscribers: mgrang, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D50272 llvm-svn: 339208
* [CodeGen] IncompleteArray Support Balaji V. Iyer2018-08-082-0/+22
| | | | | | | | | Added code to support ArrayType that is not ConstantArray. https://reviews.llvm.org/D49952 rdar://42476155 llvm-svn: 339207
* Delete a dead Function constructor (NFC)Vedant Kumar2018-08-072-45/+0
| | | | llvm-svn: 339206
* [StackFrame] Add more clarifying comments to StackFrameList (NFC)Vedant Kumar2018-08-071-3/+3
| | | | llvm-svn: 339205
* Removed doxygen comment that doesn't fit to function signatureRaphael Isemann2018-08-071-6/+0
| | | | llvm-svn: 339204
* [InstCombine] add tests for fneg fold including FMF; NFCSanjay Patel2018-08-071-3/+42
| | | | llvm-svn: 339203
* Removed duplicated commented-out code [NFC]Raphael Isemann2018-08-071-2/+0
| | | | llvm-svn: 339202
* [analyzer] Avoid querying this-pointers for static-methods.Matt Davis2018-08-072-2/+16
| | | | | | | | | | | | | | | | | | | Summary: The loop-widening code processes c++ methods looking for `this` pointers. In the case of static methods (which do not have `this` pointers), an assertion was triggering. This patch avoids trying to process `this` pointers for static methods, and thus avoids triggering the assertion . Reviewers: dcoughlin, george.karpenkov, NoQ Reviewed By: NoQ Subscribers: NoQ, xazax.hun, szepet, a.sidorin, mikhail.ramalho, cfe-commits Differential Revision: https://reviews.llvm.org/D50408 llvm-svn: 339201
* [InstCombine] fix FP constant in test; NFCSanjay Patel2018-08-071-2/+2
| | | | | | Too many digits... llvm-svn: 339200
* [VFS] Unify iteration code for VFSFromYamlDirIterImpl, NFC intended.Volodymyr Sapsai2018-08-071-19/+10
| | | | | | | | | | | | | | First and subsequent iteration steps are similar, capture this similarity. Reviewers: bruno, benlangmuir Reviewed By: bruno Subscribers: dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D50118 llvm-svn: 339199
* [Sema] Ensure an auto non-type template parameter is dependentErik Pilkington2018-08-072-1/+53
| | | | | | | | | | | The dependent auto was getting stripped away while rebuilding the template parameter type, so substitute it in. rdar://41852459 Differential revision: https://reviews.llvm.org/D50088 llvm-svn: 339198
* [NFC] adding tests for Y - (X + Y) --> -XMichael Berg2018-08-072-0/+26
| | | | llvm-svn: 339197
* [NFC] Improve auto-var-init alignment checkJF Bastien2018-08-071-215/+215
| | | | | | We're not actually testing for alignment, we just want to know that whatever incoming alignment got propagated. Do that by capturing the alignment and checking that it's actually what's passed later, instead of hard-coding an alignment value. llvm-svn: 339196
* [InstCombine] add tests for fneg of fmul/fdiv with constant; NFCSanjay Patel2018-08-071-0/+128
| | | | llvm-svn: 339195
* [Coverage] Ignore 'unused' functions with non-zero execution countsVedant Kumar2018-08-072-6/+68
| | | | | | | | | | | | | | | | | Frontends emit 'unused' coverage mapping records for functions which are provably unused in a TU. These unused records contain a single counter with CounterKind::Zero. However, a function may be unused in one TU and used in another. When this happens, prefer the records with a full set of counters instead of arbitrarily picking the first loaded record. There is no impact on the single-TU case. In the multiple-TU case, this resolves issues causing a function to appear unused when it's not. Testing: check-{llvm,clang,compiler-rt} rdar://42981322 llvm-svn: 339194
* [Coverage] Delete getCounterMismatches, it's dead code (NFC)Vedant Kumar2018-08-073-23/+1
| | | | | | | Exactly one counted region is inserted into a function record for every region in a coverage mapping. llvm-svn: 339193
* Refactor FileCheck to make it usable as an APIAditya Nandakumar2018-08-074-1442/+1571
| | | | | | | | | | https://reviews.llvm.org/D50283 reviewed by bogner This patch refactors FileCheck's implementation into support so it can be used from C++ in other places (Unit tests). llvm-svn: 339192
* [NFC] CGDecl factor out constant emissionJF Bastien2018-08-071-47/+56
| | | | | | The code is cleaner this way, and with some changes I'm playing with it makes sense to split it out so we can reuse it. llvm-svn: 339191
* AMDGPU: Remove broken i16 ternary patternsJan Vesely2018-08-072-14/+90
| | | | | | | | | | | | | | | Fixup test to check for GCN prefix These patterns always zero extend the result even though it might need sign extension. This has been broken since the addition of i16 support. It has popped up in mad_sat(char) test since min(max()) combination is turned into v_med3, resulting in the following (incorrect) sequence: v_mad_i16 v2, v10, v9, v11 v_med3_i32 v2, v2, v8, v7 Fixes mad_sat(char) piglit on VI. Differential Revision: https://reviews.llvm.org/D49836 llvm-svn: 339190
* Add documentation for SBTarget::AppendImageSearchPathAlexander Polyakov2018-08-072-0/+4
| | | | llvm-svn: 339189
* Fix one hard coded value I missed in r339185.Douglas Yung2018-08-071-1/+1
| | | | llvm-svn: 339188
* Clean up and simplify RequireCompleteType.Richard Smith2018-08-074-58/+44
| | | | | | | No functional change intended, except that we will now produce more "declared here" notes. llvm-svn: 339187
* [WebAssembly] Update SIMD binary arithmeticDerek Schuff2018-08-0715-22/+203
| | | | | | | | | | | | Add missing SIMD types (v2f64) and binary ops. Also adds tablegen support for automatically prepending prefix byte to SIMD opcodes. Differential Revision: https://reviews.llvm.org/D50292 Patch by Thomas Lively llvm-svn: 339186
* Make test more robust by not checking hard coded debug info values, but ↵Douglas Yung2018-08-071-3/+5
| | | | | | instead check the relationships between them. llvm-svn: 339185
* [lit] Disable shtest-timeout on WindowsStella Stamenova2018-08-071-0/+3
| | | | | | This test passes on Windows when using Python 3 but fails when using Python 2, so it needs more investigation before it can be enabled as the bots use Python 2. llvm-svn: 339184
* [analyzer] [tests] Do not be verbose by default when updating reference results.George Karpenkov2018-08-071-1/+1
| | | | llvm-svn: 339183
* If a function starts with line number 0, don't try to check if a breakpoint ↵Jim Ingham2018-08-073-2/+12
| | | | | | | | | | crossed function boundaries. clang doesn't use line number 0 (to mean artifically generated code) very often, but swift does it quite often. We were rejecting all by line breakpoints in functions that started at line 0. But that's a special marker so we can just not do this test in that case. llvm-svn: 339182
* Fix the Xcode project for the Core -> Utility moves.Jim Ingham2018-08-071-22/+20
| | | | | | Scalar.{h,cpp}, RegisterValue.{h,cpp}, State.{h,cpp} were moved. llvm-svn: 339181
* [lit, python] Change the order of the quotes in the lit cfg fileStella Stamenova2018-08-071-1/+1
| | | | | | Double quotes are always correct in paths on windows while single quotes only work sometimes. By swapping the order of the quotes in the subsitution we guarantee that the quotes will be correct on Windows. Both sets work correctly on Linux in the test environment. llvm-svn: 339180
* [lit, python3] Update lit error logging to work correctly in python3 and ↵Stella Stamenova2018-08-077-11/+13
| | | | | | | | | | | | | | | | | other test fixes Summary: In Python2 'unicode' is a distinct type from 'str', but in Python3 'unicode' does not exist and instead all 'str' objects are Unicode string. This change updates the logic in the test logging for lit to correctly process each of the types, and more importantly, to not just fail in Python3. This change also reverses the use of quotes in several of the cfg files. By using '""' we are guaranteeing that the resulting path will work correctly on Windows while "''" only works correctly sometimes. This also fixes one of the failing tests. Reviewers: asmith, zturner Subscribers: stella.stamenova, delcypher, llvm-commits Differential Revision: https://reviews.llvm.org/D50397 llvm-svn: 339179
* [lldb-mi] Re-implement target-select commandAlexander Polyakov2018-08-076-43/+95
| | | | | | | | | | Now target-select uses SB API instead of HandleCommand. This patch has been reviewed along with the r339175. Differential Revision: https://reviews.llvm.org/D49739 llvm-svn: 339178
* [Hexagon] Allow use of gather intrinsics even with no-packetsKrzysztof Parzyszek2018-08-073-14/+26
| | | | | | | | | Vgather requires must be in a packet with a store, which contradicts the no-packets feature. As a consequence, gather/scatter could not be used with no-packets. Relax this, and allow gather packets as exceptions to the no-packets requirements. llvm-svn: 339177
* [InstSimplify] fold fsub+fadd with common operandSanjay Patel2018-08-072-6/+10
| | | | llvm-svn: 339176
* Add new API to SBTarget classAlexander Polyakov2018-08-073-0/+28
| | | | | | | | | | | | | | | | Summary: The new API appends an image search path to the target's path mapping list. Reviewers: aprantl, clayborg, labath Reviewed By: aprantl Subscribers: ki.stfu, lldb-commits Differential Revision: https://reviews.llvm.org/D49739 llvm-svn: 339175
* [InstSimplify] fold fadd+fsub with common operandSanjay Patel2018-08-072-7/+5
| | | | llvm-svn: 339174
* [Local] Add dbg location on unreachable inst in changeToUnreachableAnastasis Grammenos2018-08-072-2/+51
| | | | | | | | | | | | As show in https://bugs.llvm.org/show_bug.cgi?id=37960 it would be desirable to have debug location in the unreachable instruction. Also adds a unti test for this function. Differential Revision: https://reviews.llvm.org/D50340 llvm-svn: 339173
* [WebAssembly] CFG sort support for exception handlingHeejin Ahn2018-08-072-54/+447
| | | | | | | | | | | | | | | | | Summary: This patch extends CFGSort pass to support exception handling. Once it places a loop header, it does not place blocks that are not dominated by the loop header until all the loop blocks are sorted. This patch extends the same algorithm to exception 'catch' part, using the information calculated by WebAssemblyExceptionInfo class. Reviewers: dschuff, sunfish Subscribers: sbc100, jgravelle-google, llvm-commits Differential Revision: https://reviews.llvm.org/D46500 llvm-svn: 339172
* [InstSimplify] fold fsub+fsub with common operandSanjay Patel2018-08-072-6/+7
| | | | llvm-svn: 339171
* [Headers] Expand _Unwind_Exception for SEH on MinGW/x86_64Martin Storsjo2018-08-071-0/+4
| | | | | | | | This matches how GCC defines this struct. Differential Revision: https://reviews.llvm.org/D50380 llvm-svn: 339170
* Update msbuild integration warnings: Don't warn on /Zi and /XNico Weber2018-08-071-9/+1
| | | | | | | | | | | | | | We do need to map /Zi to /Z7 explicitly for msbuild as explained in this file, but since /Zi is passed by default and since things transparently work fine with it mapped to /Z7, we shouldn't produce effectively inactionable noise for it. Also don't warn on /X since clang-cl supports that (since r326357; the risk of duplicating a bunch of clang-cl driver logic here). https://reviews.llvm.org/D50398 llvm-svn: 339169
* [InstSimplify] add tests for fadd/fsub; NFCSanjay Patel2018-08-071-0/+174
| | | | | | | | Instcombine gets some, but not all, of these cases via it's internal reassociation transforms. It fails in all cases with vector types. llvm-svn: 339168
* [Sema] Fix for crash on conditional operation with address_space pointerLeonard Chan2018-08-073-27/+23
| | | | | | | | | | | | | | | | | | | | | | Compiling the following causes clang to crash ``` char *cmp(__attribute__((address_space(1))) char *x, __attribute__((address_space(2))) char *y) { return x < y ? x : y; } ``` with the message: "wrong cast for pointers in different address spaces(must be an address space cast)!" This is because during IR emission, the source and dest type for a bitcast should not have differing address spaces. This fix prints an error since the code shouldn't compile in the first place. Differential Revision: https://reviews.llvm.org/D50278 llvm-svn: 339167
* [SLP] Fix insert point for reused extract instructions.Alexey Bataev2018-08-072-7/+96
| | | | | | | | | | | | | | | Summary: Reworked the previously committed patch to insert shuffles for reused extract element instructions in the correct position. Previous logic was incorrect, and might lead to the crash with PHIs and EH instructions. Reviewers: efriedma, javed.absar Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D50143 llvm-svn: 339166
* lld-link: Take /SUBSYSTEM into account for automatic /ENTRY detection.Nico Weber2018-08-074-44/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If /subsystem:windows is passed, link.exe only looks for WinMain and wWinMain, and if /subsystem:console is passed it only looks for main and wmain. lld-link used to look for all 4 in both cases. This patch makes lld-link match link.exe's behavior. This requires that the subsystem is known by the time findDefaultEntry() gets called. findDefaultEntry() is called before the main link loop, so that the loop can mark the entry point as undefined. That means inferSubsystem() has to be called above the main loop as well. This in turn means /subsystem: from .drectve sections only has an effect on entry point inference for obj files passed to lld-link directly (and not in obj files found later in .lib files). link.exe seems to ignore /subsystem: for obj files from lib files completely (while in lld it's ignored only for entry point detection but it still overrides /subsystem: flags passed on the command line for the value that gets written in the output file). Also, if the subsytem isn't needed (e.g. when only writing a /def: lib file and not writing a coff file), link.exe doesn't complain if the subsystem isn't known, so both subsystem and entry point handling should be below the early return lld has for that case. Fixes PR36523. https://reviews.llvm.org/D50316 llvm-svn: 339165
* [VFS] Emit an error when entry at root level uses a relative path.Volodymyr Sapsai2018-08-072-3/+47
| | | | | | | | | | | | | | | | | | | | | Entries with only a filename prevent us from building a file system tree and cause the assertion > Assertion failed: (NewParentE && "Parent entry must exist"), function uniqueOverlayTree, file clang/lib/Basic/VirtualFileSystem.cpp, line 1303. Entries with a relative path are simply not discoverable during header search. rdar://problem/28990865 Reviewers: bruno, benlangmuir Reviewed By: bruno Subscribers: dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D49518 llvm-svn: 339164
* [WebAssembly] Remove use of lld -flavor flagSam Clegg2018-08-074-13/+9
| | | | | | | | | This flag is deprecated. The preferred way to select the lld flavor is by calling it by one of its aliases. Differential Revision: https://reviews.llvm.org/D50395 llvm-svn: 339163
* [SampleFDO] Fix a bug in getOrCompHotCountThreshold/getOrCompColdCountThresholdWei Mi2018-08-073-4/+8
| | | | | | | | | | | | getOrCompHotCountThreshold/getOrCompColdCountThreshold introduced in https://reviews.llvm.org/D45377 contain a bad mistake and will only return 1 or 0 instead of the true hot/cold cutoff value. The patch fixes the mistake. But the mistake seems not causing big performance difference according to internal server benchmarks testing. Differential Revision: https://reviews.llvm.org/D50370 llvm-svn: 339162
* Misc module/dwarf logging improvementsLeonard Mosescu2018-08-075-19/+33
| | | | | | | | | | | | | | This change improves the logging for the lldb.module category to note a few interesting cases: 1. Local object file found, but specs not matching 2. Local object file not found, using a placeholder module The handling and logging for the cases wehre we fail to load compressed dwarf symbols is also improved. Differential Revision: https://reviews.llvm.org/D50274 llvm-svn: 339161
OpenPOWER on IntegriCloud