summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix r276671 to not use a defaulted move constructor.Jordan Rose2016-07-251-2/+10
| | | | | | | | MSVC won't provide the body of this move constructor and assignment operator, possibly because the copy constructor is banned. Just write it manually. llvm-svn: 276685
* AMDGPU: Remove read_workdim intrinsicJan Vesely2016-07-258-134/+0
| | | | | | Differential revision: https://reviews.llvm.org/D22732 llvm-svn: 276682
* Scalarizer: Support scalarizing intrinsicsMatt Arsenault2016-07-252-0/+164
| | | | llvm-svn: 276681
* AMDGPU: Make skip threshold an optionMatt Arsenault2016-07-251-3/+8
| | | | llvm-svn: 276680
* AMDGPU: Fix missing verify-machineinstrs in control flow testMatt Arsenault2016-07-251-1/+1
| | | | llvm-svn: 276679
* LiveIntervals: Return index from replaceMachineInstrInMapsMatt Arsenault2016-07-252-5/+7
| | | | | | Fixes weird asymmetry with insertion llvm-svn: 276678
* MachineVerifier: Fix printing nonsense for physical registersMatt Arsenault2016-07-251-3/+3
| | | | llvm-svn: 276677
* Fix invalid iterator use in safestack coloring.Evgeniy Stepanov2016-07-252-1/+86
| | | | llvm-svn: 276676
* AMDGPU: Delete dead codeMatt Arsenault2016-07-254-41/+0
| | | | llvm-svn: 276675
* [PGO] Fix profile mismatch in COMDAT function with pre-inlinerRong Xu2016-07-255-26/+210
| | | | | | | | | | | | | | | | | | Pre-instrumentation inline (pre-inliner) greatly improves the IR instrumentation code performance, among other benefits. One issue of the pre-inliner is it can introduce CFG-mismatch for COMDAT functions. This is due to the fact that the same COMDAT function may have different early inline decisions across different modules -- that means different copies of COMDAT functions will have different CFG checksum. In this patch, we propose a partially renaming the COMDAT group and its member function/variable so we have different profile counter for each version. We will post-fix the COMDAT function and the group name with its FunctionHash. Differential Revision: http://reviews.llvm.org/D22600 llvm-svn: 276673
* Attempt to pacify windows bots.Michael Kuperstein2016-07-251-13/+13
| | | | llvm-svn: 276672
* StringSwitch cannot be copied (take 2).Jordan Rose2016-07-252-7/+14
| | | | | | | | | | | | | | | | | | | | This prevents StringSwitch from being used with 'auto', which is important because the inferred type is StringSwitch rather than the result type. This is a problem because StringSwitch stores addresses of temporary values rather than copying or moving the value into its own storage. This is a compromise that still allows wrapping StringSwitch in other temporary structures, which (unlike StringSwitch) may be non-trivial to set up and therefore want to at least be movable. (For an example, see QueryParser.cpp in clang-tools-extra.) Changing this uncovered the bug in PassBuilder, also in this patch. Clang doesn't seem to have any occurrences of the issue. Re-commit of r276652. llvm-svn: 276671
* Revert NewGVN N^2 behavior patchDaniel Berlin2016-07-251-22/+19
| | | | llvm-svn: 276670
* Add a modulemap for LLVMDebugInfoMsf.Zachary Turner2016-07-251-0/+7
| | | | | | Differential Revision: https://reviews.llvm.org/D22769 llvm-svn: 276669
* Don't use iplist in SymbolRewriter. NFC.Michael Kuperstein2016-07-252-52/+21
| | | | | | | | There didn't appear to be a good reason to use iplist in this case, a regular list of unique_ptr works just as well. Change made in preparation to a new PM port (since iplist is not moveable). llvm-svn: 276668
* cmake: When adding lit testsuites, ignore Output directoriesJustin Bogner2016-07-251-1/+2
| | | | | | | | | With in-tree builds we can get Output directories scattered among our tests. Recursing into those to find tests doesn't make sense. Thanks to nlewycky for noticing this! llvm-svn: 276667
* [X86][SSE] Added 2048-bit vector comparison testsSimon Pilgrim2016-07-251-0/+1757
| | | | | | Upper limit of what can be held in a <32 x i8> result llvm-svn: 276666
* NFC: Make a few asserts in GVNHoist do the same thing, but cheaper.Daniel Berlin2016-07-251-4/+8
| | | | llvm-svn: 276662
* Revert "StringSwitch cannot be copied or moved."Jordan Rose2016-07-252-14/+7
| | | | | | | This reverts commit r276652. The clang-query tool is currently relying on this behavior. I'll try again later. llvm-svn: 276661
* Fix N^2 instruction ordering comparisons in GVNHoist.Daniel Berlin2016-07-251-19/+18
| | | | | | This fixes GVNHoist's portion of PR28670. llvm-svn: 276658
* NFC: Refactor GVNHoist class so not everything is publicDaniel Berlin2016-07-251-37/+36
| | | | llvm-svn: 276657
* MC] Provide an MCTargetOptions to implementors of MCAsmBackendCtorTy, NFCJoel Jones2016-07-2525-55/+114
| | | | | | | | | | | | | | | Some targets, notably AArch64 for ILP32, have different relocation encodings based upon the ABI. This is an enabling change, so a future patch can use the ABIName from MCTargetOptions to chose which relocations to use. Tested using check-llvm. The corresponding change to clang is in: http://reviews.llvm.org/D16538 Patch by: Joel Jones Differential Revision: https://reviews.llvm.org/D16213 llvm-svn: 276654
* StringSwitch cannot be copied or moved.Jordan Rose2016-07-252-7/+14
| | | | | | | | | | | | ...but most importantly, it cannot be used well with 'auto', because the inferred type is StringSwitch rather than the result type. This is a problem because StringSwitch stores addresses of temporary values rather than copying or moving the value into its own storage. Changing this uncovered the bug in PassBuilder, also in this patch. Clang doesn't seem to have any occurrences of the issue. llvm-svn: 276652
* AVX-512: Fixed [US]INT_TO_FP selection for i1 vectors.Elena Demikhovsky2016-07-252-0/+368
| | | | | | | | It failed with assertion before this patch. Differential Revision: https://reviews.llvm.org/D22735 llvm-svn: 276648
* Remove useless pass from the pipeline in ↵Wei Mi2016-07-251-2/+2
| | | | | | test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll. llvm-svn: 276644
* [Hexagon] Add target feature to generate long callsKrzysztof Parzyszek2016-07-257-29/+146
| | | | llvm-svn: 276638
* [ARM] Improve longMAC codegen testSam Parker2016-07-253-35/+91
| | | | | | | | Added thumb targets and dataflow checks to the longMAC test. Differential Revision: https://reviews.llvm.org/D22684 llvm-svn: 276629
* [mips] Optimize materialization of i64 constantsSimon Dardis2016-07-2514-93/+134
| | | | | | | | | | | | | | | | | Avoid MipsAnalyzeImmediate usage if the constant fits in an 32-bit integer. This allows us to generate the same instructions for the materialization of the same constants regardless the width of their type. Patch by: Vasileios Kalintiris Contributions by: Simon Dardis Reviewers: Daniel Sanders Differential Review: https://reviews.llvm.org/D21689 llvm-svn: 276628
* [ARM] Small refactor of Thumb2 SMLA instsSam Parker2016-07-251-12/+8
| | | | | | | | | Follow up to r276624. Changes bits 22-20 to be parameters to instruction class. Differential Revision: https://reviews.llvm.org/D22562 llvm-svn: 276626
* [ARM] Enable ISel of SMMLS for ARM and Thumb2Sam Parker2016-07-253-7/+68
| | | | | | | | Use ISelDAGToDAG to recognise the SMMLS instruction pattern. Differential Revision: https://reviews.llvm.org/D22562 llvm-svn: 276624
* [AVX512] Add load folding support for the unmasked forms of the FMA ↵Craig Topper2016-07-253-8/+148
| | | | | | instructions. llvm-svn: 276615
* [AVX512] Add some additional patterns so that we can fold broadcast loads in ↵Craig Topper2016-07-252-49/+78
| | | | | | the first argument of an FMADD/FMSUB/FNMADD/FNMSUB/FMADDSUB/FMSUBADD node. Also add patterns to support all combinations of the broadcast input and the preserved input for masked versions. llvm-svn: 276614
* [AVX512] Cleanup FMA operand order in patterns to match the VEX versions and ↵Craig Topper2016-07-254-262/+285
| | | | | | to really be 213, 231, and 132. llvm-svn: 276613
* Cleanup : Reformat PartialInliner.cpp to have current LLVM style conventionsSean Silva2016-07-251-71/+74
| | | | | | | | | | Modify the variable names and code style to be that of modern LLVM. Patch by River Riddle! Differential Revision: https://reviews.llvm.org/D22743 llvm-svn: 276610
* Fix : Partial Inliner requires AssumptionCacheTrackerSean Silva2016-07-253-38/+78
| | | | | | | | | | | The public InlineFunction utility assumes that the passed in InlineFunctionInfo has a valid AssumptionCacheTracker. Patch by River Riddle! Differential Revision: https://reviews.llvm.org/D22706 llvm-svn: 276609
* [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
* [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
* Untabify.NAKAMURA Takumi2016-07-251-1/+1
| | | | llvm-svn: 276597
* Trailing whitespace.NAKAMURA Takumi2016-07-251-4/+4
| | | | llvm-svn: 276596
* [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][AVX512VL] Added AVX512VL half2float vector conversions tests to ↵Simon Pilgrim2016-07-241-1756/+4175
| | | | | | demonstrate PR23941 llvm-svn: 276563
OpenPOWER on IntegriCloud