summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ELF: Stop collecting a list of symbols in ArchiveFile.Peter Collingbourne2018-02-167-30/+27
| | | | | | | | | | | | There seems to be no reason to collect this list of symbols. Also fix a bug where --exclude-libs would apply to all symbols that appear in an archive's symbol table, even if the relevant archive member was not added to the link. Differential Revision: https://reviews.llvm.org/D43369 llvm-svn: 325380
* Don't depend on "call foo" producing a X86_64_PC32.Rafael Espindola2018-02-1611-32/+54
| | | | | | | | | | Newer versions of the gnu assembler produce a X86_64_PLT32 for calls. There is a change under review in llvm to do the same, so update the tests to not depend on it. We can still produce a R_X86_64_PC32 with ".long foo - .". llvm-svn: 325379
* [AArch64] Fix BITCAST lowering crashEvandro Menezes2018-02-162-1/+30
| | | | | | | | | | | The data type is assumed to be a vector, but sometimes it is not, leading to an assertion. Add simple test-case to verify this. Differential revision: https://reviews.llvm.org/D42599 llvm-svn: 325378
* Style fix. NFC.Rui Ueyama2018-02-162-33/+33
| | | | llvm-svn: 325377
* [WebAssembly] Fix bug is function signature checkingSam Clegg2018-02-163-37/+39
| | | | | | | | | | This bug effected undefined symbols that were resolved by existing defined symbols. We were skipping the signature check in this case. Differential Revision: https://reviews.llvm.org/D43399 llvm-svn: 325376
* [MS] Make constexpr static data members implicitly inlineReid Kleckner2018-02-162-5/+37
| | | | | | | | | | | | | | This handles them exactly the same way that we handle const integral static data members with inline definitions, which is what MSVC does. As a follow-up, now that we have a way to mark variables inline in the AST, we should consider marking them implicitly inline there instead of only treating them as inline in CodeGen. Unfortunately, this breaks a lot of dllimport test cases, so that is future work for now. Fixes PR36125. llvm-svn: 325375
* [Documentation] Fix Sphinx error. Limit text width to 80 characters.Eugene Zelenko2018-02-161-10/+12
| | | | llvm-svn: 325374
* [OPENMP] Fix PR35873: Fix data-sharing attributes for const variables.Alexey Bataev2018-02-162-4/+4
| | | | | | | Compiler erroneously returned wrong data-sharing attributes for the constant variables if they have explictly specified attributes. llvm-svn: 325373
* AMDGPU/SI: Extend promoting alloca to vector to arrays of up to 16 elementsChangpeng Fang2018-02-168-28/+41
| | | | | | | | | | | | | | Summary: This patch extends the promotion of alloca to vector to the arrays of up to 16 elements. Also we introduce an option, -disable-promote-alloca-to-vector, to switch promotion to vector off, if needed. Reviewers: arsenm Differential Revision: https://reviews.llvm.org/D33559 llvm-svn: 325372
* [X86] Only reorder srl/and on last DAG combiner runCraig Topper2018-02-165-30/+41
| | | | | | | | | | This seems to interfere with a target independent brcond combine that looks for the (srl (and X, C1), C2) pattern to enable TEST instructions. Once we flip, that combine doesn't fire and we end up exposing it to the X86 specific BT combine which causes us to emit a BT instruction. BT has lower throughput than TEST. We could try to make the brcond combine aware of the alternate pattern, but since the flip was just a code size reduction and not likely to enable other combines, it seemed easier to just delay it until after lowering. Differential Revision: https://reviews.llvm.org/D43201 llvm-svn: 325371
* [WebAssembly] Fix typos in comment. NFC.Sam Clegg2018-02-161-3/+3
| | | | | | Patch by Nicholas Wilson! llvm-svn: 325370
* [OPENMP] Fix parsing of the directives with inner directives.Alexey Bataev2018-02-164-6/+20
| | | | | | | The parsing may lead to compiler hanging because of the incorrect processing of inner OpenMP pragmas. llvm-svn: 325369
* [X86] Remove call to ShrinkDemandedCosntant from the SHRUNKBLEND creation code.Craig Topper2018-02-161-2/+1
| | | | | | We only run this code if know the condition isn't a constant vector. ShrinkDemandedConstant isn't going to find any different. llvm-svn: 325368
* [WebAssembly] MC: Make explicit our current lack of support for relocations ↵Sam Clegg2018-02-163-6/+34
| | | | | | | | | | | | against unnamed temporary symbols. Add an explicit check before looking up symbol in SymbolIndices. This was previously silently succeeding and returning zero for such unnamed temporaries. Differential Revision: https://reviews.llvm.org/D43365 llvm-svn: 325367
* [InstCombine] clean up fdiv-with-fdiv folds; NFCISanjay Patel2018-02-161-28/+23
| | | | llvm-svn: 325366
* [InstCombine] add FMF to better show current fdiv fold behavior; NFCSanjay Patel2018-02-161-4/+4
| | | | llvm-svn: 325365
* Clean up 'target' attribute diagnosticsErich Keane2018-02-165-15/+28
| | | | | | | | | | | | | | There were a few issues previously with the target attribute diagnostics implementation that lead to the attribute being added to the AST despite having an error in it. This patch changes that, and adds a test to ensure it does not get added to the AST. Differential Revision: https://reviews.llvm.org/D43359 llvm-svn: 325364
* Fix signed/unsigned comparison warning. NFCI.Simon Pilgrim2018-02-161-1/+1
| | | | llvm-svn: 325363
* [ThinLTO] Fix data race in test #2Eugene Leviant2018-02-161-1/+1
| | | | | | Switched to the right option (-thinlto-threads) llvm-svn: 325362
* [ThinLTO] Fix data race in testEugene Leviant2018-02-161-1/+1
| | | | llvm-svn: 325361
* Simplify RelocationBaseSection::addReloc.Rafael Espindola2018-02-163-16/+12
| | | | | | | | Now that we have R_ADDEND, UseSymVA was redundant. We only want to write the symbol virtual address when using an expression other than R_ADDEND. llvm-svn: 325360
* Fix signed/unsigned comparison warning. NFCI.Simon Pilgrim2018-02-161-3/+3
| | | | llvm-svn: 325359
* [InstCombine] remove redundant debug info setting; NFCSanjay Patel2018-02-161-2/+0
| | | | | | The IRBuilder sets debuginfo in Insert(), so this was duplicating what already happened. llvm-svn: 325358
* [clangd] Include timestamps in log messages.Sam McCall2018-02-161-9/+9
| | | | llvm-svn: 325357
* [JumpThreading] PR36133 enable/disable DominatorTree for LVI analysisBrian M. Rzycki2018-02-166-1/+123
| | | | | | | | | | | | | | | | | | | | | | Summary: The LazyValueInfo pass caches a copy of the DominatorTree when available. Whenever there are pending DominatorTree updates within JumpThreading's DeferredDominance object we cannot use the cached DT for LVI analysis. This commit adds the new methods enableDT() and disableDT() to LVI. JumpThreading also sets the appropriate usage model before calling LVI analysis methods. Fixes https://bugs.llvm.org/show_bug.cgi?id=36133 Reviewers: sebpop, dberlin, kuhar Reviewed by: sebpop, kuhar Subscribers: uabelho, llvm-commits, aprantl, hiraditya, a.elovikov Differential Revision: https://reviews.llvm.org/D42717 llvm-svn: 325356
* AMDGPU/SI: Turn off GPR Indexing Mode immediately after the interested ↵Changpeng Fang2018-02-162-77/+46
| | | | | | | | | | | | | | | | | | instruction. Summary: In the current implementation of GPR Indexing Mode when the index is of non-uniform, the s_set_gpr_idx_off instruction is incorrectly inserted after the loop. This will lead the instructions with vgpr operands (v_readfirstlane for example) to read incorrect vgpr. In this patch, we fix the issue by inserting s_set_gpr_idx_on/off immediately around the interested instruction. Reviewers: rampitec Differential Revision: https://reviews.llvm.org/D43297 llvm-svn: 325355
* [SelectionDAG] Enable SimplifyDemandedVectorElts support for simplifying ↵Simon Pilgrim2018-02-164-55/+56
| | | | | | | | | | shuffle masks Based off the DemandedElts mask the and UNDEF elements returned from the SimplifyDemandedVectorElts calls to the shuffle operands, we can attempt to simplify the shuffle mask. I had to be very conservative here as accepting post-legalized shuffle masks could cause problems for targets that legalize UNDEF mask elements back to inrange values (PowerPC), similarly combining to identity shuffle masks could cause too much UNDEF information to disappear for later combines. llvm-svn: 325354
* [InstCombine] reduce code duplication; NFCSanjay Patel2018-02-161-31/+19
| | | | llvm-svn: 325353
* Use Token::isOneOf method in Parser.Frederich Munch2018-02-161-3/+3
| | | | | | | | | | | | | | Summary: Easier to read and possibly optimize. Reviewers: rsmith, sepavloff Reviewed By: sepavloff Subscribers: sepavloff, cfe-commits Differential Revision: https://reviews.llvm.org/D36701 llvm-svn: 325352
* [ARM] Add tests for the vcvtr builtinsSjoerd Meijer2018-02-162-22/+53
| | | | | | | | | This adds Sema and Codegen tests for the vcvtr builtins (because they were missing). Differential Revision: https://reviews.llvm.org/D43372 llvm-svn: 325351
* [X86][SSE] Allow float domain crossing if we are merging 2 or more shuffles ↵Simon Pilgrim2018-02-166-43/+27
| | | | | | and the root started as a float domain shuffle llvm-svn: 325349
* [PowerPC] Fix transform in table gen file causing UBNemanja Ivanovic2018-02-161-1/+1
| | | | | | | | Running a bootstrap build with UBSan produces a number of instances where we have signed integer overflow due to this transform. Change the type to long to prevent this UB on 64-bit build machines. llvm-svn: 325347
* [clangd] remove redundant ';' introduced in r325343Eric Liu2018-02-161-1/+1
| | | | llvm-svn: 325346
* Add initial XRay support for NetBSDKamil Rytarowski2018-02-163-4/+5
| | | | | | | | | | | | | | | | | | | Summary: Reuse the existing FreeBSD code as it is. Sponsored by <The NetBSD Foundation> Reviewers: dberris, rnk, vitalybuka Reviewed By: dberris Subscribers: mclow.lists, emaste, mgorny, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D43370 llvm-svn: 325345
* [clangd] collect symbol #include & insert #include in global code completion.Eric Liu2018-02-1627-39/+1457
| | | | | | | | | | | | | | | | | | Summary: o Collect suitable #include paths for index symbols. This also does smart mapping for STL symbols and IWYU pragma (code borrowed from include-fixer). o For global code completion, add a command for inserting new #include in each code completion item. Reviewers: sammccall Reviewed By: sammccall Subscribers: klimek, mgorny, ilya-biryukov, jkorous-apple, hintonda, cfe-commits Differential Revision: https://reviews.llvm.org/D42640 llvm-svn: 325343
* [Coroutines] Use target-agnostic size_t in testBrian Gesiak2018-02-161-6/+6
| | | | | | | | | | | | | | | | Summary: Fix a test failure on ARM hosts that was caused by a difference in the type of size_t, by using a target-agnostic definiton. Test Plan: ``` clang -cc1 -internal-isystem build/lib/clang/7.0.0/include -nostdsysteminc \ -std=c++14 -fcoroutines-ts -verify clang/test/SemaCXX/coroutines.cpp \ -fcxx-exceptions -fexceptions \ -triple armeb-none-eabi ``` llvm-svn: 325342
* [mips] Remove codegen support from some 16 bit instructionsSimon Dardis2018-02-167-331/+271
| | | | | | | | | | | | These instructions conflict with their full length variants for the purposes of FastISel as they cannot be distingushed based on the number and type of operands and predicates. Reviewers: atanasyan Differential Revision: https://reviews.llvm.org/D41285 llvm-svn: 325341
* Shorten socket names in TestPlatformProcessConnectPavel Labath2018-02-161-3/+3
| | | | | | | | | | | The test was generating long unix socket names, and the addition of a new folder in the previous patch pushed it over the limit (although linux has a fairly generous limit for path names, this does not apply to unix sockets). Modify the test to use a shorter name instead. llvm-svn: 325340
* Re-enable lang/objc/modules/TestObjCModulesJonas Devlieghere2018-02-161-4/+0
| | | | | | | | The reason this test was disabled is no longer relevant. However, it didn't turn into an unexpected success because of a syntax error in the test itself. This commit fixes that and re-enables the test. llvm-svn: 325339
* [SelectionDAG] Add initial SimplifyDemandedVectorElts support for ↵Simon Pilgrim2018-02-162-4/+20
| | | | | | | | simplifying VSELECT operands This just adds a basic pass through - we can add constant selection mask handling in a future patch to fully match InstCombine. llvm-svn: 325338
* [clangd] Assert path is absolute when assigning to URIForFile.Ilya Biryukov2018-02-164-27/+38
| | | | | | | | | | | | | | | | Summary: The assertion will point directly to misbehaving code, so that debugging related problems (like the one fixed by r325029) is easier. Reviewers: hokein, ioeric, sammccall Reviewed By: sammccall Subscribers: klimek, jkorous-apple, cfe-commits Differential Revision: https://reviews.llvm.org/D43246 llvm-svn: 325337
* [clang-format] Enable google text proto formatting in R"proto('sKrasimir Georgiev2018-02-161-0/+2
| | | | llvm-svn: 325336
* Revert r325321 "[Sema] Take into account the current context when checking the"Hans Wennborg2018-02-162-40/+0
| | | | | | | | | | | | | | This broke the Chromium build, see https://crbug.com/813017 > accessibility of a class member. > > This fixes PR32898. > > rdar://problem/33737747 > > Differential revision: https://reviews.llvm.org/D36918 llvm-svn: 325335
* Fix paralelization of remote testsPavel Labath2018-02-161-1/+1
| | | | | | | | | | Since we now can run multiple tests from the same directory at once, we need to include the test name in the remote test directory instead. I'm not sure if the test_number in the remote path is necessary anymore (or even if it was ever necessary), but I choose to leave it in for now. llvm-svn: 325334
* [ELF] Extend symbol-order-warnings test case for ICFJames Henderson2018-02-161-1/+19
| | | | | | | | | | | | Reviewed by: rafael Differential Revision: https://reviews.llvm.org/D43336 There is some discussion as to the exact behaviour of combining ICF and --symbol-ordering-file, but it seems beneficial to warn when attempting to order the removed symbol regardless of the preferred approach. llvm-svn: 325333
* [ELF] - Fix comment. NFC.George Rimar2018-02-161-1/+1
| | | | | | Addresses forgotten comment for D43071. llvm-svn: 325332
* [ELF] - Support COPY, INFO, OVERLAY output sections attributes.George Rimar2018-02-164-4/+47
| | | | | | | | | | | | | | This is PR36298. (COPY), (INFO), (OVERLAY) all have the same effect: section should be marked as non-allocatable. (https://www.eecs.umich.edu/courses/eecs373/readings/Linker.pdf, 3.6.8.1 Output Section Type) Differential revision: https://reviews.llvm.org/D43071 llvm-svn: 325331
* [Transforms] Propagate TBAA info in SROAIvan A. Kosarev2018-02-162-173/+335
| | | | | | | | | | | | | | | Now that we have the new TBAA metadata format that is capable of representing accesses to aggregates, we can propagate TBAA access tags from memory setting and transferring intrinsics to load and store instructions and vice versa. Since SROA produces lots of new loads and stores on optimized builds, this change significantly decreases the share of undecorated memory accesses on such builds. Differential Revision: https://reviews.llvm.org/D41563 llvm-svn: 325329
* Ensure that Elf_Rel addends are always written for dynamic relocationsAlexander Richardson2018-02-167-7/+62
| | | | | | | | | | | | Summary: This follows up on r321889 where writing of Elf_Rel addends was partially moved to RelocationBaseSection. This patch ensures that the addends are always written to the output section when a input section uses RELA but the output is REL. Differential Revision: https://reviews.llvm.org/D42843 llvm-svn: 325328
* [ARM] Return true in enableMultipleCopyHints().Jonas Paulsson2018-02-168-147/+145
| | | | | | | | | | Enable multiple COPY hints to eliminate more COPYs during register allocation. Note that this is something all targets should do, see https://reviews.llvm.org/D38128. Review: Eli Friedman llvm-svn: 325327
OpenPOWER on IntegriCloud