summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* DebugInfo: Render the canonical name of a class template specialization, ↵David Blaikie2019-10-183-2/+10
| | | | | | | | even when nested in another class template specialization Differential Revision: https://reviews.llvm.org/D63031 llvm-svn: 375304
* [profile] Do not cache __llvm_profile_get_filename resultVedant Kumar2019-10-187-20/+40
| | | | | | | | | | | | | | | | | When the %m filename pattern is used, the filename is unique to each image, so the cached value is wrong. It struck me that the full filename isn't something that's recomputed often, so perhaps it doesn't need to be cached at all. David Li pointed out we can go further and just hide lprofCurFilename. This may regress workflows that depend on using the set-filename API to change filenames across all loaded DSOs, but this is expected to be very rare. rdar://55137071 Differential Revision: https://reviews.llvm.org/D69137 llvm-svn: 375301
* LiveIntervals: Fix handleMoveUp with subreg def moving across a defMatt Arsenault2019-10-183-1/+190
| | | | | | | | | If a subregister def was moved across another subregister def and another use, the main range was not correctly updated. The end point of the moved interval ended too early and missed the use from theh other lanes in the subreg def. llvm-svn: 375300
* gn build: Build compiler-rt code with -fvisibility=hidden.Peter Collingbourne2019-10-181-0/+1
| | | | | | | | This matches the CMake build. Differential Revision: https://reviews.llvm.org/D69202 llvm-svn: 375299
* hwasan: Add missing SANITIZER_INTERFACE_ATTRIBUTE on ↵Peter Collingbourne2019-10-181-4/+7
| | | | | | | | __hwasan_personality_wrapper. Differential Revision: https://reviews.llvm.org/D69201 llvm-svn: 375298
* [AMDGPU] move PHI nodes to AGPR classStanislav Mekhanoshin2019-10-182-5/+45
| | | | | | | | | If all uses of a PHI are in AGPR register class we should avoid unneeded copies via VGPRs. Differential Revision: https://reviews.llvm.org/D69200 llvm-svn: 375297
* [hwasan] Remove system allocator fallback.Evgeniy Stepanov2019-10-184-91/+0
| | | | | | | | | | | | | | | | Summary: This has been an experiment with late malloc interposition, made possible by a non-standard feature of the Android dynamic loader. Reviewers: pcc, mmalcomson Subscribers: srhines, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D69199 llvm-svn: 375296
* [SampleFDO] Add profile remapping support for profile on-demand loading usedWei Mi2019-10-185-132/+233
| | | | | | | | | | | | | | | | | | | | by ExtBinary format profile Profile on-demand loading was added for ExtBinary format profile in rL374233, but currently profile on-demand loading doesn't work well with profile remapping. The patch adds the support. Suppose a function in the current module has outline instance in the profile. The function name in the module is different from the name of the outline instance, but remapper knows the two names are equal. When loading profile on-demand, the outline instance has to be loaded with remapper's help. At the same time SampleProfileReaderItaniumRemapper is changed from a proxy of SampleProfileReader to a helper member in SampleProfileReader. Differential Revision: https://reviews.llvm.org/D68901 llvm-svn: 375295
* [Reproducer] XFAIL TestWorkingDir on WindowsJonas Devlieghere2019-10-181-0/+2
| | | | | | | | I'm having a hard time reproducing this and it's failing on the Windows bot. Temporarily X-failing this test while I continue to try building LLDB on Windows. llvm-svn: 375294
* [AMDGPU] Remove -amdgpu-spill-sgpr-to-smem.Jay Foad2019-10-189-447/+10
| | | | | | | | | | | | | | Summary: The implementation was never completed and never used except in tests. Reviewers: arsenm, mareko Subscribers: qcolombet, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69163 llvm-svn: 375293
* [Reproducer] Improve reproducer help (NFC)Jonas Devlieghere2019-10-181-2/+12
| | | | | | Provide a little more detail for the reproducer command. llvm-svn: 375292
* [CVP] setDeducedOverflowingFlags(): actually inc per-opcode statsRoman Lebedev2019-10-181-4/+4
| | | | | | | This is really embarrassing. Those are pointers, so that offsets the pointers, not the statistics pointed-by the pointer... llvm-svn: 375290
* gn build: Merge r375288GN Sync Bot2019-10-181-0/+1
| | | | llvm-svn: 375289
* Disable exit-on-SIGPIPE in lldbVedant Kumar2019-10-186-1/+91
| | | | | | | | | | | | | | | | | | Occasionally, during test teardown, LLDB writes to a closed pipe. Sometimes the communication is inherently unreliable, so LLDB tries to avoid being killed due to SIGPIPE (it calls `signal(SIGPIPE, SIG_IGN)`). However, LLVM's default SIGPIPE behavior overrides LLDB's, causing it to exit with IO_ERR. Opt LLDB out of the default SIGPIPE behavior. I expect that this will resolve some LLDB test suite flakiness (tests randomly failing with IO_ERR) that we've seen since r344372. rdar://55750240 Differential Revision: https://reviews.llvm.org/D69148 llvm-svn: 375288
* [X86] Fix register parsing in .seh_* in Intel syntaxReid Kleckner2019-10-182-4/+49
| | | | | | | | | | Previously, the parser checked for a '%' prefix to indicate a register. In Intel syntax mode, LLVM does not print a '%' prefix on registers, so LLVM could not parse its own assembly output. Instead, require that register numbers be integer literals, or at least start with an integer literal, which is consistent with .cfi_* directive register parsing. llvm-svn: 375287
* [analyzer] exploded-graph-rewriter: Unforget to censor stmt_ids in the test.Artem Dergachev2019-10-181-2/+2
| | | | | | | | They're not stable across machines. Fixes buildbots after r375278. llvm-svn: 375286
* [NFC][CVP] Some tests for `mul` no-wrap deductionRoman Lebedev2019-10-181-0/+175
| | | | llvm-svn: 375285
* Update global_symbols.txt.Peter Collingbourne2019-10-181-0/+1
| | | | llvm-svn: 375284
* [WebAssembly] Allow multivalue signatures in object filesThomas Lively2019-10-1853-148/+212
| | | | | | | | | | | | | | | | | Summary: Also changes the wasm YAML format to reflect the possibility of having multiple return types and to put the returns after the params for consistency with the binary encoding. Reviewers: aheejin, sbc100 Subscribers: dschuff, jgravelle-google, hiraditya, sunfish, arphaman, rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69156 llvm-svn: 375283
* [analyzer] exploded-graph-rewriter: Rename Environment to Expressions.Artem Dergachev2019-10-183-3/+3
| | | | | | It's less confusing for newcomers. llvm-svn: 375282
* [analyzer] Fix FieldRegion dumps.Artem Dergachev2019-10-184-4/+13
| | | | | | | | | The '->' thing has always been confusing; the actual operation '->' translates to a pointer dereference together with adding a FieldRegion, but FieldRegion on its own doesn't imply an additional pointer dereference. llvm-svn: 375281
* [analyzer] Drop the logic for collapsing the state if it's same as in preds.Artem Dergachev2019-10-182-10/+3
| | | | | | | | | | One of the first attempts to reduce the size of the exploded graph dumps was to skip the state dump as long as the state is the same as in all of the predecessor nodes. With all the new facilities in place (node joining, diff dumps), this feature doesn't do much, and when it does, it's more harmful than useful. Let's remove it. llvm-svn: 375280
* [analyzer] exploded-graph-rewriter: Fix dump for state 0.Artem Dergachev2019-10-185-16/+25
| | | | | | It shouldn't say "unspecified" when the state is specified to be empty. llvm-svn: 375279
* [analyzer] Fix hidden node traversal in exploded graph dumps.Artem Dergachev2019-10-182-15/+29
| | | | | | | | | The joined nodes now actually have the same state. That was intended from the start but the original implementation turned out to be buggy. Differential Revision: https://reviews.llvm.org/D69150 llvm-svn: 375278
* [GISel][CallLowering] Make isIncomingArgumentHandler a pure virtual methodQuentin Colombet2019-10-185-1/+9
| | | | | | | | | | | | | The default implementation of isIncomingArgumentHandler could lead to generating incorrect code. Make it a pure virtual method, so that targets know they have to override it to produce correct code. NFC Differential Revision: https://reviews.llvm.org/D69187 llvm-svn: 375277
* scudo: Update TLS_SLOT_SANITIZER value.Peter Collingbourne2019-10-181-1/+1
| | | | | | | | | | Android now allocates only 8 fixed TLS slots. Somehow we were getting away with using a non-existent slot until now, but in some cases the TLS slots were being placed at the end of a page, which led to a segfault at startup. Differential Revision: https://reviews.llvm.org/D69191 llvm-svn: 375276
* [libunwind][Android] Fix findUnwindSections for ARM EHABI BionicRyan Prichard2019-10-182-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fix the arm_section_length count. The meaning of the arm_section_length field changed from num-of-elements to num-of-bytes when the dl_unwind_find_exidx special case was removed (D30306 and D30681). The special case was restored in D39468, but that patch didn't account for the change in arm_section_length's meaning. That patch worked when it was applied to the NDK's fork of libunwind, because it never removed the special case in the first place, and the special case is probably disabled in the Android platform's copy of libunwind, because __ANDROID_API__ is greater than 21. Turn the dl_unwind_find_exidx special case on unconditionally for Bionic. Bionic's dl_unwind_find_exidx is much faster than using dl_iterate_phdr. (e.g. Bionic stores exidx info on an internal soinfo object.) Reviewers: thomasanderson, srhines, danalbert, ed, keith.walker.arm, mclow.lists, compnerd Reviewed By: srhines, danalbert Subscribers: srhines, kristof.beyls, christof, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D68972 llvm-svn: 375275
* [CVP] After proving that @llvm.with.overflow()/@llvm.sat() don't overflow, ↵Roman Lebedev2019-10-182-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | also try to prove other no-wrap Summary: CVP, unlike InstCombine, does not run till exaustion. It only does a single pass. When dealing with those special binops, if we prove that they can safely be demoted into their usual binop form, we do set the no-wrap we deduced. But when dealing with usual binops, we try to deduce both no-wraps. So if we convert e.g. @llvm.uadd.with.overflow() to `add nuw`, we won't attempt to check whether it can be `add nuw nsw`. This patch proposes to call `processBinOp()` on newly-created binop, which is identical to what we do for div/rem already. Reviewers: nikic, spatel, reames Reviewed By: nikic Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69183 llvm-svn: 375273
* [lldb][NFC] Remove wrong tests in TestCallOverriddenMethodRaphael Isemann2019-10-181-4/+0
| | | | | | | | | We call these tests in the second test function where they are x-failed on Windows. I forgot to remove the tests from the first test function (which is not x-failed on Windows) when extracting these calls into their own test function, so the test is still failing on Windows. llvm-svn: 375271
* [examples] Fix some comments in the LLJITWithJITLink exampleLang Hames2019-10-181-2/+2
| | | | llvm-svn: 375269
* AMDGPU: Relax 32-bit SGPR register classMatt Arsenault2019-10-18104-914/+974
| | | | | | | | | | | Mostly use SReg_32 instead of SReg_32_XM0 for arbitrary values. This will allow the register coalescer to do a better job eliminating copies to m0. For GlobalISel, as a terrible hack, use SGPR_32 for things that should use SCC until booleans are solved. llvm-svn: 375267
* [examples] Add an example of how to use JITLink and small-code-model with LLJIT.Lang Hames2019-10-183-0/+82
| | | | | | | | | | | | | | | | | | | | | JITLink is LLVM's newer jit-linker. It is an alternative to (and hopefully eventually a replacement for) LLVM's older jit-linker, RuntimeDyld. Unlike RuntimeDyld which requries JIT'd code to be complied with the large code model, JITlink can link code compiled with the small code model, which is the native code model for a number of targets (including all supported MachO targets). This example shows how to: -- Create a JITLink InProcessMemoryManager -- Set the code model to small -- Use a JITLink backed ObjectLinkingLayer as the linking layer for LLJIT (rather than the default RTDyldObjectLinkingLayer). Note: This example will only work on platforms supported by JITLink. As of this commit that's MachO/x86-64 and MachO/arm64. llvm-svn: 375266
* AMDGPU: Fix SMEM WAR hazard for gfx10 readlaneAustin Kerbow2019-10-182-0/+16
| | | | | | | | | | | | | | | | Summary: Hazard recognizer fails to see hazard with V_READLANE_B32_gfx10. Reviewers: rampitec Reviewed By: rampitec Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69172 llvm-svn: 375265
* [lit] Reduce value of synthesized timeoutsJulian Lettner2019-10-181-2/+3
| | | | | | | | | | | Large timeout values (one year, positive infinity) trip up Python on Windows with "OverflowError: timeout value is too large". One week seems to work and is still large enough in practice. Thanks to Simon Pilgrim for helping me test this. https://reviews.llvm.org/rL375171 llvm-svn: 375264
* [lit] Remove unnecessary tracking of test_indexJulian Lettner2019-10-182-17/+11
| | | | llvm-svn: 375263
* [lit] Only send back test result from worker processJulian Lettner2019-10-183-16/+15
| | | | | | | Avoid sending back the whole run.Test object (which needs to be pickled) from the worker process when we are only interested in the test result. llvm-svn: 375262
* [Codegen] Link MIRParser into CodeGenTests to fix MachineSizeOptsTest buildingRoman Lebedev2019-10-181-0/+1
| | | | llvm-svn: 375261
* [NFC][CVP] Add @llvm.*.sat tests where we could prove both no-overflowsRoman Lebedev2019-10-181-8/+100
| | | | llvm-svn: 375260
* [Reproducer] Use ::rtrim() to remove trailing control characters.Jonas Devlieghere2019-10-181-4/+2
| | | | | | | | Pavel correctly pointed out that removing all control characters from the working directory is overkill. It should be sufficient to just strip the last ones. llvm-svn: 375259
* [Format] Add format check for throwing negative numbersBrian Gesiak2019-10-182-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The code `throw -1;` is currently formatted by clang-format as `throw - 1;`. This diff adds a fix for this edge case and a test to check for this in the future. For context, I am looking into a related bug in the clang-formatting of coroutine keywords: `co_yield -1;` is also reformatted in this manner as `co_yield - 1;`. A later diff will add these changes and tests for the `co_yield` and `co_return` keywords. Patch by Jonathan Thomas (jonathoma)! Reviewers: modocache, sammccall, Quuxplusone Reviewed By: sammccall Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D69144 llvm-svn: 375258
* [DOCS]Update list of implemented constructs, NFC.Alexey Bataev2019-10-181-2/+2
| | | | llvm-svn: 375257
* gn build: Merge r375254GN Sync Bot2019-10-183-0/+3
| | | | llvm-svn: 375256
* [OPENMP50]Add support for master taskloop simd.Alexey Bataev2019-10-1848-15/+6385
| | | | | | Added trsing/semantics/codegen for combined construct master taskloop simd. llvm-svn: 375255
* [PGO][PGSO] SizeOpts changes.Hiroshi Yamauchi2019-10-1815-20/+661
| | | | | | | | | | | | | | | | | Summary: (Split of off D67120) SizeOpts/MachineSizeOpts changes for profile guided size optimization. Reviewers: davidxl Subscribers: mgorny, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69070 llvm-svn: 375254
* [X86] combineX86ShufflesRecursively - pull out isTargetShuffleVariableMask. ↵Simon Pilgrim2019-10-181-1/+2
| | | | | | NFCI. llvm-svn: 375253
* [IR] Reimplement FPMathOperator::classof as a whitelist.Jay Foad2019-10-182-7/+12
| | | | | | | | | | | | | | | | | Summary: This makes it much easier to verify that the implementation matches the documentation. It uncovered a bug in the unit tests where we were accidentally setting fast math flags on a load instruction. Reviewers: spatel, wristow, arsenm, hfinkel, aemerson, efriedma, cameron.mcinally, mcberg2017, jmolloy Subscribers: wdng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69176 llvm-svn: 375252
* Update docs for fast-math flags.Jay Foad2019-10-181-2/+3
| | | | | | | This adds fneg, phi and select to the list of operations that may use fast-math flags. llvm-svn: 375250
* [clang-format] fix regression recognizing casts in Obj-C callsKrasimir Georgiev2019-10-182-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: r373922 added checks for a few tokens that, following an `)` make it unlikely that the `)` is the closing paren of a cast expression. The specific check for `tok::l_square` there introduced a regression for casts of Obj-C calls, like: ``` (cast)[func arg] ``` From the tests added in r373922, I believe the `tok::l_square` case is added to capture the case where a non-cast `)` is directly followed by an attribute specifier, like: ``` int f(int x) [[noreturn]]; ``` I've specialized the code to look for such attribute specifier instead of `tok::l_square` in general. Also, I added a regression test and moved the test cases added in r373922 to an already existing place documenting other instances of historically misidentified casts. Reviewers: MyDeveloperDay Reviewed By: MyDeveloperDay Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69164 llvm-svn: 375247
* [tooling] Relax an assert when multiple GPU targets are specified.Michael Liao2019-10-181-1/+1
| | | | llvm-svn: 375245
* ProcessMinidump: Suppress reporting stop for signal '0'Joseph Tremoulet2019-10-183-3/+50
| | | | | | | | | | | | | | | | | | | | | | | Summary: The minidump exception stream can report an exception record with signal 0. If we try to create a stop reason with signal zero, processing of the stop event won't find anything, and the debugger will hang. So, simply early-out of RefreshStateAfterStop in this case. Also set the UnixSignals object in DoLoadCore as is done for ProcessElfCore. Reviewers: labath, clayborg, jfb Reviewed By: labath, clayborg Subscribers: dexonsmith, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68096 llvm-svn: 375244
OpenPOWER on IntegriCloud