summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Reassociation] Place moved instructions after landing padsDavid Greene2019-05-083-1/+118
| | | | | | | | | | | | | | | | | Reassociation's NegateValue moved instructions to the beginning of blocks (after PHIs) without checking for exception handling pads. It's possible for reassociation to move something into an exception handling block so we need to make sure we don't move things too early in the block. This change advances the insertion point past any exception handling pads. If the block we want to move into contains a catchswitch, we cannot move into it. In that case just create a new neg as if we had not found an existing neg to move. Differential Revision: https://reviews.llvm.org/D61089 llvm-svn: 360262
* [ASTImporter] Fix inequivalence of unresolved exception specGabor Marton2019-05-082-17/+36
| | | | | | | | | | | | | | | | | | Summary: Structural equivalence of methods can falsely report false when the exception specifier is unresolved (i.e unevaluated or not instantiated). (This caused one assertion during bitcoin ctu-analysis.) Reviewers: a_sidorin, shafik, a.sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61424 llvm-svn: 360261
* Revert "[ValueTracking] Improve isKnowNonZero for Ints"Nikita Popov2019-05-084-19/+25
| | | | | | | | | This reverts commit 3b137a495686bd6018d115ea82fb8bb7718349fd. As reported in https://reviews.llvm.org/D60846, this is causing miscompiles. llvm-svn: 360260
* [Support] Fix unit test for fs::is_localPetar Jovanovic2019-05-081-0/+1
| | | | | | | | | | | | | Close the temporary file after the test is done using it. If it is not closed and the file was created on NFS, it will cause the test to fail. The problem happens in the cleanup process afterwards. It first tries to delete the file but it is not really deleted. Afterwards, the program fails to delete the directory containing the file, causing the whole test to fail. Patch by Milos Stojanovic. llvm-svn: 360259
* [Sema][OpenCL] Make address space conversions a bit stricter.Anastasia Stulova2019-05-089-30/+179
| | | | | | | | | | | | | | | | | | | | | | | | The semantics for converting nested pointers between address spaces are not very well defined. Some conversions which do not really carry any meaning only produce warnings, and in some cases warnings hide invalid conversions, such as 'global int*' to 'local float*'! This patch changes the logic in checkPointerTypesForAssignment and checkAddressSpaceCast to fail properly on implicit conversions that should definitely not be permitted. We also dig deeper into the pointer types and warn on explicit conversions where the address space in a nested pointer changes, regardless of whether the address space is compatible with the corresponding pointer nesting level on the destination type. Fixes PR39674! Patch by ebevhan (Bevin Hansson)! Differential Revision: https://reviews.llvm.org/D58236 llvm-svn: 360258
* [clang-format] Fix the crash when formatting unsupported encodingsOwen Pan2019-05-081-0/+30
| | | | | | | | Fixes PR33946 Differential Revision: https://reviews.llvm.org/D61559 llvm-svn: 360257
* [clang] Fix a bug that reports UTF32 (LE) files as UTF16 (LE) onesOwen Pan2019-05-081-3/+3
| | | | | | | | Also fix a typo for the SCSU byte order mark. Differential Revision: https://reviews.llvm.org/D61628 llvm-svn: 360256
* [ADT] SmallVector::set_size - fix Wdocumentation. NFCI.Simon Pilgrim2019-05-081-3/+3
| | | | | | Also fixes a Wshadow warning on MSVC. llvm-svn: 360255
* Allow test to pass after 2030.Aaron Ballman2019-05-081-2/+2
| | | | | | Patch by Bernhard M. Wiedemann. llvm-svn: 360254
* gn build: Merge r360151Nico Weber2019-05-082-0/+2
| | | | llvm-svn: 360253
* [NFC]Fix British English -> American English issuesJames Henderson2019-05-081-2/+2
| | | | llvm-svn: 360252
* [llvm-objcopy] Improve error message for unrecognised archive memberJames Henderson2019-05-082-6/+51
| | | | | | | | | | | | | | Prior to this patch, llvm-objcopy's error messages for archives with unsupported members only mentioned the archive name, not the member name, making them unhelpful. This change improves it by approximately following GNU objcopy's error message syntax of "<archive name>(<member name>): <problem>". Reviewed by: grimar Differential Revision: https://reviews.llvm.org/D61674 llvm-svn: 360251
* Allow 'static' storage specifier on an out-of-line class member template ↵Aaron Ballman2019-05-082-2/+16
| | | | | | | | declaration in MSVCCompat mode. Patch by Soumi Manna. llvm-svn: 360250
* [libclang] PR41649: Remove pointless duplicate flag. NFC.Nikolai Kosjar2019-05-081-3/+2
| | | | llvm-svn: 360249
* Fix whitespace mismatches. NFCI.Simon Pilgrim2019-05-081-5/+5
| | | | | | Tabs are not our friends. llvm-svn: 360248
* Documentation for bugprone-inaccurate-erase: added an example of a bug that ↵Dmitri Gribenko2019-05-081-0/+16
| | | | | | | | | | | | | | this checker catches Reviewers: alexfh Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61644 llvm-svn: 360247
* [DWARF] Centralize user_id <-> DWARFDIE conversionsPavel Labath2019-05-086-114/+55
| | | | | | | | | | | | | | | | | | | | | | | Summary: The logic for translating a user_id into a DWARFDIE was replicated in several places. This removes that redundancy and settles on a single implementation in SymbolFileDWARF. The reason for choosing that instead of DIERef was that we were always immediately converting the returned DIERef into a DWARFDIE anyway, which meant that one had to specify the SymbolFileDWARF argument twice (once to get the DIERef, and once to get the actual DIE). Also, passing a higher-level object (SymbolFileDWARF) into a lower-level one (DIERef) seemed like a less intuitive arrangement than doing things the other way around. Reviewers: JDevlieghere, clayborg, aprantl Subscribers: tberghammer, jankratochvil, lldb-commits Differential Revision: https://reviews.llvm.org/D61648 llvm-svn: 360246
* [LegalizeDAG] Assert non-power-of-2 load/store op splits are in range. NFCI.Simon Pilgrim2019-05-081-2/+6
| | | | | | Fixes static analyzer undefined/out-of-range shift warnings. llvm-svn: 360245
* [Hexagon] Fix cppcheck reduce variable scope warnings. NFCI.Simon Pilgrim2019-05-081-5/+3
| | | | | | Also fixes a static analyzer "Value stored to 'S2' during its initialization is never read" warning. llvm-svn: 360244
* [MCA] Don't add a name to the default code region.Andrea Di Biagio2019-05-084-6/+5
| | | | | | This is done in preparation for a patch that fixes PR41523. llvm-svn: 360243
* ARM: disallow SP as Rn for Thumb2 TST & TEQ instructionsTim Northover2019-05-084-18/+31
| | | | | | | | Using SP in this position is unpredictable in ARMv7. CMP and CMN are not affected, and of course v8 relaxes this requirement, but that's handled elsewhere. llvm-svn: 360242
* [VPlan] Fix "value never used" static analyzer warning. NFCI.Simon Pilgrim2019-05-081-2/+1
| | | | llvm-svn: 360241
* [MCA] Slightly refactor CodeRegion.h. NFCIAndrea Di Biagio2019-05-082-24/+22
| | | | | | Also, use a SmallVector instead of a std::vector for the code region. llvm-svn: 360240
* R600InstrInfo.cpp - Add getTransSwizzle assert for the swizzle op index. NFCI.Simon Pilgrim2019-05-081-0/+1
| | | | | | Fixes static analyzer undefined value warning. llvm-svn: 360239
* [polly][SCEV] Expand SCEV matcher cases for new smin/umin opsKeno Fischer2019-05-085-1/+61
| | | | | | | These were added in rL360159, but I neglected to update polly at the same time. llvm-svn: 360238
* [MCA] Remove dead assignment. NFCAndrea Di Biagio2019-05-081-1/+0
| | | | llvm-svn: 360237
* [SIMode] Fix typo in Status constructorSimon Pilgrim2019-05-081-1/+1
| | | | | | | | As noted in https://www.viva64.com/en/b/0629/ (Snippet No. 36) and the scan-build CI reports (https://llvm.org/reports/scan-build/report-SIModeRegister.cpp-Status-1-1.html#EndPath), rL348754 introduced a typo in the Status constructor due to argument variable names shadowing the member variable names. Differential Revision: https://reviews.llvm.org/D61595 llvm-svn: 360236
* [DebugInfo] Fix use-after-move warning. NFCI.Simon Pilgrim2019-05-081-1/+1
| | | | | | Don't rely on DWARFAbbreviationDeclarationSet::extract cleaning the struct up for reuse - the analyzers don't like it. llvm-svn: 360235
* Fix cppcheck operator precedence warning. NFCI.Simon Pilgrim2019-05-081-2/+2
| | | | llvm-svn: 360234
* [llvm-objcopy] Add --prefix-alloc-sectionsJames Henderson2019-05-088-10/+146
| | | | | | | | | | | | | | | | This patch adds support for --prefix-alloc-sections, which adds a prefix to every allocated section names. It adds a prefix after renaming section names by --rename-section as GNU objcopy does. Fixes PR41266: https://bugs.llvm.org/show_bug.cgi?id=41266 Differential Revision: https://reviews.llvm.org/D60042 Patch by Seiya Nuta. llvm-svn: 360233
* [SCCP] Fix crash when trying to constant-fold terminators multiple times.Florian Hahn2019-05-082-1/+103
| | | | | | | | | | | | | | If we fold a branch/switch to an unconditional branch to another dead block we replace the branch with unreachable, to avoid attempting to fold the unconditional branch. Reviewers: davide, efriedma, mssimpso, jdoerfert Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D61300 llvm-svn: 360232
* [clang-tidy] Do not show incorrect fix in modernize-make-uniqueIlya Biryukov2019-05-082-2/+11
| | | | | | | | | | | | | | | | | | Summary: The case when initialize_list hides behind an implicit case was not handled before. Reviewers: aaron.ballman Reviewed By: aaron.ballman Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61642 llvm-svn: 360231
* [CMake] Install import librariesMartin Storsjo2019-05-081-16/+3
| | | | | | | | | | | | Simplify the cmake logic to install both runtime and import libraries (treated as ARCHIVE), as the later are needed to link against llvm. Patch by Julien Schueller! Differential Revision: https://reviews.llvm.org/D61425 llvm-svn: 360230
* [NFC][PowerPC] Add test for store combine optimization.QingShan Zhang2019-05-081-0/+793
| | | | llvm-svn: 360229
* [CodeGenPrepare] Don't split the store if it is volatileQingShan Zhang2019-05-082-0/+21
| | | | | | | | We shouldn't split the store when it is volatile. Differential Revision: https://reviews.llvm.org/D61169 llvm-svn: 360228
* [llvm-objcopy] - Fix for "Bug 41775 - SymbolTableSection::addSymbol - shadow ↵George Rimar2019-05-082-3/+3
| | | | | | | | | | | | | | | | | | | variable names" This is a fix for https://bugs.llvm.org/show_bug.cgi?id=41775, Problem is in the final line: Size += this->EntrySize; I checked that we do not actually need it in this place, since we always call removeSectionReferences which calls removeSymbols which updates the Size. But it worth to keep it, that allows to relax the dependencies. Differential revision: https://reviews.llvm.org/D61636 llvm-svn: 360227
* [NFC] Add a static function to do the endian checkQingShan Zhang2019-05-081-15/+37
| | | | | | | | Add a new function to do the endian check, as I will commit another patch later, which will also need the endian check. Differential Revision: https://reviews.llvm.org/D61236 llvm-svn: 360226
* Fix for the greendragon bots.Leonard Chan2019-05-082-2/+4
| | | | | | Adds extra checks for ObjC GC and Ownership. llvm-svn: 360225
* [Sema] Correct typos in return statements so the return types of 'auto' ↵Sam McCall2019-05-082-2/+19
| | | | | | | | | | | | | | | | | | | | | functions are always deduced. Summary: e.g. auto foo() { return no_such_thing; // Return value is a TypoExpr } using T = decltype(foo()); // Uh-oh, undeduced auto. Reviewers: rsmith Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61649 llvm-svn: 360224
* [llvm] Avoid div by 0 when updating profile weights.Mircea Trofin2019-05-082-0/+188
| | | | | | | | | | | | | | Reviewers: davidxl Reviewed By: davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61661 llvm-svn: 360223
* [ValueTracking] Improve isKnowNonZero for IntsDan Robertson2019-05-084-25/+19
| | | | | | | | | Improve isKnownNonZero for integers in order to improve cttz optimizations. Differential Revision: https://reviews.llvm.org/D60846 llvm-svn: 360222
* [Support] Add error handling to sys::Process::getPageSize().Lang Hames2019-05-0812-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the return type of sys::Process::getPageSize to Expected<unsigned> to account for the fact that the underlying syscalls used to obtain the page size may fail (see below). For clients who use the page size as an optimization only this patch adds a new method, getPageSizeEstimate, which calls through to getPageSize but discards any error returned and substitues a "reasonable" page size estimate estimate instead. All existing LLVM clients are updated to call getPageSizeEstimate rather than getPageSize. On Unix, sys::Process::getPageSize is implemented in terms of getpagesize or sysconf, depending on which macros are set. The sysconf call is documented to return -1 on failure. On Darwin getpagesize is implemented in terms of sysconf and may also fail (though the manpage documentation does not mention this). These failures have been observed in practice when highly restrictive sandbox permissions have been applied. Without this patch, the result is that getPageSize returns -1, which wreaks havoc on any subsequent code that was assuming a sane page size value. <rdar://problem/41654857> Reviewers: dblaikie, echristo Subscribers: kristina, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D59107 llvm-svn: 360221
* Fix buildbot break after r360195Nemanja Ivanovic2019-05-081-0/+2
| | | | llvm-svn: 360220
* [Docs] Fix incorrect heading and update titles.Jonas Devlieghere2019-05-083-9/+9
| | | | | | | | This patch fixes two incorrect headings in source.rst which caused it to show up on the homepage. I also updated the titles to have more sensible links there. llvm-svn: 360219
* [Docs] Re-order homepage: Download -> Build -> TestJonas Devlieghere2019-05-082-14/+17
| | | | | | I also reformatted some paragraphs to 80 cols. llvm-svn: 360218
* Split ActOnCallExpr into an ActOnCallExpr to be called by the parser,Richard Smith2019-05-0810-23/+32
| | | | | | | and a BuildCallExpr to be called internally within Sema to build / rebuild calls. llvm-svn: 360217
* Propagate command interpreter errors from lldlbinitJonas Devlieghere2019-05-0811-8/+48
| | | | | | | | | | | | | | This patch ensures that we propagate errors coming from the lldbinit file trough the command/script interpreter. Before, if you did something like command script import syntax_error.py, and the python file contained a syntax error, lldb wouldn't tell you about it. This changes with the current patch: errors are now propagated by default. PS: Jim authored this change and I added testing. Differential revision: https://reviews.llvm.org/D61579 llvm-svn: 360216
* [libFuzzer] extend the test for data flow tracer and coverage; also ↵Kostya Serebryany2019-05-081-1/+11
| | | | | | hopefully fix it on the bot llvm-svn: 360215
* [hip] Fix ambiguity from `>>>` of CUDA.Michael Liao2019-05-082-1/+14
| | | | | | | | | | | | | | | | | Summary: - For template arguments ending with `>>>`, we should cease lookahead and treat it as type-id firstly, so that deduction could work properly. Reviewers: tra, yaxunl Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61396 llvm-svn: 360214
* [libFuzzer] extend the data flow tracer to also produce basic block coverage ↵Kostya Serebryany2019-05-085-41/+116
| | | | | | for every input. An extended test coming in a separte change. llvm-svn: 360213
OpenPOWER on IntegriCloud