summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* clang-format: [JS] support `interface` as a free standing identifier.Martin Probst2016-04-192-0/+18
| | | | | | | | | | | | | | | Summary: `interface` can be used as a fee standing identifier in JavaScript/TypeScript. This change uses the heuristic of whether it's followed by another identifier as an indication. Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D19240 llvm-svn: 266789
* [builtin_expect] tighten checks, add test, add commentsSanjay Patel2016-04-191-25/+50
| | | | llvm-svn: 266788
* reduce indentation; NFCISanjay Patel2016-04-191-9/+6
| | | | llvm-svn: 266787
* IR: Enable debug info type ODR uniquing for forward declsDuncan P. N. Exon Smith2016-04-197-13/+212
| | | | | | | | | | | | | | | | | | | | | | | | Add a new method, DICompositeType::buildODRType, that will create or mutate the DICompositeType for a given ODR identifier, and use it in LLParser and BitcodeReader instead of DICompositeType::getODRType. The logic is as follows: - If there's no node, create one with the given arguments. - Else, if the current node is a forward declaration and the new arguments would create a definition, mutate the node to match the new arguments. - Else, return the old node. This adds a missing feature supported by the current DITypeIdentifierMap (which I'm slowly making redudant). The only remaining difference is that the DITypeIdentifierMap has a "the-last-one-wins" rule, whereas DICompositeType::buildODRType has a "the-first-one-wins" rule. For now I'm leaving behind DICompositeType::getODRType since it has obvious, low-level semantics that are convenient for unit testing. llvm-svn: 266786
* [CodeGen] Widen non-power-of-2 vector HFA base types.Ahmed Bougacha2016-04-194-30/+92
| | | | | | | | | | | | | | | | | | | | | | | Currently, for the ppc64--gnu and aarch64 ABIs, we recognize: typedef __attribute__((__ext_vector_type__(3))) float v3f32; typedef __attribute__((__ext_vector_type__(16))) char v16i8; struct HFA { v3f32 a; v16i8 b; }; as an HFA. Since the first type encountered is used as the base type, we pass the HFA as: [2 x <3 x float>] Which leads to incorrect IR (relying on padding values) when the second field is used. Instead, explicitly widen the vector (after size rounding) in isHomogeneousAggregate. Differential Revision: http://reviews.llvm.org/D18998 llvm-svn: 266784
* [CodeGen] Fix whitespace. NFC.Ahmed Bougacha2016-04-191-1/+1
| | | | llvm-svn: 266783
* Pass dwarf-version to cc1as.Douglas Katzman2016-04-192-0/+11
| | | | | | Fix PR26999 - crashing in cc1as with any '*bsd' target. llvm-svn: 266775
* Preliminary changes for fixing PR27241. Generalized/restructured some thingsDavid L Kreitzer2016-04-191-19/+37
| | | | | | | | | in preparation for enabling the outgoing parameter store-to-push optimization for 64-bit targets. Differential Revision: http://reviews.llvm.org/D19222 llvm-svn: 266774
* Linker: Simplify test/Linker/dicompositetype-unique.ll, NFCDuncan P. N. Exon Smith2016-04-191-11/+9
| | | | | | | | | Simplify the test logic a little, sharing logic between the two linking directions by specifying -check-prefix multiple times. Now it's more obvious what's hte same and different between the two directions, and there is less CHECK duplication. This is a prep for expanding the test. llvm-svn: 266773
* [llvm-pdbdump] Print a better error message when PDB loading fails.Zachary Turner2016-04-194-17/+29
| | | | | | Differential Revision: http://reviews.llvm.org/D19234 llvm-svn: 266772
* [Release Notes] Mention Clang-tidy misc-unused-using-decls check.Eugene Zelenko2016-04-191-0/+5
| | | | llvm-svn: 266770
* [Orc] Add move ops to RPC to satisfy MSVC.Lang Hames2016-04-191-0/+23
| | | | llvm-svn: 266768
* [ValueTracking] Improve isImpliedCondition for conditions with matching ↵Chad Rosier2016-04-197-22/+636
| | | | | | | | | | | | | | | operands. This patch improves SimplifyCFG to catch cases like: if (a < b) { if (a > b) <- known to be false unreachable; } Phabricator Revision: http://reviews.llvm.org/D18905 llvm-svn: 266767
* [Orc] Add pthread dependence to the RPCUtilsTest unit test.Lang Hames2016-04-191-0/+2
| | | | llvm-svn: 266766
* reduce indentation; NFCISanjay Patel2016-04-191-10/+7
| | | | llvm-svn: 266765
* IR: LLVMContextTest => DebugTypeODRUniquingTest, NFCDuncan P. N. Exon Smith2016-04-192-4/+4
| | | | | | | | | The second test in this file is actually testing DICompositeType API, not LLVMContext API (after r266742 moved it to a higher level). This really doesn't make sense in an LLVMContextTest. Rename the tests before adding more. llvm-svn: 266764
* [Clang][Builtin][AVX512] Adding intrinsics for VGETMANT{PD|PS} and ↵Michael Zuckerman2016-04-195-0/+481
| | | | | | | | VGETEXP{PD|PS} instruction set Differential Revision: http://reviews.llvm.org/D19197 llvm-svn: 266763
* Linker: Avoid constructing ValueMap::MDMapTDuncan P. N. Exon Smith2016-04-192-2/+3
| | | | | | | | | Calling ValueMap::MD lazily constructs a ValueMap, which mallocs the buckets. Instead of swapping constructed maps, move around the underlying Optional<MDMapT>. This gets rid of some unnecessary malloc traffic from r266579 (not that it showed up on a profile). llvm-svn: 266761
* [ITTNOTIFY] Remove serialized parallel regions from frame notificationJonathan Peyton2016-04-195-65/+10
| | | | llvm-svn: 266760
* [DependenceAnalysis] Refactor uses of getConstantPart. NFC.Brendon Cahoon2016-04-191-36/+21
| | | | | | | | | | Rather than checking for the SCEV type prior to calling getContantPart, perform the checks in the function. This reduces the number of places where the checks are needed. Differential Revision: http://reviews.llvm.org/D19241 llvm-svn: 266759
* Revert "[OPENMP] Codegen for untied tasks."Alexey Bataev2016-04-197-240/+92
| | | | | | This reverts commit r266754. llvm-svn: 266755
* [OPENMP] Codegen for untied tasks.Alexey Bataev2016-04-197-92/+240
| | | | | | | | If the untied clause is present on a task construct, any thread in the team can resume the task region after a suspension. Patch adds proper codegen for untied tasks. llvm-svn: 266754
* Revert r266747 (Compilation for Intel MCU (Part 1/3)) since it breaks a few ↵Andrey Turetskiy2016-04-194-63/+8
| | | | | | buildbots. llvm-svn: 266753
* Fix Gold test after r266750 (ModuleLinker: Do not import linkonce/weak as ↵Mehdi Amini2016-04-192-2/+2
| | | | | | | "external_weak") From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266752
* IR: Use Optional instead of unique_ptr for Metadata map in ValueMap, NFCDuncan P. N. Exon Smith2016-04-191-2/+2
| | | | llvm-svn: 266751
* ModuleLinker: Do not import linkonce/weak as "external_weak"Mehdi Amini2016-04-192-4/+3
| | | | | | | | | | | | | | | Summary: There is no reason to have a weak reference because the external definition will be weak. Reviewers: rafael Subscribers: llvm-commits, tejohnson Differential Revision: http://reviews.llvm.org/D19267 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266750
* IR: Use Optional instead of unique_ptr for debug info ODR type map, NFCDuncan P. N. Exon Smith2016-04-192-3/+2
| | | | | | Save a level of malloc indirection. llvm-svn: 266749
* [ASTMatchers] Do not try to memoize nodes we can't compare.Samuel Benzaquen2016-04-192-19/+43
| | | | | | | | | | | | | | | | Summary: Prevent hasAncestor from comparing nodes that are not supported. hasDescendant was fixed some time ago to avoid this problem. I'm applying the same fix to hasAncestor: if any object in the Builder map is not comparable, skip the cache. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D19231 llvm-svn: 266748
* Compilation for Intel MCU (Part 1/3)Andrey Turetskiy2016-04-194-8/+63
| | | | | | | | | | | Add -miamcu option which: * Sets IAMCU triple * Sets IAMCU ABI * Enforces static compilation Differential Revision: http://reviews.llvm.org/D18398 llvm-svn: 266747
* Enable ODR uniquing of DITypes in more placesTeresa Johnson2016-04-192-0/+7
| | | | | | | | | | | | | | | | | | | | | | | Summary: This is a follow-on to apply Duncan's new DIType ODR uniquing from r266549 and r266713 in more places. Enable enableDebugTypeODRUniquing() for ThinLTO backends invoked via libLTO, similar to the way r266549 enabled this for ThinLTO backend threads launched from gold-plugin. Also enable enableDebugTypeODRUniquing in opt, similar to the way r266549 enabled this for llvm-link (on by default, can be disabled with new -disable-debug-info-type-map option), since we may perform ThinLTO importing from opt. Reviewers: dexonsmith, joker.eph Subscribers: joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D19263 llvm-svn: 266746
* [Clang][AVX512][BUILTIN] Adding intrinsics support to VEXTRACT{I|F} and ↵Michael Zuckerman2016-04-199-1/+787
| | | | | | | | VINSERT{I|F} instruction set Differential Revision: http://reviews.llvm.org/D19097 llvm-svn: 266745
* Summary:Martin Probst2016-04-191-1/+14
| | | | | | | | | | | | | | | | | | | clang-format: [JS] unit tests for type aliases. Also adds a test for "foo as bar" casts. Spec: https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#3.10 These are already handled correctly. Reviewers: djasper Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D19206 llvm-svn: 266744
* clang-format: [JS] simplify import/export.Martin Probst2016-04-192-9/+13
| | | | | | | | | | | | | | | | | | | Summary: Change `import` and `export` parsing to special case the renaming syntax (`import x, {y as bar} ...`, `export {x}`) and otherwise just parse a regular structural element. This simplifies the code a bit and should be more correct - it's easier to recognise the specific import syntax than to recognise arbitrary expressions and declarations. Reviewers: djasper Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D19242 llvm-svn: 266743
* IR: getOrInsertODRUniquedType => DICompositeType::getODRType, NFCDuncan P. N. Exon Smith2016-04-198-61/+104
| | | | | | | | | | | | | | Lift the API for debug info ODR type uniquing up a layer. Instead of clients managing the map directly on the LLVMContext, add a static method to DICompositeType called getODRType and handle the map in the background. Also adds DICompositeType::getODRTypeIfExists, so far just for convenience in the unit tests. This simplifies the logic in LLParser and BitcodeReader. Because of argument spam there are actually a few more lines of code now; I'll see if I come up with a reasonable way to clean that up. llvm-svn: 266742
* Relate domains to statements during construction [NFC]Johannes Doerfert2016-04-191-17/+21
| | | | | | | Instead of the Scop::getPwAff() function we now use the ScopStmt::getPwAff() function during the statements domain construction. llvm-svn: 266741
* Add user assumptions after domain generation [NFC]Johannes Doerfert2016-04-191-1/+2
| | | | llvm-svn: 266740
* Do not build domains for out of SCoP blocks [NFC]Johannes Doerfert2016-04-191-0/+7
| | | | llvm-svn: 266739
* Mark Scop::getDomainConditions as const [NFC]Johannes Doerfert2016-04-192-4/+4
| | | | llvm-svn: 266738
* IR: Require DICompositeType for ODR uniquing type mapDuncan P. N. Exon Smith2016-04-196-19/+22
| | | | | | | | Tighten up the API for debug info ODR type uniquing in LLVMContext. The only reason to allow other DIType subclasses is to make the unit tests prettier :/. llvm-svn: 266737
* Revert "LLDB: Fixed two race conditions when stopping private state thread"Pavel Labath2016-04-192-8/+9
| | | | | | This reverts commit r266733 as it causes a number of failures on linux buildbots. llvm-svn: 266736
* Initial version of misc-unused-using-decl check.Daniel Jasper2016-04-198-1/+162
| | | | llvm-svn: 266735
* [clang-tidy] readability-container-size-empty fixesGabor Horvath2016-04-192-8/+35
| | | | | | | | | | | | Summary: This patch fixes PR27410 and adds std::basic_string support. Reviewers: Eugene.Zelenko, hokein Subscribers: cfe-commits, o.gyorgy Differential Revision: http://reviews.llvm.org/D19262 llvm-svn: 266734
* LLDB: Fixed two race conditions when stopping private state threadMarianne Mailhot-Sarrasin2016-04-192-9/+8
| | | | | | | | | | | | | | When stopping the private state thread, there was a race condition between the time the thread exits (resetting the HostThread object) and the time a Join was attempted, especially in the case of a timeout. The previous workaround of copying the HostThread object is not enough, since on a Reset the internal thread stuff gets nulled out regardless of which HostThread object actually has Reset called on it, resulting in an attempt to dereference a null pointer on the subsequent call to Join from the copy as well. Additionally, there was a race between the detach (called when stopping the process) and the stop itself, causing the stop to time out because it was waiting for the private state thread to see the stop state, but it had exited immediately after entering the detached state. Patch by cameron314 Differential Revision: http://reviews.llvm.org/D19122 llvm-svn: 266733
* [InstCombine][X86] Added extra tests introduced for D17490Simon Pilgrim2016-04-194-0/+578
| | | | llvm-svn: 266732
* [InstCombine][X86] Regenerate SSE combine tests as part of setup for D17490Simon Pilgrim2016-04-196-468/+581
| | | | | | Regenerated with utils/update_test_checks.py llvm-svn: 266731
* Framework to allow testing of static libc++abiBen Craig2016-04-194-23/+41
| | | | | | | | | | | | | | | | | | | | | | | These changes make linking against static libraries more explicit. Instead of using -lc++ and -lc++abi in the tests, an absolute path to the library is provided instead. The choices of shared vs. static, and the choices of library paths for both libcxx and libcxxabi needed to be exchanged for this to work. In other words, libcxx tests need to know the library path of libcxxabi, and whether libcxxabi is a static or shared library. Some Mac specific logic for testing against libc++abi had to be moved from libcxxabi's config.py, as it was overriding choices made in libcxx's config.py. That logic is now in libcxx's target_info.py. Testing a static libcxx on Linux will now automatically link in librt most of the time. Previously, lots of pthread tests would fail because of an unresolved clock_gettime. http://reviews.llvm.org/D16544 llvm-svn: 266730
* Enable testing for static libc++abiBen Craig2016-04-193-11/+13
| | | | | | | | | | | | | This change leverages framework changes made in libcxx. See those changes for more details. (http://reviews.llvm.org/D16544) Some Mac specific logic for testing against libc++abi had to be moved from libcxxabi's config.py, as it was overriding choices made in libcxx's config.py. That logic is now in libcxx's target_info.py. http://reviews.llvm.org/D16545 llvm-svn: 266729
* [X86][AVX2] Prefer VPERMQ/VPERMPD over VINSERTI128/VINSERTF128 for unary ↵Simon Pilgrim2016-04-196-36/+58
| | | | | | | | | | shuffles Using VPERMQ/VPERMPD allows memory folding of the (repeated) input where VINSERTI128/VINSERTF128 can not. Differential Revision: http://reviews.llvm.org/D19228 llvm-svn: 266728
* Updated comment. NFC.George Rimar2016-04-191-2/+2
| | | | llvm-svn: 266727
* D17487: [analyzer][scan-build-py] flag filter modification for compilation ↵Laszlo Nagy2016-04-1920-735/+823
| | | | | | database creation llvm-svn: 266726
OpenPOWER on IntegriCloud