summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "[CodeGen][X86] Expand USUBSAT to UMAX+SUB, also for vectors"Nikita Popov2019-01-146-778/+1651
| | | | | | | | | This reverts commit r351125. I missed test changes in an SLPVectorizer test, due to the cost model changes. Reverting for now. llvm-svn: 351129
* [Object] Return a symbol_iterator, rather than a basic_symbol_iterator, fromLang Hames2019-01-142-2/+2
| | | | | | | | | | | | | | MachOObjectFile::getSymbolByIndex. ObjectFile derivatives should prefer symbol_iterator/SymbolRef over basic_symbol_iterator/BasicSymbolRef where possible, as the former retain their link to the ObjectFile (rather than a SymbolicFile) and provide more functionality. No test for this: Existing code is working, and we don't have (m)any libObject unit tests. I'll think about how we can test more systematically going forward. llvm-svn: 351128
* [WebAssembly][FastISel] Do not assume naive CmpInst loweringThomas Lively2019-01-145-53/+150
| | | | | | | | | | | | | | Summary: Fixes https://bugs.llvm.org/show_bug.cgi?id=40172. See test/CodeGen/WebAssembly/PR40172.ll for an explanation. Reviewers: dschuff, aheejin Subscribers: nikic, llvm-commits, sunfish, jgravelle-google, sbc100 Differential Revision: https://reviews.llvm.org/D56457 llvm-svn: 351127
* [llvm-ar] Temporarily remove failing test which is breaking buildbotsJordan Rupprecht2019-01-141-13/+0
| | | | llvm-svn: 351126
* [CodeGen][X86] Expand USUBSAT to UMAX+SUB, also for vectorsNikita Popov2019-01-146-1651/+778
| | | | | | | | | | | Related to https://bugs.llvm.org/show_bug.cgi?id=40123. Rather than scalarizing, expand a vector USUBSAT into UMAX+SUB, which produces much better code for X86. Differential Revision: https://reviews.llvm.org/D56636 llvm-svn: 351125
* [opaque pointer types] Update GetElementPtr creation APIs toJames Y Knight2019-01-143-22/+91
| | | | | | | | | | consistently accept a pointee-type argument. Note: this also adds a new C API and soft-deprecates the old C API. Differential Revision: https://reviews.llvm.org/D56559 llvm-svn: 351124
* [opaque pointer types] Update LoadInst creation APIs to consistentlyJames Y Knight2019-01-145-101/+115
| | | | | | | | | | accept a return-type argument. Note: this also adds a new C API and soft-deprecates the old C API. Differential Revision: https://reviews.llvm.org/D56558 llvm-svn: 351123
* [opaque pointer types] Update InvokeInst creation APIs to consistentlyJames Y Knight2019-01-144-67/+158
| | | | | | | | | | accept a callee-type argument. Note: this also adds a new C API and soft-deprecates the old C API. Differential Revision: https://reviews.llvm.org/D56557 llvm-svn: 351122
* [opaque pointer types] Update CallInst creation APIs to consistentlyJames Y Knight2019-01-146-80/+166
| | | | | | | | | | accept a callee-type argument. Note: this also adds a new C API and soft-deprecates the old C API. Differential Revision: https://reviews.llvm.org/D56556 llvm-svn: 351121
* [llvm-ar] Flatten thin archives.Jordan Rupprecht2019-01-149-45/+93
| | | | | | | | | | | | | | | | | | | | | | Summary: Normal behavior for GNU ar is to flatten thin archives when adding them to another thin archive, i.e. add the members directly instead of nesting the archive. Some refactoring done as part of this patch to ease things: - Consolidate `addMember`/`addLibMember` methods - Rename `addMember` to `addChildMember` to make it more visibly different at the call site that an archive child is passed instead of a regular member - Pass in a separate vector and splice it back into position instead of passing a vector + optional Pos (which makes expanding libs tricky) This fixes PR37530 as raised by https://github.com/ClangBuiltLinux/linux/issues/279. Reviewers: mstorsjo, pcc, ruiu Reviewed By: mstorsjo Subscribers: llvm-commits, tpimh, nickdesaulniers Differential Revision: https://reviews.llvm.org/D56508 llvm-svn: 351120
* [compiler-rt] UBSan: Disable 3 of the new alignment assumption tests on android.Roman Lebedev2019-01-143-5/+10
| | | | | | | | | | | Once again, just like with r338296, these tests seem to only have failed sanitizer-x86_64-linux-android, so let's just disable them, since that seems like the pre-established practice here.. To be noted, they failed on some configs there, but not all, so it is not XFAIL. llvm-svn: 351119
* [SanitizerCoverage][NFC] Use appendToUsed instead of includeJonathan Metzman2019-01-142-16/+18
| | | | | | | | | | | | | | | | | | | Summary: Use appendToUsed instead of include to ensure that SanitizerCoverage's constructors are not stripped. Also, use isOSBinFormatCOFF() to determine if target binary format is COFF. Reviewers: pcc Reviewed By: pcc Subscribers: hiraditya Differential Revision: https://reviews.llvm.org/D56369 llvm-svn: 351118
* [compiler-rt] Add option to disable libc++ buildShoaib Meenai2019-01-141-9/+13
| | | | | | | | | | | | | Having libc++ checked out doesn't necessarily mean it should be built; for example, the same source tree might be used for multiple build configurations, and libc++ might not build in some of those configurations. Add an option to compiler-rt's build to disable building libc++. This defaults to ON, so it shouldn't change any existing build configurations. Differential Revision: https://reviews.llvm.org/D56479 llvm-svn: 351117
* [ASTDump] NFC: Move dumping of QualType node to TextNodeDumperStephen Kelly2019-01-143-5/+11
| | | | | | | | | | Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56641 llvm-svn: 351116
* [ASTDump] NFC: Canonicalize handling of TypeLocInfoStephen Kelly2019-01-141-4/+3
| | | | | | | | | | | | Summary: No need to avoid the Visit method. Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56640 llvm-svn: 351115
* [ASTDump] NFC: Move Type Visit implementation to TextNodeDumperStephen Kelly2019-01-143-32/+47
| | | | | | | | | | Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56639 llvm-svn: 351114
* [lit] llvm-lit.in: specify file encoding to UTF-8George Karpenkov2019-01-141-0/+1
| | | | | | | | | | | | | | | | This is needed because otherwise if source dir is at location whose path contains non-ASCII character then python will complain about SyntaxError. SyntaxError: Non-ASCII character '\xc4' in file /home/D?vis/libc++/src/build/bin/llvm-lit on line 16, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details Patch by davispuh Differential Revision: https://reviews.llvm.org/D50201 llvm-svn: 351113
* NFC: Fix nits I missed beforeStephen Kelly2019-01-142-3/+2
| | | | llvm-svn: 351112
* [X86] Silence a -Wparentheses warning on gcc. NFCCraig Topper2019-01-141-1/+1
| | | | llvm-svn: 351111
* [compiler-rt] Update ubsan_interface.inc with alignment assumption handlersRoman Lebedev2019-01-141-0/+2
| | | | | | | Somehow this escaped my local testing. A follow-up for r351106. llvm-svn: 351110
* [test] Disable sunrpc tests when rpc/xdr.h is missingMichal Gorny2019-01-149-12/+20
| | | | | | | | | | | | | | | | | Disable tests requiring sunrpc when the relevant headers are missing. In order to accommodate that, move the header check from sanitizer_common to base-config-ix, and define the check result as a global variable there. Use it afterwards both for definition needed by sanitizer_common, and to control 'sunrpc' test feature. While at it, remove the append_have_file_definition macro that was used only once, and no longer fits the split check-definition. Bug report: https://github.com/google/sanitizers/issues/974 Differential Revision: https://reviews.llvm.org/D47819 llvm-svn: 351109
* Improve a -Wunguarded-availability noteErik Pilkington2019-01-149-56/+65
| | | | | | | | | | | Mention the deployment target, and don't say "partial" which doesn't really mean anything to users. rdar://problem/33601513 Differential revision: https://reviews.llvm.org/D56523 llvm-svn: 351108
* expand DIContext interface a bitDavid Callahan2019-01-141-1/+6
| | | | | | | | | | | | | | | | Summary: This allows a bit more control for scenarios where client might modifiy a DIContext Reviewers: twoh, Kader, modocache Reviewed By: Kader Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D56505 llvm-svn: 351107
* [compiler-rt][UBSan] Sanitization for alignment assumptions.Roman Lebedev2019-01-1419-0/+366
| | | | | | | | | | | | | | | | | | Summary: This is the compiler-rt part. The clang part is D54589. Reviewers: filcab, vsk, #sanitizers, vitalybuka, rsmith, morehouse Reviewed By: morehouse Subscribers: rjmccall, krytarowski, rsmith, kcc, srhines, kubamracek, dberris, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D54590 llvm-svn: 351106
* [clang][UBSan] Sanitization for alignment assumptions.Roman Lebedev2019-01-1419-26/+607
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: UB isn't nice. It's cool and powerful, but not nice. Having a way to detect it is nice though. [[ https://wg21.link/p1007r3 | P1007R3: std::assume_aligned ]] / http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1007r2.pdf says: ``` We propose to add this functionality via a library function instead of a core language attribute. ... If the pointer passed in is not aligned to at least N bytes, calling assume_aligned results in undefined behaviour. ``` This differential teaches clang to sanitize all the various variants of this assume-aligned attribute. Requires D54588 for LLVM IRBuilder changes. The compiler-rt part is D54590. Reviewers: ABataev, craig.topper, vsk, rsmith, rnk, #sanitizers, erichkeane, filcab, rjmccall Reviewed By: rjmccall Subscribers: chandlerc, ldionne, EricWF, mclow.lists, cfe-commits, bkramer Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D54589 llvm-svn: 351105
* [llvm][IRBuilder] Introspection for CreateAlignmentAssumption*() functionsRoman Lebedev2019-01-141-7/+19
| | | | | | | | | | | | | | | | | | | | Summary: Clang calls these functions to produce IR for assume-aligned attributes. I would like to teach UBSAN to verify these assumptions. For that, i need to access the final pointer on which the check is performed, and the actual `icmp` that does the check. The alternative to this would be to fully re-implement this in clang. Reviewers: spatel, dneilson, craig.topper, dblaikie, hfinkel Reviewed By: hfinkel Subscribers: hfinkel, llvm-commits Differential Revision: https://reviews.llvm.org/D54588 llvm-svn: 351104
* [X86][SSSE3] Bailout of lowerVectorShuffleAsPermuteAndUnpack for ↵Simon Pilgrim2019-01-142-11/+19
| | | | | | | | shuffle-with-zero (PR40306) If we have PSHUFB and we're shuffling with a zero vector, then we are better off not doing VECTOR_SHUFFLE(UNPCK()) as we lose track of those zero elements. llvm-svn: 351103
* Ignore PhiNodes when mapping sample profile dataDavid Callahan2019-01-141-3/+3
| | | | | | | | | | | | | | Summary: Like branch instructions, phi nodes frequently do not have debug information related to the block they are in and so they should be ignored. Reviewers: danielcdh, twoh, Kader, wmi Reviewed By: wmi Subscribers: aprantl, llvm-commits Differential Revision: https://reviews.llvm.org/D55094 llvm-svn: 351102
* lld-link: Spelling fixes in comments and minor style tweaksNico Weber2019-01-143-9/+12
| | | | | | | | | | | | | | Changes a few things I noticed while reading this code. - fix a few typos in comments - remove two `auto` uses where the type wasn't clear to me - add comment saying that two sequential checks for `if (SparseChunks[SectionNumber] == PendingComdat)` are intentional - name two parameters No behavior change. Differential Revision: https://reviews.llvm.org/D56677 llvm-svn: 351101
* Revert r351051 "[clangd] Unlink VFS working dir from OS working dir."Amara Emerson2019-01-141-3/+2
| | | | | | The llvm commit r351050 broke some bots and was reverted. llvm-svn: 351100
* [llvm-objcopy] [COFF] Remove unreferenced undefined externals with ↵Martin Storsjo2019-01-144-4/+21
| | | | | | | | --strip-unneeded. Differential Revision: https://reviews.llvm.org/D56660 llvm-svn: 351099
* [llvm-objcopy] [COFF] Test absolute symbols wrt --strip-unneeded and ↵Martin Storsjo2019-01-143-0/+8
| | | | | | | | --discard-all. NFC. Differential Revision: https://reviews.llvm.org/D56659 llvm-svn: 351098
* [analyzer] [PR39792] false positive on strcpy targeting struct membersGeorge Karpenkov2019-01-142-7/+12
| | | | | | | | Patch by Pierre van Houtryve. Differential Revision: https://reviews.llvm.org/D55226 llvm-svn: 351097
* [analyzer] [NFC] Remove unused undefined method.George Karpenkov2019-01-141-2/+0
| | | | | | Wow, at no point the linker or compiler complaints about that! llvm-svn: 351096
* Revert "Merge branch 'arcpatch-D55094'"David Callahan2019-01-141-3/+3
| | | | | | | | | This reverts commit a9788dd6587d67c856df74eedff5a6ad34ce8320, reversing changes made to f1309ffebf718d16aec4fab83380556c660e2825. unintended merge pushed llvm-svn: 351095
* [MC][X86] Add test case for invalid use of "(%dx)" operand.Nirav Dave2019-01-141-0/+4
| | | | llvm-svn: 351094
* [x86] lower extracted add/sub to horizontal vector mathSanjay Patel2019-01-144-407/+696
| | | | | | | | | | | | | | add (extractelt (X, 0), extractelt (X, 1)) --> extractelt (hadd X, X), 0 This is the integer sibling to D56011. There's an additional restriction to only to do this transform in the case where we don't have extra extracts from the source vector. Without that, we can fail to match larger horizontal patterns that are more beneficial than this minimal case. An improvement to the more general h-op lowering may allow us to remove the restriction here in a follow-up. llvm-svn: 351093
* Merge branch 'arcpatch-D55094'David Callahan2019-01-141-3/+3
| | | | llvm-svn: 351092
* Revert "[VFS] Allow multiple RealFileSystem instances with independent CWDs."Amara Emerson2019-01-143-161/+30
| | | | | | This reverts commit r351079, r351069 and r351050 as it broken the greendragon bots on macOS. llvm-svn: 351091
* gn build: Unbreak mac build after r350977Nico Weber2019-01-141-1/+3
| | | | llvm-svn: 351090
* [WebAssembly] Remove old builtinsDan Gohman2019-01-143-57/+0
| | | | | | | | | This removes the old grow_memory and mem.grow-style builtins, leaving just the memory.grow-style builtins. Differential Revision: https://reviews.llvm.org/D56645 llvm-svn: 351089
* gn build: Fix path to gn.py in docsNico Weber2019-01-142-3/+3
| | | | llvm-svn: 351088
* cmake: Don't install plugins used for examples or testsTom Stellard2019-01-143-3/+3
| | | | | | | | | | | | | | | | Summary: This patch drops install targets for LLVMHello.so, TestPlugin.so, and BugpointPasses.so. Reviewers: chandlerc, beanz, thakis, philip.pfaffe Reviewed By: chandlerc Subscribers: SquallATF, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D55965 llvm-svn: 351087
* [WebAssembly] Remove tests for old intrinsics.Dan Gohman2019-01-141-40/+0
| | | | | | | This is a followup to r351084 which removes the tests for the old intrinsic names. llvm-svn: 351086
* gn build: svn propset svn:executable on utils/gn/gn.pyNico Weber2019-01-141-0/+0
| | | | llvm-svn: 351085
* [WebAssembly] Remove old intrinsicsDan Gohman2019-01-142-41/+0
| | | | | | | | | This removes the old grow_memory and mem.grow-style intrinsics, leaving just the memory.grow-style intrinsics. Differential Revision: https://reviews.llvm.org/D56645 llvm-svn: 351084
* [WebAssembly] Add a release notes blurbDan Gohman2019-01-141-0/+11
| | | | | | | | Bid farewell to LLVM_EXPERIMENTAL_TARGETS_TO_BUILD! Differential Revision: https://reviews.llvm.org/D56648 llvm-svn: 351083
* [Sema] Expose a control flag for integer to pointer ext warningKristina Brooks2019-01-143-3/+15
| | | | | | | | | | | | | While building openJDK11u, it seems that some of the code in the native core libraries make liberal use of integer to pointer comparisons. We currently have no flag to disabled this warning. This add such a flag. Patch by Kader (abdoul-kader keita) Differential Revision: https://reviews.llvm.org/D56241 llvm-svn: 351082
* [clangd] Add Limit parameter for xref.Haojian Wu2019-01-1412-40/+92
| | | | | | | | | | Reviewers: sammccall Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D56597 llvm-svn: 351081
* [lldbsuite] Skip two more flaky tests on WindowsStella Stamenova2019-01-142-0/+2
| | | | | | TestNamespaceLookup occasionally passes unexpectedly and TestExitDuringStep occasionally fails unexpectedly llvm-svn: 351080
OpenPOWER on IntegriCloud