summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Update test to account for r276604David Majnemer2016-07-251-2/+2
| | | | llvm-svn: 276607
* [MSVCToolChain] Guard hardcoded Windows paths with LLVM_ON_WIN32David Majnemer2016-07-251-0/+2
| | | | | | | Paths like C:/foo will never work on UNIX platforms, don't bother implicitly adding them to the search path. llvm-svn: 276606
* Implement the std::pair parts of "Improving pair and tuple". Completes N4387.Eric Fiselier2016-07-2514-180/+1015
| | | | llvm-svn: 276605
* [InstSimplify] Fold trunc([zs]ext(%V)) -> %VDavid Majnemer2016-07-251-1/+7
| | | | | | Truncates can completely cancel out a zext or sext instruction. llvm-svn: 276604
* Recommit r276548 - Make pair/tuples assignment operators SFINAE properly.Eric Fiselier2016-07-257-14/+386
| | | | | | | I think I've solved issues with is_assignable and references to incomplete types. The updated patch adds tests for this case. llvm-svn: 276603
* [GVNHoist] Merge metadata on hoisted instructions less conservativelyDavid Majnemer2016-07-252-7/+42
| | | | | | | We can combine metadata from multiple instructions intelligently for certain metadata nodes. llvm-svn: 276602
* [GVNHoist] Properly merge alignments when hoistingDavid Majnemer2016-07-252-4/+35
| | | | | | | | | If we two loads of two different alignments, we must use the minimum of the two alignments when hoisting. Same deal for stores. For allocas, use the maximum of the two allocas. llvm-svn: 276601
* [Utils] Simplify combineMetadataDavid Majnemer2016-07-251-3/+3
| | | | | | Use a range-based for loop, no functional change is intended. llvm-svn: 276600
* Make std::is_assignable tolerate references to incomplete types.Eric Fiselier2016-07-252-18/+10
| | | | llvm-svn: 276599
* Revert r276548 - Make pair/tuples assignment operators SFINAE properly.Eric Fiselier2016-07-257-352/+7
| | | | | | | | | | | | This is a breaking change. The SFINAE required is instantiated the second the class is instantiated, and this can cause hard SFINAE errors when applied to references to incomplete types. Ex. struct IncompleteType; extern IncompleteType it; std::tuple<IncompleteType&> t(it); // SFINAE will blow up. llvm-svn: 276598
* Untabify.NAKAMURA Takumi2016-07-251-1/+1
| | | | llvm-svn: 276597
* Trailing whitespace.NAKAMURA Takumi2016-07-251-4/+4
| | | | llvm-svn: 276596
* Make dtor_noexcept.pass.cpp tests more portable. Patch from STL@microsoft.comEric Fiselier2016-07-2514-18/+32
| | | | llvm-svn: 276595
* Don't SFINAE pair's copy assignment operator in C++03 mode.Eric Fiselier2016-07-252-0/+40
| | | | | | | | In C++03 mode evaluating the SFINAE can cause a hard error due to access control violations. This is a problem because the SFINAE is evaluated as soon as the class is instantiated, and not later. llvm-svn: 276594
* Mark bucket_count() assertions as non-portable. Patch from STL@microsoft.comEric Fiselier2016-07-25107-349/+458
| | | | llvm-svn: 276593
* [ELF] Fix the semantic of PROVIDE in linker scripts.Davide Italiano2016-07-253-5/+29
| | | | | | | | | | PROVIDE request us to define a symbol only if it is referenced and is not defined by any object included in the link. We created the symbol in the symbol table no matter what. Differential Revision: https://reviews.llvm.org/D22739 llvm-svn: 276592
* Make move_assign_noexcept.pass.cpp tests more portable. Patch from ↵Eric Fiselier2016-07-2512-18/+30
| | | | | | STL@microsoft.com llvm-svn: 276591
* Make swap_noexcept.pass.cpp tests more portable. Patch from STL@microsoft.com.Eric Fiselier2016-07-2517-255/+148
| | | | | | See D21820 for more information (https://reviews.llvm.org/D21820). llvm-svn: 276590
* Work around MSVC's non-standard ABI for enums. Patch from STL@microsoft.comEric Fiselier2016-07-253-5/+22
| | | | llvm-svn: 276589
* Fix a non-standard allocator in vector tests. Patch from STL@microsoft.comEric Fiselier2016-07-241-0/+3
| | | | llvm-svn: 276588
* Fix unique_ptr.runtime tests for null inputs. Patch from STL@microsoft.comEric Fiselier2016-07-242-0/+13
| | | | llvm-svn: 276587
* Simplify. NFC.Rui Ueyama2016-07-242-27/+25
| | | | llvm-svn: 276586
* Fix portability issues in <random> tests. Patch from STL@microsoft.comEric Fiselier2016-07-244-6/+19
| | | | llvm-svn: 276585
* Mark bucket() assertions as non-portable. Patch from STL@microsoft.comEric Fiselier2016-07-244-8/+12
| | | | llvm-svn: 276584
* Fix MSVC unreferenced parameter warning. Patch from STL@microsoft.comEric Fiselier2016-07-241-1/+1
| | | | llvm-svn: 276583
* [ELF] Move linker script tests to a subdirectory. NFCI.Davide Italiano2016-07-2423-0/+6
| | | | llvm-svn: 276582
* Make move_noexcept.pass.cpp tests more portable. Patch from STL@microsoft.comEric Fiselier2016-07-2414-39/+53
| | | | llvm-svn: 276581
* Make bucket_count() greater-equal assertions portable. Patch from ↵Eric Fiselier2016-07-244-7/+7
| | | | | | STL@microsoft.com llvm-svn: 276580
* [ELF] Support PROVIDE/PROVIDE_HIDDEN inside output sections description.Davide Italiano2016-07-242-0/+24
| | | | | | Differential Revision: https://reviews.llvm.org/D22738 llvm-svn: 276579
* Mark bucket_size() assertions as non-portible. Patch from STL@microsoft.comEric Fiselier2016-07-244-48/+52
| | | | llvm-svn: 276578
* [Sema] Replace mem_fn with lambdas. NFC.George Burgess IV2016-07-242-7/+11
| | | | | | | | | I'm told that some optimizers like lambdas a lot more than mem_fn. Given that the readability difference is basically nil, and we seem to use lambdas basically everywhere else, it seems sensible to just use lambdas. llvm-svn: 276577
* Guard libc++ specific tests SFINAE on std::bind's call operator. Patch from ↵Eric Fiselier2016-07-241-3/+5
| | | | | | STL@microsoft.com llvm-svn: 276576
* Merge readSymbolAssignment with readAssignment. NFC.Rui Ueyama2016-07-241-24/+11
| | | | llvm-svn: 276575
* Make readExpr return an Expr object instead of a vector of tokens.Rui Ueyama2016-07-243-226/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we handled an expression as a vector of tokens. In other words, an expression was a vector of uncooked raw StringRefs. When we need a value of an expression, we used ExprParser to run the expression. The separation was needed essentially because parse time is too early to evaluate an expression. In order to evaluate an expression, we need to finalize section sizes. Because linker script parsing is done at very early stage of the linking process, we can't evaluate expressions while parsing. The above mechanism worked fairly well, but there were a few drawbacks. One thing is that we sometimes have to parse the same expression more than once in order to find the end of the expression. In some contexts, linker script expressions have no clear end marker. So, we needed to recognize balanced expressions and ternary operators. The other is poor error reporting. Since expressions are parsed basically twice, and some information that is available at the first stage is lost in the second stage, it was hard to print out apprpriate error messages. This patch fixes the issues with a new approach. Now the expression parsing is integrated into ScriptParser. ExprParser class is removed. Expressions are represented as lambdas instead of vectors of tokens. Lambdas captures information they need to run themselves when they are created. In this way, ends of expressions are naturally detected, and errors are handled in the usual way. This patch also reduces the amount of code. Differential Revision: https://reviews.llvm.org/D22728 llvm-svn: 276574
* [Driver] Switch some getenv calls to llvm::sys::Process::GetEnvDavid Majnemer2016-07-242-27/+29
| | | | | | No functional change is intended. llvm-svn: 276573
* [CommandLine] Use Process::GetEnv instead of _wgetenvDavid Majnemer2016-07-241-21/+4
| | | | | | | | | | Process::GetEnv does the right thing across our platforms. CommandLine.cpp had, more or less, the same logic. Let's remove the duplication. No functional change is intended. llvm-svn: 276572
* [X86][SSE] Added PR27854 tests Simon Pilgrim2016-07-241-0/+48
| | | | llvm-svn: 276571
* [X86] Add shift double tests for PR14593Simon Pilgrim2016-07-241-0/+74
| | | | llvm-svn: 276570
* [X86] Add 'FeatureSlowSHLD' to cpu 'bdver4'Simon Pilgrim2016-07-242-0/+3
| | | | | | As with all AMD CPUs, excavator has poor SHLD/SHRD performance. Also added bdver3 to the test as it was missing. llvm-svn: 276569
* [X86] Add SHRD shift combine testsSimon Pilgrim2016-07-241-0/+36
| | | | llvm-svn: 276568
* [X86] Regenerate shift by parts testsSimon Pilgrim2016-07-241-7/+77
| | | | llvm-svn: 276567
* [X86][SSE] Regenerate shifts testsSimon Pilgrim2016-07-241-72/+245
| | | | llvm-svn: 276566
* [X86][SSE] Regenerate SSE copysign testsSimon Pilgrim2016-07-241-82/+102
| | | | llvm-svn: 276565
* [X86] Block pbroadcastq instructions on 32-bit targets instead of pbroadcastb.Craig Topper2016-07-243-7/+3
| | | | | | Thanks to Simon Pilgrim for catching the mistake. llvm-svn: 276564
* [X86][AVX512VL] Added AVX512VL half2float vector conversions tests to ↵Simon Pilgrim2016-07-241-1756/+4175
| | | | | | demonstrate PR23941 llvm-svn: 276563
* [X86] Make the FMA3 instruction names consistent between VEX and EVEX ↵Craig Topper2016-07-245-411/+387
| | | | | | | | encoded versions. This places the 132/213/231 form number in front of the SS/SD/PS/PD. Move the Y for 256-bit versions to be after the PS/PD. Change the AVX512 scalar forms to include a Z in the their name. This new format should be consistent with the general naming of instructions. llvm-svn: 276559
* commit test missing from r276556Eric Fiselier2016-07-241-0/+27
| | | | llvm-svn: 276558
* [analyzer] Pring LocationContext in ExplodedGraph dumps.Artem Dergachev2016-07-241-51/+41
| | | | | | | | | | Remove some FIXMEs in the surrounding code, which have been addressed long time ago by introducing checker-specific tags. Differential Revision: https://reviews.llvm.org/D22622 llvm-svn: 276557
* Add __is_inplace_type metafunction helperEric Fiselier2016-07-241-0/+5
| | | | llvm-svn: 276556
* [X86] Replace CodeGenOnly VPSRAVW/D/Q_Int instructions with patterns since ↵Craig Topper2016-07-244-8/+87
| | | | | | the operand types exactly match the normal VPSRAVW/D/Q instructions. llvm-svn: 276555
OpenPOWER on IntegriCloud