summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PM] Try to fix an MSVC2013 failure due to finding a templateChandler Carruth2016-09-021-0/+14
| | | | | | | | | constructor when trying to do copy construction by adding an explicit move constructor. Will watch the bots to discover if this is sufficient. llvm-svn: 280479
* Revert "Make Scalar::GetValue more consistent"Pavel Labath2016-09-023-32/+6
| | | | | | | This reverts commit r280476 as it breaks several tests on i386. I was fixing an 32-bit breakage, and I did not run the 32-bit test suite before submitting, oops. llvm-svn: 280478
* Bump up TestCallWithTimeout timeoutPavel Labath2016-09-021-2/+2
| | | | | | Still a bit flaky on remote targets. Trying a larger bump this time. :/ llvm-svn: 280477
* Make Scalar::GetValue more consistentPavel Labath2016-09-023-6/+32
| | | | | | | | | | | | | | | | | | | | | | | Summary: It seems the original intention of the function was printing signed values in decimal format, and unsigned values in hex (without the leading "0x"). However, signed and unsigned long were exchanged, which lead to amusing test failures in TestMemoryFind.py. Instead of just switching the two, I think we should just print everything in decimal here, as the current behaviour is very confusing (especially when one does not request printing of types). Nothing seems to depend on this behaviour except and we already have a way for the user to request the format he wants when printing values for most commands (which presumably does not go through this function). I also add a unit tests for the function in question. Reviewers: clayborg, granata.enrico Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D24126 llvm-svn: 280476
* [ELF] - Fix for: bug 30237 - lld does not implement -f optionGeorge Rimar2016-09-025-0/+23
| | | | | | | | | | | | | FreeBSD's libstdc++ build (used on tier-2 architectures) uses GNU ld's -f <name> option, which sets the DT_AUXILIARY field to the specified name. Multiple -f options may be specified and the DT_AUXILIARY entries will be added in the order in which they appear. Patch implements that option. Differential revision: https://reviews.llvm.org/D24139 llvm-svn: 280475
* [InstCombine] Add test for insertelementinsts with constants.Alexey Bataev2016-09-021-0/+77
| | | | | | | Added a tests that shows that several insertelementinsts with constant indexes/data are not folded into a single shuffleinst. llvm-svn: 280474
* [Support] - Fix possible crash in match() of llvm::Regex.George Rimar2016-09-023-5/+20
| | | | | | | | | | | | Crash was possible if match() method was called on object that was moved or object created with empty constructor. Testcases updated. DIfferential revision: https://reviews.llvm.org/D24123 llvm-svn: 280473
* [llvm-readobj] - Teach readobj to print DT_AUXILIARY dynamic tag in human ↵George Rimar2016-09-024-0/+42
| | | | | | | | | | readable form. Previously DT_AUXILIARY was unknown, patch fixes that. Differential revision: https://reviews.llvm.org/D24138 llvm-svn: 280471
* [SimplifyCFG] Add a workaround to fix PR30188James Molloy2016-09-022-0/+33
| | | | | | | | We're sinking stores, which is a good thing, but in the process creating selects for the store address operand, which SROA/Mem2Reg can't look through, which caused serious regressions. The real fix is in SROA, which I'll be looking into. llvm-svn: 280470
* [asan] Move scariness_score_test.cc to a common subdirectoryFilipe Cabecinhas2016-09-022-183/+196
| | | | | | | | | | | | | | | Summary: Only one of the tests in it doesn't work on OS X. On Windows it seems that everything that is being moved is also supported. The abort() test wasn't copied over (original case 22). This is because it doesn't work on OS X. Reviewers: kcc, eugenis, vitalybuka Subscribers: kubabrecka, llvm-commits llvm-svn: 280469
* Drop '@brief' from doxygen commentsTobias Grosser2016-09-0239-897/+900
| | | | | | | | LLVM's coding guideline suggests to not use @brief for one-sentence doxygen comments to improve readability. Switch this once and for all to ensure people do not copy @brief comments from other parts of Polly, when writing new code. llvm-svn: 280468
* [AVX-512] Move tests for masked floating point logical operations to ↵Craig Topper2016-09-022-1248/+1251
| | | | | | avx512dqvl-intrinsics-upgrade.ll since they have now been autoupgraded. llvm-svn: 280467
* [AVX-512] Remove floating point logical operation instrinsics and replace ↵Craig Topper2016-09-023-100/+37
| | | | | | them with native IR. llvm-svn: 280466
* [AVX-512] Add more patterns for masked and broadcasted logical operations ↵Craig Topper2016-09-023-231/+75
| | | | | | | | where the select or broadcast has a floating point type. These are needed in order to remove the masked floating point logical operation intrinsics and use native IR. llvm-svn: 280465
* [AVX-512] Add execution domain fixing for logical operations with broadcast ↵Craig Topper2016-09-023-16/+146
| | | | | | loads. This builds on the handling of masked ops since we need to keep element size the same. llvm-svn: 280464
* [X86] Strengthen some SDNode type constraints.Craig Topper2016-09-021-3/+4
| | | | llvm-svn: 280463
* [AVX-512] Add NoVLX Predicates to some patterns so they don't rely on ↵Craig Topper2016-09-021-0/+2
| | | | | | pattern ordering to be lower priority than their equivalent VLX pattern. llvm-svn: 280462
* [Docs] Fix another typo in the Error/Expected docs.Lang Hames2016-09-021-2/+2
| | | | llvm-svn: 280461
* [Docs] Fix a couple of typos in the Error/Expected docs.Lang Hames2016-09-021-4/+4
| | | | llvm-svn: 280460
* [ORC] Fix some missing fields in OrcRemoteTargetClient's move constructor.Lang Hames2016-09-021-1/+2
| | | | llvm-svn: 280459
* Add missing &. NFC.George Burgess IV2016-09-021-1/+1
| | | | llvm-svn: 280458
* [PowerPC] hasAndNotCompare should return trueHal Finkel2016-09-022-20/+29
| | | | | | | | | | As Sanjay suggested when he added the hook, PPC should return true from hasAndNotCompare. We have an efficient negated 'and' on PPC (which can feed a compare). Fixes PR27203. llvm-svn: 280457
* Add clang-reorder-fields to clang-tools-extraAlexander Shaposhnikov2016-09-0213-0/+545
| | | | | | | | | | This diff adds v0 of clang-reorder-fields tool to clang/tools/extra. The main idea behind this tool is to simplify and make less error-prone refactoring of large codebases when someone needs to change the order fields of a struct/class (for example to remove excessive padding). Differential revision: https://reviews.llvm.org/D23279 llvm-svn: 280456
* [lit] Fail testing if a googletest executable crashes during test discoveryGreg Parker2016-09-022-2/+6
| | | | | | | | | googletest formatted tests are discovered by running the test executable. Previously testing would silently succeed if the test executable crashed during the discovery process. Now testing fails with "error: unable to discover google-tests ..." if the test executable exits with a non-zero status. llvm-svn: 280455
* [PowerPC] Add a pattern for a runtime bit checkHal Finkel2016-09-022-0/+94
| | | | | | | | | | | | | | | | | | | Following a suggestion by Sanjay, we should lower: %shl = shl i32 1, %y %and = and i32 %x, %shl %cmp = icmp eq i32 %and, %shl ret i1 %cmp into: subfic r4, r4, 32 rlwnm r3, r3, r4, 31, 31 Add this pattern and some associated patterns for the 64-bit case and the not-equal case. Fixes PR27356. llvm-svn: 280454
* revert r280429 and r280425:Dehao Chen2016-09-022-31/+25
| | | | | | | | | | | | | | | r280425 | dehao | 2016-09-01 16:15:50 -0700 (Thu, 01 Sep 2016) | 9 lines Refactor LICM pass in preparation for LoopSink pass. Summary: LoopSink pass uses some common function in LICM. This patch refactor the LICM code to make it usable by LoopSink pass (https://reviews.llvm.org/D22778). r280429 | dehao | 2016-09-01 16:31:25 -0700 (Thu, 01 Sep 2016) | 9 lines Refactor LICM to expose canSinkOrHoistInst to LoopSink pass. Summary: LoopSink pass shares the same canSinkOrHoistInst functionality with LICM pass. This patch exposes this function in preparation of https://reviews.llvm.org/D22778 llvm-svn: 280453
* revert r280432:Dehao Chen2016-09-021-6/+5
| | | | | | | | | r280432 | dehao | 2016-09-01 16:51:37 -0700 (Thu, 01 Sep 2016) | 9 lines Explicitly require DominatorTreeAnalysis pass for instsimplify pass. Summary: DominatorTreeAnalysis is always required by instsimplify. llvm-svn: 280452
* llvm/test/Transforms/GCOVProfiling/three-element-mdnode.ll: Use %/T instead ↵NAKAMURA Takumi2016-09-021-1/+1
| | | | | | of %T, not to emit backslashes. llvm-svn: 280451
* bugpoint: clang-format all of bugpoint. NFCJustin Bogner2016-09-0211-1157/+1088
| | | | | | | I'm going to clean up the APIs here a bit and touch many many lines anyway. llvm-svn: 280450
* raw_pwrite_stream_test.cpp: _putenv_s() may be assumed as win32-generic.NAKAMURA Takumi2016-09-021-1/+1
| | | | llvm-svn: 280449
* IfConversion: Don't count branches in # of duplicates.Kyle Butt2016-09-021-1/+3
| | | | | | | | If the entire blocks match, we would count the branch instructions toward the number of duplicated instructions. This doesn't match what we do elsewhere, and was causing a bug. llvm-svn: 280448
* [PM] Add a unittest for invalidating module analyses with an SCC pass.Chandler Carruth2016-09-021-0/+96
| | | | | | | | | | | | This wasn't really well explicitly tested with a nice unittest before. It seems good to have reasonably broken out unittests for this kind of functionality as I'm workin go other invalidation features to make sure none of the existing ones regress. This still has too much duplicated code, I plan to factor that out in a subsequent commit to use common helpers for repeated parts of this. llvm-svn: 280447
* [PM] (NFC) Split the IR parsing into a fixture so that I can split outChandler Carruth2016-09-021-33/+42
| | | | | | more testing into other test routines while using the same core module. llvm-svn: 280446
* Fix a real temp file leak in FileOutputBufferReid Kleckner2016-09-024-9/+19
| | | | | | | | | | | | | If we failed to commit the buffer but did not die to a signal, the temp file would remain on disk on Windows. Having an open file mapping and file handle prevents the file from being deleted. I am choosing not to add an assertion of success on the temp file removal, since virus scanners and other environmental things can often cause removal to fail in real world tools. Also fix more temp file leaks in unit tests. llvm-svn: 280445
* [PM] (NFC) Refactor the CGSCC pass manager tests to use lambda-basedChandler Carruth2016-09-021-79/+43
| | | | | | | | | | | | | passes. This simplifies the test some and makes it more focused and clear what is being tested. It will also make it much easier to extend with further testing of different pass behaviors. I've also replaced a pointless module pass with running the requires pass directly as that is all that it was really doing. llvm-svn: 280444
* Try to fix some temp file leaks in SupportTests, PR18335Reid Kleckner2016-09-024-14/+62
| | | | llvm-svn: 280443
* [CFGPrinter] Display branch weight on the edgesAdam Nemet2016-09-021-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is pretty useful especially in connection with BFI's -view-block-freq-propagation-dags. It helped me to track down the bug that is being fixed in D24118. While -view-block-freq-propagation-dags displays the high-level information with static heuristics included (and block frequencies), the new thing only shows the raw weight as presented by PGO without any of the static estimates. This helps to distinguished what has been measured vs. estimated. For the sample loop in D24118, -view-block-freq-propagation-dags=integer looks like this: https://reviews.llvm.org/F2381352 While with -view-cfg-only you can see the underlying branch weights: https://reviews.llvm.org/F2392296 Reviewers: dexonsmith, bogner, davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24144 llvm-svn: 280442
* [PowerPC] Don't apply the PPC64 address-formation peephole for offsets ↵Hal Finkel2016-09-022-5/+12
| | | | | | | | | | | | | | | | greater than 7 When applying our address-formation PPC64 peephole, we are reusing the @ha TOC addis value with the low parts associated with different offsets (i.e. different effective symbol addends). We were assuming this was okay so long as the offsets were less than the alignment of the global variable being accessed. This ignored the fact, however, that the TOC base pointer itself need only be 8-byte aligned. As a result, what we were doing is legal only for offsets less than 8 regardless of the alignment of the object being accessed. Fixes PR28727. llvm-svn: 280441
* [PowerPC] Don't consider fusion in PPC64 address-formation peepholeHal Finkel2016-09-022-169/+80
| | | | | | | | | | | | | The logic in this function assumes that the P8 supports fusion of addis/addi, but it does not. As a result, there is no advantage to restricting our peephole application, merging addi instructions into dependent memory accesses, even when the addi has multiple users, regardless of whether or not we're optimizing for size. We might need something like this again for the P9; I suspect we'll revisit this code when we work on P9 tuning. llvm-svn: 280440
* [StreamExecutor] Pass device memory by refJason Henline2016-09-023-31/+34
| | | | | | | | | | | | | | | | Summary: Step 3 of getting GlobalDeviceMemory to own its handle. Since GlobalDeviceMemory will no longer by copy-constructible, we must pass instances by reference rather than by value. Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24172 llvm-svn: 280439
* Revert https://reviews.llvm.org/D23279 because the tests have failed on ↵Alexander Shaposhnikov2016-09-0213-541/+0
| | | | | | several platforms llvm-svn: 280438
* [SE] Make Kernel movableJason Henline2016-09-023-72/+12
| | | | | | | | | | | | | | | Summary: Kernel is basically just a smart pointer to the underlying implementation, so making it movable prevents having to store a std::unique_ptr to it. Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24150 llvm-svn: 280437
* Clean up handling of reading module files from stdin. Don't bother trying toRichard Smith2016-09-021-3/+6
| | | | | | | | | look for a corresponding file, since we're not going to read it anyway. No observable behavior change (though we now avoid pointlessly trying to stat or open a file named "-"). llvm-svn: 280436
* Refactor to avoid holding a reference to a container element that could go awayRichard Smith2016-09-021-40/+36
| | | | | | | | during this function, and to avoid rolling back changes to the module manager's data structures. Instead, we defer registering the module file until after we have successfully finished loading it. llvm-svn: 280434
* Explicitly require DominatorTreeAnalysis pass for instsimplify pass.Dehao Chen2016-09-011-5/+6
| | | | | | | | | | | | Summary: DominatorTreeAnalysis is always required by instsimplify. Reviewers: davidxl, danielcdh Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24173 llvm-svn: 280432
* Add clang-reorder-fields to clang-tools-extraAlexander Shaposhnikov2016-09-0113-0/+541
| | | | | | | | | | This diff adds v0 of clang-reorder-fields tool to clang/tools/extra. The main idea behind this tool is to simplify and make less error-prone refactoring of large codebases when someone needs to change the order fields of a struct/class (for example to remove excess padding). Differential revision: https://reviews.llvm.org/D23279 llvm-svn: 280431
* [SelectionDAGBuilder] Add const to relevant placesAditya Kumar2016-09-012-16/+17
| | | | | | | | Reviewers: hans, evandro, sebpop Differential Revision: https://reviews.llvm.org/D24112 llvm-svn: 280430
* Refactor LICM to expose canSinkOrHoistInst to LoopSink pass.Dehao Chen2016-09-012-8/+12
| | | | | | | | | | | | Summary: LoopSink pass shares the same canSinkOrHoistInst functionality with LICM pass. This patch exposes this function in preparation of https://reviews.llvm.org/D22778 Reviewers: chandlerc, davidxl, danielcdh Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24171 llvm-svn: 280429
* [StreamExecutor] Read dev array directly in testJason Henline2016-09-013-63/+97
| | | | | | | | | | | | | | | | | | Summary: Step 2 of getting GlobalDeviceMemory to own its handle. Use the SimpleHostPlatformDevice allocate methods to create device arrays for tests, and check for successful copies by dereferncing the device array handle directly because we know it is really a host pointer. Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24148 llvm-svn: 280428
* Refactor replaceDominatedUsesWith to have a flag to control whether to ↵Dehao Chen2016-09-013-6/+10
| | | | | | | | | | | | | | replace uses in BB itself. Summary: This is in preparation for LoopSink pass which calls replaceDominatedUsesWith to update after sinking. Reviewers: chandlerc, davidxl, danielcdh Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24170 llvm-svn: 280427
OpenPOWER on IntegriCloud