summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [AArch64] Adjust the cost model for Exynos M1 and M2Evandro Menezes2017-09-181-1/+2
| | | | | | Fix formatting in the predicate function AArch64InstrInfo::isExynosShiftLeftFast(). llvm-svn: 313553
* [GlobalISel] Only build expensive remarks if they're enabled. NFC.Ahmed Bougacha2017-09-182-7/+14
| | | | | | | | r313390 taught 'allowExtraAnalysis' to check whether remarks are enabled at all. Use that to only do the expensive instruction printing if they are. llvm-svn: 313552
* [ubsan] Fix interface_symbols_windows testVitaly Buka2017-09-184-4/+5
| | | | | | | | | | | | | | | Summary: 1. Update ubsan_interface.inc to make the test happy. 2. Switch interface_symbols_linux and interface_symbols_darwin to C++ to import __ubsan_handle_dynamic_type_cache_miss 3. Switch interface_symbols_windows to C++ for consistency. Reviewers: rnk, zturner Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D37986 llvm-svn: 313551
* [ELF] Remove default argument for lambda.Davide Italiano2017-09-181-7/+7
| | | | | | | | | | | This is not really OK in C++11, and GCc triggers a warning. We can switch back to default arguments when C++14 will be the minimum version of the standard supported, see: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#974 Ack'ed by Rafael. llvm-svn: 313550
* [cmake] Make it possible to build and test profile without sanitizersVedant Kumar2017-09-182-1/+4
| | | | | | | | | | | This should fix an issue which arises when running check-compiler-rt on the coverage bot: http://green.lab.llvm.org/green/job/clang-stage2-coverage-R_build/1590/ The bot doesn't build the sanitizers, but the check-compiler-rt target always expects the profile runtime to exist. llvm-svn: 313549
* [x86] add tests for PR34217; NFCSanjay Patel2017-09-181-1/+214
| | | | llvm-svn: 313548
* [X86][AVX] Improve (i8 bitcast (v8i1 x)) handling for 256-bit vector compare ↵Simon Pilgrim2017-09-182-22/+10
| | | | | | | | results. As commented on D37849, AVX1 targets were missing a chance to use vmovmskps for v8f32/v8i32 results for bool vector bitcasts llvm-svn: 313547
* [ForwardOpTree] Test the max operations quota.Michael Kruse2017-09-183-2/+50
| | | | | | | | | | | | cl::opt<unsigned long> is not specialized and hence the option -polly-optree-max-ops impossible to use. Replace by supported option cl::opt<unsigned>. Also check for an error state when computing the written value, which happens when the quota runs out. llvm-svn: 313546
* [x86] regenerate checks; NFCSanjay Patel2017-09-181-16/+17
| | | | llvm-svn: 313545
* [LoopVectorizer] Add more testcases for PR33804.Manoj Gupta2017-09-182-0/+96
| | | | | | | | | | | | | | | | Summary: Add test cases when float <-> pointer types conversion is triggered in presence of load instructions. Reviewers: Ayal, srhines, mkuper, rengolin Reviewed By: rengolin Subscribers: javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D37967 llvm-svn: 313544
* [SelectionDAG] Add BITCAST handling to ComputeNumSignBits for splatted sign ↵Simon Pilgrim2017-09-187-1041/+725
| | | | | | | | | | | | bits. For cases where we are BITCASTing to vectors of smaller elements, then if the entire source was a splatted sign (src's NumSignBits == SrcBitWidth) we can say that the dst's NumSignBit == DstBitWidth, as we're just splitting those sign bits across multiple elements. We could generalize this but at the moment the only use case I have is to peek through bitcasts to vector comparison results. Differential Revision: https://reviews.llvm.org/D37849 llvm-svn: 313543
* [X86] Fix two more places to prefer VPERMQ/PD over VPERM2X128 when AVX2 is ↵Craig Topper2017-09-1816-458/+414
| | | | | | | | | | | | enabled The shuffle combining and lowerVectorShuffleAsLanePermuteAndBlend were both still trying to use VPERM2XF128 for unary shuffles when AVX2 is enabled. VPERM2X128 takes two inputs meaning when we use it for a unary shuffle one of those inputs is left undefined creating a false dependency on whatever register gets allocated there. If we have VPERMQ/PD we should prefer those since they only have a single input. Differential Revision: https://reviews.llvm.org/D37947 llvm-svn: 313542
* [SLP] clean up for vector store case; NFCI Sanjay Patel2017-09-181-12/+11
| | | | llvm-svn: 313541
* Revert "Fix for bug 34532 - A few rough corners related to post-mortem ↵Adrian McCarthy2017-09-186-91/+6
| | | | | | | | | | debugging (core/minidump)" Broke Windows and FreeBSD (at least). This reverts commit 628ca7052b4a5dbace0f6205409113e12c8a78fa. llvm-svn: 313540
* Revert "Use ThreadLauncher to launch TaskPool threads"Francis Ricci2017-09-181-12/+1
| | | | | | This reverts commit r313537 because it fails to link on linux buildbots llvm-svn: 313539
* [scudo] Android build supportKostya Kortchinsky2017-09-1814-47/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Mark Android as supported in the cmake configuration for Scudo. Scudo is not added yet in the Android build bots, but code builds and tests pass locally. It is for a later CL. I also checked that Scudo builds as part of the Android toolchain. A few modifications had to be made: - Android defaults to `abort_on_error=1`, which doesn't work well with the current tests. So change the default way to pass `SCUDO_OPTIONS` to the tests to account for this, setting it to 0 by default; - Disable the `valloc.cpp` & `random_shuffle.cpp` tests on Android; - There is a bit of gymnatic to be done with the `SCUDO_TEST_TARGET_ARCH` string, due to android using the `-android` suffix, and `i686` instead of `i386`; - Android doesn't need `-lrt`. Reviewers: alekseyshl, eugenis Reviewed By: alekseyshl Subscribers: srhines, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D37907 llvm-svn: 313538
* Use ThreadLauncher to launch TaskPool threadsFrancis Ricci2017-09-181-1/+12
| | | | | | | | | | | | | | | | Summary: This allows for the stack size to be configured, which isn't possible with std::thread. Prevents overflowing the stack when performing complex operations in the task pool on darwin, where the default pthread stack size is only 512kb. Reviewers: labath, tberghammer, clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D37930 llvm-svn: 313537
* [clangd] Fix codeAction not decoded properly when sent from some clientsMarc-Andre Laperle2017-09-184-87/+138
| | | | | | | | | | | | | | | | | | | | Summary: Fix for bug https://bugs.llvm.org/show_bug.cgi?id=34559 Also log unknown fields instead of aborting the JSON parsing because it's common that new optional fields are added either in new versions of the protocol or extensions. Reviewers: ilya-biryukov Reviewed By: ilya-biryukov Subscribers: ilya-biryukov Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D37754 llvm-svn: 313536
* [AArch64] Add V8_2aOps feature to Cortex-A55 and 75Sam Parker2017-09-184-0/+13
| | | | | | | | | | Add the missing hardware features the ProcA55 and ProcA75 feature. These are already enabled via the target parser, but I had missed them in the backend. Differential Revision: https://reviews.llvm.org/D37974 llvm-svn: 313535
* Add myself to CREDITS.txtAlex Bradbury2017-09-181-0/+4
| | | | llvm-svn: 313534
* [ARM] Implement isTruncateFreeSam Parker2017-09-183-1/+47
| | | | | | | | | | Implement the isTruncateFree hooks, lifted from AArch64, that are used by TargetTransformInfo. This allows simplifycfg to reduce the test case into a single basic block. Differential Revision: https://reviews.llvm.org/D37516 llvm-svn: 313533
* [X86][SSE] Improve support for vselect(Cond, 0, X) -> ANDN(Cond, X)Simon Pilgrim2017-09-183-23/+25
| | | | | | | | As discussed on PR28925 and D37849. Differential Revision: https://reviews.llvm.org/D37975 llvm-svn: 313532
* [ARM] Fix for indexed dot product instruction descriptionsSjoerd Meijer2017-09-182-1/+23
| | | | | | | | | | | The indexed dot product instructions only accept the lower 16 D-registers as the indexed register, but we were e.g. incorrectly accepting: vudot.u8 d16,d16,d18[0] Differential Revision: https://reviews.llvm.org/D37968 llvm-svn: 313531
* [dwarfdump] Make .eh_frame an alias for .debug_frameJonas Devlieghere2017-09-1813-34/+35
| | | | | | | | | | | | | | | | | | | | This patch makes the `.eh_frame` extension an alias for `.debug_frame`. Up till now it was only possible to dump the section using objdump, but not with dwarfdump. Since the two are essentially interchangeable, we dump whichever of the two is present. As a workaround, this patch also adds parsing for 3 currently unimplemented CFA instructions: `DW_CFA_def_cfa_expression`, `DW_CFA_expression`, and `DW_CFA_val_expression`. Because I lack the required knowledge, I just parse the fields without actually creating the instructions. Finally, this also fixes the typo in the `.debug_frame` section name which incorrectly contained a trailing `s`. Differential revision: https://reviews.llvm.org/D37852 llvm-svn: 313530
* [X86][SSE] Add vselect with zero tests (PR28925)Simon Pilgrim2017-09-181-0/+67
| | | | llvm-svn: 313529
* [X86] combineVSelectWithAllOnesOrZeros - cleanup variable names. NFCI.Simon Pilgrim2017-09-181-4/+3
| | | | | | We were reusing the 'false' select value 'is zero' variable name for the 'true' select value 'is zero' variable name. llvm-svn: 313528
* [test] Enable -polly-codegen-verify for regression tests.Michael Kruse2017-09-181-0/+2
| | | | | | | | | | | | | | | | | | In r301670 IR verification was disabled. Since then, CodeGen writing malformed IR would only be noticed by unpredictable behavior in follow-up passes (e.g. segfaults, infinite loops) or IR verification in the backend assert builds. Re-enable -polly-codegen-verify at for the regression tests to ensure that malformed IR is detected where Polly generated malformed IR in the past and changes in CodeGen are at least partially covered by check-polly (otherwise malformed IR may only get noticed when the buildbots run the test-suite). Differential Revision: https://reviews.llvm.org/D37969 llvm-svn: 313527
* [ForwardOptTree] Remove redundant simplify(). NFC.Michael Kruse2017-09-181-1/+0
| | | | | | The result of computeKnown has already been simplified. llvm-svn: 313526
* Fix Linux remote debugging after r313442Tamas Berghammer2017-09-181-1/+2
| | | | | | | | | On Linux lldb-server sends an OK response to qfThreadInfo if no process is started yet. I don't know why would LLDB issue a qfThreadInfo packet before starting a process but creating a fake thread ID in case of an OK or Error respoinse sounds bad anyway so lets not do it. llvm-svn: 313525
* [X86FixupBWInsts] More precise register liveness if no <imp-use> on MOVs.Nikolai Bozhenov2017-09-1816-246/+468
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Subregister liveness tracking is not implemented for X86 backend, so sometimes the whole super register is said to be live, when only a subregister is really live. That might happen if the def and the use are located in different MBBs, see added fixup-bw-isnt.mir test. However, using knowledge of the specific instructions handled by the bw-fixup-pass we can get more precise liveness information which this change does. Reviewers: MatzeB, DavidKreitzer, ab, andrew.w.kaylor, craig.topper Reviewed By: craig.topper Subscribers: n.bozhenov, myatsina, llvm-commits, hiraditya Patch by Andrei Elovikov <andrei.elovikov@intel.com> Differential Revision: https://reviews.llvm.org/D37559 llvm-svn: 313524
* [ELF] - Fix comment. NFC.George Rimar2017-09-181-1/+1
| | | | llvm-svn: 313523
* [ELF] - Simplify adjustSectionsBeforeSorting().George Rimar2017-09-181-3/+2
| | | | | | | | | Does not seem we need to set SectionIndex here. It is set in finalizeSections() later. Differential revision: https://reviews.llvm.org/D37815 llvm-svn: 313522
* Another attempt to fix warning discovered by r313487. [-Wunused-lambda-capture]Vitaly Buka2017-09-181-1/+1
| | | | llvm-svn: 313521
* Revert "[ubsan] Add RTUbsan_standalone into UBSAN standalone shared"Vitaly Buka2017-09-181-1/+0
| | | | | | | | Error: .preinit_array section is not allowed in DSO This reverts commit r313519. llvm-svn: 313520
* [ubsan] Add RTUbsan_standalone into UBSAN standalone sharedVitaly Buka2017-09-181-0/+1
| | | | | | | | Same as for Apple. This also fixes flags related tests on Android as without this flags are not initialized. llvm-svn: 313519
* [sanitizer] Move StartReportDeadlySignal into sanitizer_common_libcdepVitaly Buka2017-09-183-12/+8
| | | | llvm-svn: 313518
* [asan] Remove ScopedDeadlySignalVitaly Buka2017-09-184-28/+8
| | | | | | | This is used only to make fast = true in GetStackTraceWithPcBpAndContext on SANITIZER_FREEBSD and SANITIZER_NETBSD and can be done explicitly. llvm-svn: 313517
* [X86][Codegen] adding masked gathers tests for avx2Mohammed Agabaria2017-09-181-0/+915
| | | | | | | | | related to patch: https://reviews.llvm.org/D35772 adding llvm gathers test before gathers codegen support. Differential Revision: https://reviews.llvm.org/D37800 llvm-svn: 313516
* [XRay][compiler-rt] Handle tail-call exits in the XRay runtimeDean Michael Berris2017-09-186-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This change starts differentiating tail exits from normal exits. We also increase the version number of the "naive" log to version 2, which will be the starting version where these records start appearing. In FDR mode we treat the tail exits as normal exits, and are thus subject to the same treatment with regard to record unwriting. Updating the version number is important to signal older builds of the llvm-xray tool that do not deal with the tail exit records must fail early (and that users should only use the llvm-xray tool built after the support for tail exits to get accurate handling of these records). Depends on D37964. Reviewers: kpw, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37965 llvm-svn: 313515
* [XRay][tools] Support tail-call exits before we write them in the runtimeDean Michael Berris2017-09-189-12/+26
| | | | | | | | | | | | | | | | | Summary: This change adds support for explicit tail-exit records to be written by the XRay runtime. This lets us differentiate the tail exit records/events in the log, and allows us to treat those exit events especially in the future. For now we allow printing those out in YAML (and reading them in). Reviewers: kpw, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37964 llvm-svn: 313514
* Revert rL313511, "Fix a warning discovered by rL313487. ↵NAKAMURA Takumi2017-09-181-1/+1
| | | | | | | | [-Wunused-lambda-capture]" It was incompatible to msc. llvm-svn: 313513
* [X86] Strengthen some of the SD type constraints in X86InstrFragmentsSIMD.tdCraig Topper2017-09-181-37/+32
| | | | | | | | This effects the vector shift and rotates as well as some of the vector compares. The changes to the shifts by immediates allows a few hundred bytes to be removed by removing type checks for the size of the immediate containing the shift/rotate amount. llvm-svn: 313512
* Fix a warning discovered by rL313487. [-Wunused-lambda-capture]NAKAMURA Takumi2017-09-181-1/+1
| | | | llvm-svn: 313511
* Reformat.NAKAMURA Takumi2017-09-181-4/+3
| | | | llvm-svn: 313510
* [X86] Teach the execution domain fixing tables to use movlhps inplace of ↵Craig Topper2017-09-1842-363/+363
| | | | | | | | unpcklpd for the packed single domain. MOVLHPS has a smaller encoding than UNPCKLPD in the legacy encodings. With VEX and EVEX encodings it doesn't matter. llvm-svn: 313509
* [X86] Teach execution domain fixing to convert between FP and int unpack ↵Craig Topper2017-09-1843-743/+621
| | | | | | instructions. llvm-svn: 313508
* [X86] Teach execution domain fixing to convert between VPERMILPS and VPSHUFD.Craig Topper2017-09-1841-486/+391
| | | | llvm-svn: 313507
* [X86] Remove the X86ISD::MOVLHPD. Lowering doesn't use it and it's not a ↵Craig Topper2017-09-184-25/+2
| | | | | | | | real instruction. It was used in patterns, but we had the exact same patterns with Unpckl as well. So now just use Unpckl in the instruction patterns. llvm-svn: 313506
* [sanitizer] Use SI_ instead of SANITIZER_ in sanitizer_platform_interceptorsVitaly Buka2017-09-181-2/+2
| | | | llvm-svn: 313505
* [X86] Teach shuffle lowering to use MOVLHPS/MOVHLPS for lowering v4f32 unary ↵Craig Topper2017-09-172-7/+19
| | | | | | shuffles with SSE1 only. llvm-svn: 313504
OpenPOWER on IntegriCloud