summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-04[clangd] Fix ambiguous constructor in DexTestlinaro-local/ci/tcwg-llvm-kernel-baseline-armv8l-master-lts-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-armv8l-master-ltsSam McCall
2018-10-04[clang-tidy] NFC use CHECK-NOTES in tests for fuchsia-default-argumentsJonas Toth
Reviewers: alexfh, aaron.ballman, hokein Reviewed By: alexfh Subscribers: xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D52688
2018-10-04[clang-tidy] NFC use CHECK-NOTES in tests for performance-move-constructor-initJonas Toth
Reviewers: alexfh, aaron.ballman, hokein Reviewed By: alexfh Subscribers: lebedev.ri, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D52691
2018-10-04[clang] Add the exclude_from_explicit_instantiation attributeLouis Dionne
Summary: This attribute allows excluding a member of a class template from being part of an explicit template instantiation of that class template. This also makes sure that code using such a member will not take for granted that an external instantiation exists in another translation unit. The attribute was discussed on cfe-dev at [1] and is primarily motivated by the removal of always_inline in libc++ to control what's part of the ABI (see links in [1]). [1]: http://lists.llvm.org/pipermail/cfe-dev/2018-August/059024.html rdar://problem/43428125 Reviewers: rsmith Subscribers: dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D51789
2018-10-04[clang-tidy] fix PR39167, bugprone-exception-escape hangs-upJonas Toth
Summary: The check bugprone-exception-escape should not register if -fno-exceptions is set for the compile options. Bailing out on non-cplusplus and non-exceptions language options resolves the issue. Reviewers: alexfh, aaron.ballman, baloghadamsoftware Reviewed By: alexfh Subscribers: lebedev.ri, xazax.hun, rnkovacs, cfe-commits Differential Revision: https://reviews.llvm.org/D52880
2018-10-04[clang-tidy] Added pointer types to clang-tidy readability-identifier-naming ↵Jonas Toth
check. Summary: Option to check for different naming conventions on the following types: - GlobalConstantPointer - GlobalPointer - LocalConstantPointer - LocalPointer - PointerParameter - ConstantPointerParameter When not specified, the conventions for the non pointer types will be applied (GlobalConstant, GlobalVariable, LocalConstant, ...). Patch by ffigueras! Reviewers: alexfh, kbobyrev Reviewed By: alexfh Subscribers: xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D52882
2018-10-04[llvm-mca] Move field 'AllowZeroMoveEliminationOnly' to class RegisterFile. NFC.Andrea Di Biagio
Flag 'AllowZeroMoveEliminationOnly' should have been a property of the PRF, and not set at register granularity. This change also restricts move elimination to writes that update a full physical register. We assume that there is a strong correlation between logical registers that allow move elimination, and how those same registers are allocated to physical registers by the register renamer. This is still a no functional change, because this experimental code path is disabled for now. This is done in preparation for another patch that will add the ability to describe how move elimination works in scheduling models.
2018-10-04[X86][AVX] Add PR39161 test case for v4f64 zzww shuffleSimon Pilgrim
2018-10-04[OpenMP][OMPT] Fix unsafe initialization of ompt_data_t objectsJonathan Peyton
Initializing an ompt_data_t object using the pointer union member is potentially unsafe in 32-bit programs. This change fixes the issue by using the constant, ompt_data_none. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D52046
2018-10-04[ELF][HEXAGON] Add support for GOT relocations.Sid Manning
The GOT is referenced through the symbol _GLOBAL_OFFSET_TABLE_ . The relocation added calculates the offset into the global offset table for the entry of a symbol. In order to get the correct TargetVA I needed to create an new relocation expression, HEXAGON_GOT. It does Sym.getGotVA() - In.GotPlt->getVA(). Differential Revision: https://reviews.llvm.org/D52744
2018-10-04[utils] Ensure that update_mca_test_checks.py writes prefixes in ↵Greg Bedwell
alphabetical order
2018-10-04[utils] simple refactor in update_mca_test_checks.py to make intent more ↵Greg Bedwell
readable
2018-10-04[RISCV] Remove overzealous is64Bit checksAlex Bradbury
lowerGlobalAddress, lowerBlockAddress, and insertIndirectBranch contain overzealous checks for is64Bit. These functions are all safe as-implemented for RV64.
2018-10-04[clangd] expose MergedIndex classSam McCall
Summary: This allows inheriting from it, so index() can ga away and allowing TestTU::index) to be fixed. Reviewers: ioeric Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52250
2018-10-04[clangd] clangd-indexer gathers refs and stores them in index files.Sam McCall
Reviewers: ioeric Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52531
2018-10-04[clangd] Remove one-segment-skipping from Dex trigrams.Sam McCall
Summary: Currently queries like "ab" can match identifiers like a_yellow_bee. The value of allowing this for exactly one segment but no more seems dubious. It costs ~3% of overall ram (~9% of posting list ram) and some quality. Reviewers: ilya-biryukov, ioeric Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52885
2018-10-04[X86] Set correct MMO offset on scalarized load piecesDavid Greene
When scalarizing a load, be sure to update the offset in the MachineMemOperand for each scalar load.
2018-10-04[cland] Dex: fix/simplify short-trigram generationSam McCall
Summary: 1) Instead of x$$ for a short-query trigram, just use x 2) Make rules more coherent: prefixes of length 1-2, and first char + next head 3) Fix Dex::fuzzyFind to mark results as incomplete, because short-trigram rules only yield a subset of results. Reviewers: ioeric Subscribers: ilya-biryukov, jkorous, mgrang, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52808
2018-10-04[clangd] Dex: FALSE iterator, peephole optimizations, fix AND bugSam McCall
Summary: The FALSE iterator will be used in a followup patch to fix a logic bug in Dex (currently, tokens that don't have posting lists in the index are simply dropped from the query, changing semantics). It can usually be optimized away, so added the following opmitizations: - simplify booleans inside AND/OR - replace effectively-empty AND/OR with booleans - flatten nested AND/ORs While working on this, found a bug in the AND iterator: its constructor sync() assumes that ReachedEnd is set if applicable, but the constructor never sets it. This crashes if a non-first iterator is nonempty. Reviewers: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52789
2018-10-04[llvm-mca][x86] Add tests demonstrating ReadAfterLd delaySimon Pilgrim
2018-10-04[PassTimingInfo] cleanup on TimingData's Timer handlingFedor Sergeev
Replacing Timer* with unique_ptr<Timer> in a pass-to-timer map. That allows to get rid of unpretty raw deletes in PassTimingInfo destructor. Strictly cleanup, not intended to change any visible behavior.
2018-10-04[llvm-exegesis][NFC] Improve parsing of the YAML filesGuillaume Chatelet
Summary: sscanf turns out to be slow for reading floating points. Reviewers: courbet Subscribers: tschuett, llvm-commits, RKSimon Differential Revision: https://reviews.llvm.org/D52866
2018-10-04[doc] Update the programmer's manual about SmallSet's iteratorKristof Umann
Since rL337818, you can now iterate the SmallSet. Differential Revision: https://reviews.llvm.org/D52828
2018-10-04Re-commit r343500 "Fix build with GCC < 5.0 (PR39131)"Tatyana Krasnukha
Occasionally didn't commit actual fix the first time.
2018-10-04[clang-tidy] Sequence statements with multiple parents correctly (PR39149)Martin Bohme
Summary: Before this fix, the bugprone-use-after-move check could incorrectly conclude that a use and move in a function template were not sequenced. For details, see https://bugs.llvm.org/show_bug.cgi?id=39149 Reviewers: alexfh, hokein, aaron.ballman, JonasToth Reviewed By: aaron.ballman Subscribers: xazax.hun, cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D52782
2018-10-04[Index] Respect "IndexFunctionLocals" option for type loc.Haojian Wu
Summary: Previously, clang index ignored local symbols defined in the function body even IndexFunctionLocals is true. Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, ioeric, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52877
2018-10-04[llvm-mca] Check for inconsistencies when constructing instruction descriptors.Andrea Di Biagio
This should help with catching inconsistent definitions of instructions with zero opcodes, which also declare to consume scheduler/pipeline resources.
2018-10-04Fix MSVC "not all control paths return a value" warning. NFCI.Simon Pilgrim
2018-10-04[clangd] Revert accidental flag changeSam McCall
2018-10-04[clangd] Use canonical declarations in ReferenceFinder.Haojian Wu
Summary: handleDeclOccurrencce reports a canonical declartion, so stick to use canonical declarations to determine whether a declaration is in the target set. Also fix a previous ref test which misses a matched label (it fails without this patch). Reviewers: sammccall Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52871
2018-10-04[ELF] - Simplify. NFCI.George Rimar
Assign the `Link` to parent directly.
2018-10-04[constexpr] Fix ICE when memcpy() is given a pointer to an incomplete arrayPetr Pavlu
Fix code for constant evaluation of __builtin_memcpy() and __builtin_memmove() that would attempt to divide by zero when given two pointers to an incomplete array. Differential Revision: https://reviews.llvm.org/D51855
2018-10-04[clangd] Support refs() in dex. Largely cloned from MemIndex.Sam McCall
Reviewers: hokein Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52726
2018-10-04[clangd] clangd-indexer: Drop support for MR-via-YAMLSam McCall
Summary: It's slow, and the open-source reduce implementation doesn't scale properly. While here, tidy up some dead headers and comments. Reviewers: kadircet Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D52517
2018-10-04[AArch64][ARM] Context sensitive meaning of cryptoSjoerd Meijer
For AArch64, crypto means: - sm4 + sha3 + sha2 + aes for Armv8.4-A and up, and - sha2 + aes for Armv8.3-A and earlier. For AArch32: Crypto means sha2 + aes, because the Armv8.2-A crypto instructions were added to AArch64 only. Differential Revision: https://reviews.llvm.org/D50179
2018-10-04[RISCV][NFC] Remove dead CHECK lines from vararg.ll testAlex Bradbury
The RISCV32 check prefix is no longer used so these lines are dead.
2018-10-04[RISCV] Bugfix for floats passed on the stack with the ILP32 ABI on RV32FAlex Bradbury
f32 values passed on the stack would previously cause an assertion in unpackFromMemLoc.. This would only trigger in the presence of the F extension making f32 a legal type. Otherwise the f32 would be legalized. This patch fixes that by keeping LocVT=f32 when a float is passed on the stack. It also adds test coverage for this case, and tests that also demonstrate lw/sw/flw/fsw will be selected when most profitable. i.e. there is no unnecessary i32<->f32 conversion in registers.
2018-10-04[llvm-exegesis][NFC] Test sched class names only in !NDEBUG mode.Clement Courbet
Sched classes have no names in NDEBUG.
2018-10-04[X86] Merge matchANDXORWithAllOnesAsANDNP into ↵Craig Topper
combineANDXORWithAllOnesIntoANDNP. NFCI It's the only caller and the logic pretty easy to combine.
2018-10-04[CMake] Use just basename when copying C++ ABI headerslinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-master-nextPetr Hosek
This avoids duplicate directories when the filename includes path. Fixes PR39145 Differential Revision: https://reviews.llvm.org/D52762
2018-10-04[RISCV][NFC] Fix naming of RISCVISelLowering::{LowerRETURNADDR,LowerFRAMEADDR}linaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-master-stableAlex Bradbury
Rename to lowerRETURNADDR, lowerFRAMEADDR in order to be consistent with the LLVM coding style and the other functions in this file.
2018-10-04[llvm-exegesis] Unbreak analysis-uops-variant.test introduced in D52825Fangrui Song
A `defined(NDEBUG) && !defined(LLVM_ENABLE_DUMP)` build does not call writeEscaped and there will be no `SBWriteZeroLatency` in the output.
2018-10-04[LegalizeIntegerTypes] Fix typo in comment. NFCCraig Topper
2018-10-04Use std::make_pair rather than brace initialization.Matt Morehouse
r343732 broke the Windows bot. Seems like the compiler on that bot doesn't like brace initialization.
2018-10-04[ELF] Fix typo. NFCShoaib Meenai
2018-10-04[analyzer] [quickfix] Temporarily disabling a failing test.George Karpenkov
2018-10-03[WebAssembly] Add WebAssembly to LLVM_ALL_TARGETSDerek Schuff
Summary: After fixing memory leaks in rL343362 and rL343733 the sanitizer builds are clean and we should be good to build by default again. Differential Revision: https://reviews.llvm.org/D52850
2018-10-03[ELF] Fix crash on invalid undefined local symbolsShoaib Meenai
r320770 made LLD handle invalid DSOs where local symbols were found in the global part of the symbol table. Unfortunately, it didn't handle the case where those local symbols were also undefined, and r326242 exposed an assertion failure in that case. Just warn on that case instead of crashing, by moving the local binding check before the undefined symbol addition. The input file for the test is crafted by hand, since I don't know of any tool that would produce such a broken DSO. I also don't understand what it even means for a symbol to be undefined but have STB_LOCAL binding - I don't think that combination makes any sense - but we have found broken DSOs of this nature that we were linking against. I've included detailed instructions on how to produce the DSO in the test. Differential Revision: https://reviews.llvm.org/D52815
2018-10-03[llvm-nm] Update clang tests based on changed llvm-nm outputJordan Rupprecht
2018-10-03[llvm-nm] Update lld tests based on changed llvm-nm outputJordan Rupprecht