summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86][TableGen] Allow timm to appear in output patterns. Use it to remove ↵Craig Topper2019-09-224-119/+120
| | | | | | | | | | | | | | ConvertToTarget opcodes from the X86 isel table. We're now using a lot more TargetConstant nodes in SelectionDAG. But we were still telling isel to convert some of them to TargetConstants even though they already are. This is because isel emits a conversion anytime the output pattern has a an 'imm'. I guess for patterns in instructions we take the 'timm' from the 'set' pattern, but for Pat patterns with explcicit output we previously had to say 'imm' since 'timm' wasn't allowed in outputs. llvm-svn: 372525
* [NFC][X86] Add BEXTR test with load and 33-bit mask (PR43381 / D67875)Roman Lebedev2019-09-221-0/+29
| | | | llvm-svn: 372524
* [X86] Update commutable EVEX vcmp patterns to use timm instead of imm.Craig Topper2019-09-223-69/+37
| | | | | | | We need to match TargetConstant, not Constant. This was broken in r372338, but we lacked test coverage. llvm-svn: 372523
* [X86] Add more tests for commuting evex vcmp instructions during isel to ↵Craig Topper2019-09-222-6/+850
| | | | | | | | | fold a load. Some of the isel patterns were not updated to check for TargetConstant instead of Constant in r372338. llvm-svn: 372522
* [SelectionDAG] computeKnownBits/ComputeNumSignBits - cleanup ↵Simon Pilgrim2019-09-221-7/+6
| | | | | | | | demanded/unknown paths. NFCI. Merge the calls, just adjust the demandedelts if we have a valid extract_subvector constant index, else demand all elts. llvm-svn: 372521
* [XRay] Silence static analyzer dyn_cast<BufferExtents> null dereference ↵Simon Pilgrim2019-09-221-1/+1
| | | | | | warning. NFCI. llvm-svn: 372520
* [LSR] Silence static analyzer null dereference warnings with assertions. NFCI.Simon Pilgrim2019-09-221-0/+2
| | | | | | Add assertions to make it clear that GenerateIVChain / NarrowSearchSpaceByPickingWinnerRegs should succeed in finding non-null values llvm-svn: 372518
* ConstantHoisting - Silence static analyzer dyn_cast<PointerType> null ↵Simon Pilgrim2019-09-221-1/+1
| | | | | | dereference warning. NFCI. llvm-svn: 372517
* [CLANG][BPF] permit any argument type for __builtin_preserve_access_index()Yonghong Song2019-09-225-19/+33
| | | | | | | | | | | | | | | | | | | | Commit c15aa241f821 ("[CLANG][BPF] change __builtin_preserve_access_index() signature") changed the builtin function signature to PointerT __builtin_preserve_access_index(PointerT ptr) with a pointer type as the argument/return type, where argument and return types must be the same. There is really no reason for this constraint. The builtin just presented a code region so that IR builtins __builtin_{array, struct, union}_preserve_access_index can be applied. This patch removed the pointer type restriction to permit any argument type as long as it is permitted by the compiler. Differential Revision: https://reviews.llvm.org/D67883 llvm-svn: 372516
* gn build: Friendlier error on invalid entries in llvm_targets_to_buildNico Weber2019-09-221-20/+27
| | | | llvm-svn: 372515
* [Cost][X86] Add more missing vector truncation costsSimon Pilgrim2019-09-222-49/+55
| | | | | | The AVX512 cases still need some work to correct recognise the PMOV truncation cases. llvm-svn: 372514
* [mips] Deduce MIPS specific ELF header flags from `emulation`Simon Atanasyan2019-09-222-1/+44
| | | | | | | | | In case of linking binary blobs which do not have any ELF headers, we can deduce MIPS ABI ELF header flags from an `emulation` option. Patch by Kyle Evans. llvm-svn: 372513
* gn build: consolidate "Nothing to do" branches in targets.gniNico Weber2019-09-221-19/+6
| | | | | | No behavior change. llvm-svn: 372512
* [compiler-rt] Fix lint check failure on commentsJinsong Ji2019-09-222-2/+4
| | | | | | | | | This fixes buildbot failures for https://reviews.llvm.org/rL372459. (at least on PowerPC/Z ) The fix is generated by running clang-format on the error lines only. llvm-svn: 372511
* [InstCombine] allow icmp+binop folds before min/max bailout (PR43310)Sanjay Patel2019-09-224-17/+12
| | | | | | | | | This has the potential to uncover missed analysis/folds as shown in the min/max code comment/test, but fewer restrictions on icmp folds should be better in general to solve cases like: https://bugs.llvm.org/show_bug.cgi?id=43310 llvm-svn: 372510
* [InstCombine] add tests for icmp fold hindered by min/max; NFCSanjay Patel2019-09-221-0/+36
| | | | llvm-svn: 372509
* Fix uninitialized variable warning. NFCI.Simon Pilgrim2019-09-221-1/+1
| | | | llvm-svn: 372508
* [AArch64] AArch64StackTagging - Silence static analyzer dyn_cast<> null ↵Simon Pilgrim2019-09-221-1/+1
| | | | | | | | dereference warning. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use cast<> directly and if not assert will fire for us. llvm-svn: 372507
* gn build: Add missing RISCV to llvm_targets_to_build="all"Nico Weber2019-09-221-0/+1
| | | | llvm-svn: 372506
* gn build: Add build files for llvm/lib/Target/AVRNico Weber2019-09-227-1/+185
| | | | | | Differential Revision: https://reviews.llvm.org/D67872 llvm-svn: 372505
* [NVPTX] NVPTXLowerAggrCopies - Silence static analyzer dyn_cast<StoreInst> ↵Simon Pilgrim2019-09-221-1/+1
| | | | | | null dereference warning. NFCI. llvm-svn: 372504
* [Lanai] LanaiAsmParser - Silence static analyzer dyn_cast null dereference ↵Simon Pilgrim2019-09-221-8/+9
| | | | | | | | warnings. NFCI. We were already doing this dyn_cast && isa<> && cast<> pattern for some add*Operands methods, just do this more consistently to stop clang static analyzer warning so much. llvm-svn: 372503
* [VPlan] Silence static analyzer dyn_cast null dereference warning. NFCI.Simon Pilgrim2019-09-221-1/+1
| | | | llvm-svn: 372502
* AMDGPUPrintfRuntimeBinding - silence static analyzer null dereference ↵Simon Pilgrim2019-09-221-3/+2
| | | | | | warnings. NFCI. llvm-svn: 372501
* [MIPS] Don't dereference dyn_cast<> Constant results. NFCI.Simon Pilgrim2019-09-221-2/+2
| | | | | | The static analyzer is warning about potential null dereferences, but we should be able to use cast<> directly and if not assert will fire for us. llvm-svn: 372500
* [Hexagon] Don't dereference dyn_cast<ConstantFPSDNode> result. NFCI.Simon Pilgrim2019-09-221-1/+1
| | | | | | The static analyzer is warning about potential null dereference, but we should be able to use cast<ConstantFPSDNode> directly and if not assert will fire for us. llvm-svn: 372499
* [Cost][X86] Add v2i64 truncation costsSimon Pilgrim2019-09-226-121/+173
| | | | | | | | We are missing costs for a lot of truncation cases, I'm hoping to address all the 'zero cost' cases in trunc.ll I thought this was a vector widening side effect, but even before this we had some interesting LV decisions (notably over indvars) being made due to these zero costs. llvm-svn: 372498
* Clang-format: Add Whitesmiths indentation stylePaul Hoad2019-09-226-0/+343
| | | | | | | | | | | | | | | | | | | | | Summary: This patch adds support for the Whitesmiths indentation style to clang-format. It’s an update to a patch submitted in 2015 (D6833), but reworks it to use the newer API. There are still some issues with this patch, primarily around `switch` and `case` support. The added unit test won’t currently pass because of the remaining issues. Reviewers: mboehme, MyDeveloperDay, djasper Reviewed By: MyDeveloperDay Subscribers: krasimir, MyDeveloperDay, echristo, cfe-commits Patch By: @timwoj (Tim Wojtulewicz) Tags: #clang Differential Revision: https://reviews.llvm.org/D67627 llvm-svn: 372497
* Move classes into anonymous namespaces. NFC.Benjamin Kramer2019-09-224-3/+7
| | | | llvm-svn: 372495
* [X86] Add test memset and memcpy testcases for D67874. NFCCraig Topper2019-09-223-70/+623
| | | | llvm-svn: 372494
* Use _WIN32 instead of _MSC_VERHaibo Huang2019-09-221-1/+1
| | | | | | | | | | | | Summary: This way it works better with MinGW. Subscribers: mstorsjo, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D67887 llvm-svn: 372493
* NFC: Change ObjCQualified*TypesAreCompatible to takeJames Y Knight2019-09-214-46/+35
| | | | | | | | | ObjCObjectPointerType arguments. All callers already had one, just creating a QualType to pass, after which the function cast it right back. llvm-svn: 372492
* [InstSimplify] simplifyUnsignedRangeCheck(): X >= Y && Y == 0 --> Y == 0Roman Lebedev2019-09-212-7/+4
| | | | | | https://rise4fun.com/Alive/v9Y4 llvm-svn: 372491
* [InstSimplify][NFC] Reorganize simplifyUnsignedRangeCheck() to emphasize ↵Roman Lebedev2019-09-211-8/+11
| | | | | | | | and/or symmetry Only a single `X >= Y && Y == 0 --> Y == 0` fold appears to be missing. llvm-svn: 372490
* [NFC][InstSimplify] Add exhaustive test coverage for ↵Roman Lebedev2019-09-211-0/+132
| | | | | | | | simplifyUnsignedRangeCheck(). One case is not handled. llvm-svn: 372489
* [Docs] Updates sidebar linksDeForest Richards2019-09-211-0/+3
| | | | | | Adds sidebar links to mailing lists, IRC, and meetups and social events. llvm-svn: 372488
* [Docs] Adds new page for Getting Involved articlesDeForest Richards2019-09-212-197/+210
| | | | | | Adds a new page for existing Getting Involved, Development Process, and Community Proposals articles. Also moves Mailing Lists, Meetups and social events, and IRC sections. llvm-svn: 372487
* [LLDB] Cast -1 (as invalid socket) to the socket type before comparingMartin Storsjo2019-09-212-6/+7
| | | | | | | | | | This silences warnings about comparison of integers between unsigned long long (which is what the Windows SOCKET type is) and signed int when building in MinGW mode. Differential Revision: https://reviews.llvm.org/D67863 llvm-svn: 372486
* [LLDB] Use SetErrorStringWithFormatv for cases that use LLVM style format ↵Martin Storsjo2019-09-212-6/+6
| | | | | | | | | | | strings SetErrorStringWithFormat only supports normal printf style format strings. Differential Revision: https://reviews.llvm.org/D67862 llvm-svn: 372485
* [LLDB] Use LLVM_FALLTHROUGH instead of a custom commentMartin Storsjo2019-09-211-1/+1
| | | | | | | | This fixes a warning when built with Clang in MinGW mode. Differential Revision: https://reviews.llvm.org/D67860 llvm-svn: 372484
* [LLDB] Check for the GCC/MinGW compatible arch defines for windows, in ↵Martin Storsjo2019-09-212-5/+5
| | | | | | | | | | | addition to MSVC defines This matches how it is done in all other similar ifdefs throughout lldb. Differential Revision: https://reviews.llvm.org/D67858 llvm-svn: 372483
* [LLDB] Fix compilation for MinGW, remove redundant class name on inline memberMartin Storsjo2019-09-211-1/+1
| | | | | | | | | | | | This fixes build errors like these: NativeRegisterContextWindows.h:22:33: error: extra qualification on member 'NativeRegisterContextWindows' NativeRegisterContextWindows::NativeRegisterContextWindows( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ Differential Revision: https://reviews.llvm.org/D67856 llvm-svn: 372482
* [CodeView] Add pragma push/pop_macro for ARM64_FPSR to enum headerMartin Storsjo2019-09-211-0/+7
| | | | | | | | | | | | This fixes (one aspect of) compilation of LLDB with MSVC for ARM64. LLDB source files include intrin.h, and the MSVC intrin.h transitively includes arm64intr.h, which has an ARM64_FPSR define, which clashes with the enum declaration. Differential Revision: https://reviews.llvm.org/D67864 llvm-svn: 372481
* SROA: Check Total Bits of vector typeSuyog Sarda2019-09-212-0/+32
| | | | | | | | | | While Promoting alloca instruction of Vector Type, Check total size in bits of its slices too. If they don't match, don't promote the alloca instruction. Bug : https://bugs.llvm.org/show_bug.cgi?id=42585 llvm-svn: 372480
* Test mail. NFC.Suyog Sarda2019-09-211-1/+1
| | | | | | Testing commit acces. NFC. llvm-svn: 372479
* Recommit [SampleFDO] Expose an interface to return the size of a sectionWei Mi2019-09-215-2/+85
| | | | | | | | | | | | | | | | | | | | | or the size of the profile for profile in ExtBinary format. Fix a test failure on Mac. [SampleFDO] Expose an interface to return the size of a section or the size of the profile for profile in ExtBinary format. Sometimes we want to limit the size of the profile by stripping some functions with low sample count or by stripping some function names with small text size from profile symbol list. That requires the profile reader to have the interfaces returning the size of a section or the size of total profile. The patch add those interfaces. At the same time, add some dump facility to show the size of each section. Differential revision: https://reviews.llvm.org/D67726 llvm-svn: 372478
* [Attributor] Implement "norecurse" function attribute deductionHideto Ueno2019-09-214-62/+179
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch introduces `norecurse` function attribute deduction. `norecurse` will be deduced if the following conditions hold: * The size of SCC in which the function belongs equals to 1. * The function doesn't have self-recursion. * We have `norecurse` for all call site. To avoid a large change, SCC is calculated using scc_iterator in InfoCache initialization for now. Reviewers: jdoerfert, sstefan1 Reviewed By: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67751 llvm-svn: 372475
* [Support] Add a DataExtractor constructor that takes ArrayRef<uint8_t>Fangrui Song2019-09-213-21/+16
| | | | | | | | | | The new constructor can simplify some llvm-readobj call sites. Reviewed By: grimar, dblaikie Differential Revision: https://reviews.llvm.org/D67797 llvm-svn: 372473
* [Docs] Bug fix for document not included in toctreeDeForest Richards2019-09-211-0/+3
| | | | | | Fixes 'document not included in toctree' bug for FAQ and Lexicon topics. llvm-svn: 372470
* [Docs] Updates sidebar linksDeForest Richards2019-09-212-15/+10
| | | | | | Adds additional links to sidebar. Also removes Glossary and FAQ from LLVM Design & Overview section. (These links now reside on the sidebar.) llvm-svn: 372469
OpenPOWER on IntegriCloud