summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Test commit: adds a . to comment. NFCRon Lieberman2019-11-041-1/+1
|
* [AArch64] Update for ExynosEvandro Menezes2019-11-041-2/+4
| | | | Fix the costs of integer division.
* Add more binutils tools to LLVM_INSTALL_TOOLCHAIN_ONLY targetSam Clegg2019-11-041-0/+16
| | | | | | | | Also add the aliases for these tools so that LLVM_INSTALL_BINUTILS_SYMLINKS and LLVM_INSTALL_TOOLCHAIN_ONLY can work together. Differential Revision: https://reviews.llvm.org/D69635
* [AST][NFC] Fixes a comment typoMark de Wever2019-11-041-1/+1
| | | | Also a test for commit access.
* [AMDGPU] Added assert in SIFoldOperands before ptr use. NFC.Stanislav Mekhanoshin2019-11-041-0/+1
|
* [OPENMP][DOCS]Update list of implemented features, NFC.Alexey Bataev2019-11-041-2/+2
|
* Add release notes for commit ccc4d83cda16bea1d9dfd0967dc7d2cfb24b8e75.James Y Knight2019-11-041-1/+43
| | | | | (Which was "[ObjC] Diagnose implicit type coercion from ObjC 'Class' to object pointer types.")
* [OPENMP50]Support for imperfectly nested loops.Alexey Bataev2019-11-047-55/+246
| | | | Added support for imperfectly nested loops introduced in OpenMP 5.0.
* [LLDB][Python] remove ArgInfo::countLawrence D'Anna2019-11-045-88/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch updates the last user of ArgInfo::count and deletes it. I also delete `GetNumInitArguments()` and `GetInitArgInfo()`. Classess are callables and `GetArgInfo()` should work on them. On python 3 it already works, of course. `inspect` is good. On python 2 we have to add yet another special case. But hey if python 2 wasn't crufty we wouln't need python 3. I also delete `is_bound_method` becuase it is unused. This path is tested in `TestStepScripted.py` Reviewers: labath, mgorny, JDevlieghere Reviewed By: labath, JDevlieghere Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69742
* [AMDGPU] deduplicate tablegen predicatesStanislav Mekhanoshin2019-11-0411-38/+46
| | | | | | | | | | | | | | | We are duplicating predicates if several parts of the combined predicate list contain the same condition. Added code to deduplicate the list. We have AssemblerPredicates and AssemblerPredicate in the PredicateControl, but we never use AssemblerPredicates with an actual list, so this one is dropped. This addresses the first part of the llvm bug 43886: https://bugs.llvm.org/show_bug.cgi?id=43886 Differential Revision: https://reviews.llvm.org/D69815
* [demangle] NFC: get rid of NodeOrStringErik Pilkington2019-11-045-137/+38
| | | | | | This class was a bit overengineered, and was triggering some PVS warnings. Instead, put strings into a NameType and let clients unconditionally treat it as a Node.
* Remove unused variables, as suggested by @mcgov.Alexandre Ganea2019-11-041-3/+0
| | | | Fixes warning: unused variable 'XXX' [-Wunused-const-variable]
* Fix warning: format specifies type 'unsigned long' but the argument has type ↵Alexandre Ganea2019-11-041-0/+4
| | | | 'unsigned long long' [-Wformat]
* clang/Modules: Bring back optimization lost in 31e14f41a21fDuncan P. N. Exon Smith2019-11-042-5/+9
| | | | | | 31e14f41a21f9016050a20f07d5da03db2e8c13e accidentally dropped caching of failed module loads. This brings it back by making ModuleMap::getCachedModuleLoad return an Optional.
* [X86] Add support for -mvzeroupper and -mno-vzeroupper to match gccCraig Topper2019-11-049-111/+141
| | | | | | | | | | | | | | | | | -mvzeroupper will force the vzeroupper insertion pass to run on CPUs that normally wouldn't. -mno-vzeroupper disables it on CPUs where it normally runs. To support this with the default feature handling in clang, we need a vzeroupper feature flag in X86.td. Since this flag has the opposite polarity of the fast-partial-ymm-or-zmm-write we used to use to disable the pass, we now need to add this new flag to every CPU except KNL/KNM and BTVER2 to keep identical behavior. Remove -fast-partial-ymm-or-zmm-write which is no longer used. Differential Revision: https://reviews.llvm.org/D69786
* [SimplifyCFG] Use a (trivially) dominanting widenable branch to remove later ↵Philip Reames2019-11-042-0/+364
| | | | | | | | | | slow path blocks This transformation is a variation on the GuardWidening transformation we have checked in as it's own pass. Instead of focusing on merge (i.e. hoisting and simplifying) two widenable branches, this transform makes the observation that simply removing a second slowpath block (by reusing an existing one) is often a very useful canonicalization. This may lead to later merging, or may not. This is a useful generalization when the intermediate block has loads whose dereferenceability is hard to establish. As noted in the patch, this can be generalized further, and will be. Differential Revision: https://reviews.llvm.org/D69689
* [DAGCombine][MSP430] use shift amount threshold in DAGCombine (2/2)Sanjay Patel2019-11-042-83/+77
| | | | | | | | | | | | | | | | | Continuation of: D69116 Contributes to a fix for PR43559: https://bugs.llvm.org/show_bug.cgi?id=43559 See also D69099 and D69116 Use the TLI hook in DAGCombine.cpp to guard against creating shift nodes that are not optimal for a target. Patch by: @joanlluch (Joan LLuch) Differential Revision: https://reviews.llvm.org/D69120
* [lldb] [Process/NetBSD] Add register info for missing register setsMichał Górny2019-11-044-4/+64
| | | | | | | | | | | | | | | | | | | | | | Add info for all register sets supported in NetBSD, particularly for all registers 'expected' by LLDB. This is necessary in order to fix python_api/lldbutil/iter/TestRegistersIterator.py test that currently fails due to missing names of register sets (None). This copies fpreg descriptions from Linux, and combines Linux' AVX and MPX registers into a single XState group, to fit NetBSD register group design. Technically, we do not support MPX registers at the moment but gdb-remote insists on passing their errors anyway, and if we do not include it in any group, they end up in a separate anonymous group that breaks the test. While at it, swap the enums for XState and DBRegs to match register set ordering. This also adds a few consts to the lldb-x86-register-enums.h to provide more consistency between user registers and debug registers. Differential Revision: https://reviews.llvm.org/D69667
* [lit] Move measurement of testing time out of Run.executeJulian Lettner2019-11-042-10/+8
|
* [lit] Better/earlier errors when no tests are executedJulian Lettner2019-11-044-9/+29
| | | | Fail early, when we discover no tests at all, or filter out all of them.
* [ms] Fix Microsoft compatibility handling of commas in nested macro expansions.Eric Astor2019-11-042-10/+31
| | | | | | | | | | | | | | | | | | | In Microsoft-compatibility mode, single commas from nested macro expansions should not be considered as argument separators; we already emulated this by marking them to be ignored. However, in MSVC's preprocessor, subsequent expansions DO treat these commas as argument separators... so we now ignore each comma at most once. Includes a small unit test that validates we match MSVC's behavior as shown in https://gcc.godbolt.org/z/y0twaq Fixes PR43282 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69626
* [X86] Fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-0410-42/+42
|
* VirtualFileSystem - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-041-2/+2
|
* createMCObjectStreamer - fix uninitialized variable warning. NFCI.Simon Pilgrim2019-11-041-1/+1
|
* MCDwarfFile::DirIndex - fix uninitialized variable warning. NFCI.Simon Pilgrim2019-11-041-1/+1
|
* gn build: Merge 40d0d4e2335LLVM GN Syncbot2019-11-041-0/+1
|
* Fix static analysis warnings in ARM calling convention loweringOliver Stannard2019-11-041-22/+22
| | | | Fixes https://bugs.llvm.org/show_bug.cgi?id=43891
* Lower generic MASSV entries to PowerPC subtarget-specific entriesJinsong Ji2019-11-047-3/+816
| | | | | | | | | | | | | | | | | | | | | This patch (second of two patches) lowers the generic PowerPC vector entries to PowerPC subtarget-specific entries. For instance, the PowerPC generic entry 'cbrtd2_massv' is lowered to 'cbrtd2_P9' or Power9 subtarget. The first patch enables the vectorizer to recognize the IBM MASS vector library routines. This patch specifically adds support for recognizing the '-vector-library=MASSV' option, and defines mappings from IEEE standard scalar math functions to generic PowerPC MASS vector counterparts. For instance, the generic PowerPC MASS vector entry for double-precision 'cbrt' function is '__cbrtd2_massv' The overall support for MASS vector library is presented as such in two patches for ease of review. Patch by pjeeva01 (Jeeva P.) Differential Revision: https://reviews.llvm.org/D59883
* Recommit "[CodeView] Add option to disable inline line tables."Amy Huang2019-11-0410-11/+184
| | | | | | | | | | | | This reverts commit 004ed2b0d1b86d424643ffc88fce20ad8bab6804. Original commit hash 6d03890384517919a3ba7fe4c35535425f278f89 Summary: This adds a clang option to disable inline line tables. When it is used, the inliner uses the call site as the location of the inlined function instead of marking it as an inline location with the function location. https://reviews.llvm.org/D67723
* ELF: Discard .ARM.exidx sections for empty functions instead of misordering ↵Peter Collingbourne2019-11-042-5/+44
| | | | | | | | | | | | | | | them. The logic added in r372781 caused ARMExidxSyntheticSection::addSection() to return false for exidx sections without a link order dep that passed isValidExidxSectionDep(). This included exidx sections for empty functions. As a result, such exidx sections would end up treated like ordinary sections and would end up being laid out before the ARMExidxSyntheticSection, most likely in the wrong order relative to the exidx entries in the ARMExidxSyntheticSection, breaking the orderedness invariant relied upon by unwinders. Fix this by simply discarding such sections. Differential Revision: https://reviews.llvm.org/D69744
* [FPEnv][SelectionDAG] Refactor strict FP node constructionUlrich Weigand2019-11-041-23/+23
| | | | | | | | | | | Small refactoring in visitConstrainedFPIntrinsic that should make it easier to create DAG nodes requiring extra arguments. That is the case currently only for STRICT_FP_ROUND, but may be the case for additional nodes (in particular compares) in the future. Extracted from the patch for D69281. NFC.
* [Sema] Make helper in TreeTransform.h 'inline' instead of 'static'. NFCIlya Biryukov2019-11-041-1/+1
| | | | | | | | | | | | | | | | | Summary: There seems to be no evidence that having internal linkage for the function was intentional. Since 'static' functions are normally used only in .cpp files, using 'inline' in the header file is more appropriate. Reviewers: Anastasia Reviewed By: Anastasia Subscribers: merge_guards_bot, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69242
* Fix buildbots troubled by b7b170c.Jonas Paulsson2019-11-043-0/+3
| | | | Add '# REQUIRES: systemz-registered-target' in the new tests.
* [SLP]Fix PR43799: Crash on different sizes of GEP indices.Alexey Bataev2019-11-042-2/+45
| | | | | | | | | | | | | | | Summary: If the GEP instructions are going to be vectorized, the indices in those GEP instructions must be of the same type. Otherwise, the compiler may crash when trying to build the vector constant. Reviewers: RKSimon, spatel Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69627
* [X86] Convert ShrinkMode to scoped enum class. NFCI.Simon Pilgrim2019-11-041-11/+15
|
* AliasSetTracker - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-041-2/+2
|
* [Diagnostics] Improve some error messages related to bad use of dynamic_castDávid Bolvanský2019-11-044-11/+11
|
* [test] Use system locale for mri-utf8.testThomas Preud'homme2019-11-042-23/+21
| | | | | | | | | | | | | | | | | | | | | | | Summary: llvm-ar's mri-utf8.test test relies on the en_US.UTF-8 locale to be installed for its last RUN line to work. If not installed, the unicode string gets encoded (interpreted) as ascii which fails since the most significant byte is non zero. This commit changes the test to only rely on the system being able to encode the pound sign in its default encoding (e.g. UTF-16 for Microsoft Windows) by always opening the file via input/output redirection. This avoids forcing a given locale to be present and supported. A Byte Order Mark is also added to help recognizing the encoding of the file and its endianness. Finally the XFAIL on system-darwin is removed since the test actually passes fine on Mac OS X and XFAIL was only added because it failed before. Reviewers: gbreynoo, MaskRay, rupprecht, JamesNagurne, jfb Subscribers: dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68472
* [SystemZ] Use LivePhysRegs instead of isCCLiveOut() in SystemZElimCompare.cppJonas Paulsson2019-11-041-9/+4
| | | | | Review: Ulrich Weigand https://reviews.llvm.org/D68267
* [MachineVerifier] Improve verification of live-in lists.Jonas Paulsson2019-11-045-0/+151
| | | | | | | | | | | | | | | | | MachineVerifier::visitMachineFunctionAfter() is extended to check the live-through case for live-in lists. This is only done for registers without aliases and that are neither allocatable or reserved, such as the SystemZ::CC register. The MachineVerifier earlier only catched the case of a live-in use without an entry in the live-in list (as "using an undefined physical register"). A comment in LivePhysRegs.h has been added stating a guarantee that addLiveOuts() can be trusted for a full register both before and after register allocation. Review: Quentin Colombet https://reviews.llvm.org/D68267
* SanitizerMask::bitPosToMask - fix operator precedence warnings. NFCI.Simon Pilgrim2019-11-041-4/+5
| | | | Fix static analyzer operator precedence warnings with suitable bracketing. Pull out the mask generation code so clang-format doesn't make such a mess of it.
* [X86] Regenerate known-signbits-vector.ll tests.Simon Pilgrim2019-11-041-166/+153
| | | | Use X86 instead of X32 and add a common CHECK prefix
* [OpenCL] Fix FileCheck patternSven van Haastregt2019-11-041-1/+1
| | | | | For this test, FileCheck is not run with the CHECK prefix; it seems COMMON was intended here.
* [ARM] Use isFMAFasterThanFMulAndFAdd for MVEDavid Green2019-11-044-37/+41
| | | | | | | | | | | | | | | The Arm backend will usually return false for isFMAFasterThanFMulAndFAdd, where both the fused VFMA.f32 and a non-fused VMLA.f32 are usually available for scalar code. For MVE we don't have the non-fused version though. It makes more sense for isFMAFasterThanFMulAndFAdd to return true, allowing us to simplify some of the existing ISel patterns. The tests here are that non of the existing tests failed, and so we are still selecting VFMA and VFMS. The one test that changed shows we can now select from fast math flags, as opposed to just relying on the isFMADLegalForFAddFSub option. Differential Revision: https://reviews.llvm.org/D69115
* [IR] adjust assert when replacing undef elements in vector constantSanjay Patel2019-11-041-1/+1
| | | | | | | | | | As noted in follow-up to: rGa1e8ad4f2fa7 It's not safe to assume that an element of the constant is always non-null. It's definitely not an expected case for the current instcombine user, but that may not hold if this function is eventually called from arbitrary places.
* Fix compilation warning. NFC.Michael Liao2019-11-041-2/+2
|
* [SystemZ] Fix typoUlrich Weigand2019-11-041-1/+1
| | | | Typo in comment. NFC.
* gn build: (manually) merge 51b4b17ebNico Weber2019-11-044-11/+14
| | | | | Also reverts r353980 since that duplicated the GenAsmMatcher target for AArch64. Instead use visiblity.
* gn build: run "gn format"Nico Weber2019-11-042-2/+2
|
* gn build: add deps, see discussion on D69130Nico Weber2019-11-042-0/+2
|
OpenPOWER on IntegriCloud