- 17 Jan, 2018 25 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322003 | niravd | 2018-01-08 08:21:35 -0800 (Mon, 08 Jan 2018) | 11 lines [DAG] Teach BaseIndexOffset to correctly handle with indexed operations BaseIndexOffset address analysis incorrectly ignores offsets folded into indexed memory operations causing potential errors in alias analysis of pre-indexed operations. Reviewers: efriedma, RKSimon, hfinkel, jyknight Subscribers: hiraditya, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D41701 ``` --------------------------------------------------------------------- llvm-svn: 322693
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321751 | arsenm | 2018-01-03 10:45:37 -0800 (Wed, 03 Jan 2018) | 25 lines StructurizeCFG: Fix broken backedge detection The work order was changed in r228186 from SCC order to RPO with an arbitrary sorting function. The sorting function attempted to move inner loop nodes earlier. This was was apparently relying on an assumption that every block in a given loop / the same loop depth would be seen before visiting another loop. In the broken testcase, a block outside of the loop was encountered before moving onto another block in the same loop. The testcase would then structurize such that one blocks unconditional successor could never be reached. Revert to plain RPO for the analysis phase. This fixes detecting edges as backedges that aren't really. The processing phase does use another visited set, and I'm unclear on whether the order there is as important. An arbitrary order doesn't work, and triggers some infinite loops. The reversed RPO list seems to work and is closer to the order that was used before, minus the arbitary custom sorting. A few of the changed tests now produce smaller code, and a few are slightly worse looking. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r321806 | arsenm | 2018-01-04 09:23:24 -0800 (Thu, 04 Jan 2018) | 4 lines StructurizeCFG: xfail one of the testcases from r321751 It fails with -verify-region-info. This seems to be a issue with RegionInfo itself which existed before. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r321878 | arsenm | 2018-01-05 09:51:36 -0800 (Fri, 05 Jan 2018) | 4 lines RegionInfo: Use report_fatal_error instead of llvm_unreachable Otherwise when using -verify-region-info in a release build the error won't be emitted. ------------------------------------------------------------------------ llvm-svn: 322686
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322313 | matze | 2018-01-11 13:57:03 -0800 (Thu, 11 Jan 2018) | 18 lines PeepholeOptimizer: Do not form PHI with subreg arguments When replacing a PHI the PeepholeOptimizer currently takes the register class of the register at the first operand. This however is not correct if this argument has a subregister index. As there is currently no API to query the register class resulting from applying a subregister index to all registers in a class, we can only abort in these cases and not perform the transformation. This changes findNextSource() to require the end of all copy chains to not use a subregister if there is any PHI in the chain. I had to rewrite the overly complicated inner loop there to have a good place to insert the new check. This fixes https://llvm.org/PR33071 (aka rdar://32262041) Differential Revision: https://reviews.llvm.org/D40758 ``` --------------------------------------------------------------------- llvm-svn: 322684
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322246 | ctopper | 2018-01-10 17:38:00 -0800 (Wed, 10 Jan 2018) | 1 line [X86] Fix vpshrd builtins to require an ICE for their constant argument to match vpshld. ``` --------------------------------------------------------------------- llvm-svn: 322682
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322223 | matze | 2018-01-10 12:49:57 -0800 (Wed, 10 Jan 2018) | 5 lines TargetLoweringBase: The ios simulator has no bzero function. Make sure I really get back to the beahvior before my rewrite in r321035 which turned out not to be completely NFC as I changed the behavior for the ios simulator environment. ``` --------------------------------------------------------------------- llvm-svn: 322681
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322106 | abataev | 2018-01-09 11:08:22 -0800 (Tue, 09 Jan 2018) | 11 lines [COST]Fix PR35865: Fix cost model evaluation for shuffle on X86. Summary: If the vector type is transformed to non-vector single type, the compile may crash trying to get vector information about non-vector type. Reviewers: RKSimon, spatel, mkuper, hfinkel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D41862 ``` --------------------------------------------------------------------- llvm-svn: 322680
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322272 | zvi | 2018-01-11 04:26:52 -0800 (Thu, 11 Jan 2018) | 15 lines X86: Fix LowerBUILD_VECTORAsVariablePermute for case Src is smaller than Indices Summary: As RKSimon suggested in pr35820, in the case that Src is smaller in bit-size than Indices, need to widen Src to avoid type mismatch. Fixes pr35820 Reviewers: RKSimon, craig.topper Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D41865 ``` --------------------------------------------------------------------- llvm-svn: 322679
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321779 | rsmith | 2018-01-03 17:24:17 -0800 (Wed, 03 Jan 2018) | 7 lines PR35045: Convert injected-class-name to its corresponding simple-template-id during template argument deduction. We already did this when the injected-class-name was in P, but missed the case where it was in A. This (probably) can't happen except in implicit deduction guides. ``` --------------------------------------------------------------------- llvm-svn: 322677
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321777 | rsmith | 2018-01-03 17:02:18 -0800 (Wed, 03 Jan 2018) | 2 lines PR35028: Retain duplicate alignas attributes in template instantiation. ``` --------------------------------------------------------------------- llvm-svn: 322676
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321870 | abataev | 2018-01-05 07:20:40 -0800 (Fri, 05 Jan 2018) | 1 line [SLP] Update test checks, NFC. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r321872 | abataev | 2018-01-05 08:15:17 -0800 (Fri, 05 Jan 2018) | 1 line [SLP] Update more test checks, NFC. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r321994 | abataev | 2018-01-08 06:43:06 -0800 (Mon, 08 Jan 2018) | 13 lines [SLP] Fix PR35777: Incorrect handling of aggregate values. Summary: Fixes the bug with incorrect handling of InsertValue|InsertElement instrucions in SLP vectorizer. Currently, we may use incorrect ExtractElement instructions as the operands of the original InsertValue|InsertElement instructions. Reviewers: mkuper, hfinkel, RKSimon, spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D41767 ------------------------------------------------------------------------ llvm-svn: 322675
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322473 | a.elovikov | 2018-01-15 02:56:07 -0800 (Mon, 15 Jan 2018) | 23 lines [LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from a trunc. Summary: This method is supposed to be called for IVs that have casts in their use-def chains that are completely ignored after vectorization under PSE. However, for truncates of such IVs the same InductionDescriptor is used during creation/widening of both original IV based on PHINode and new IV based on TruncInst. This leads to unintended second call to recordVectorLoopValueForInductionCast with a VectorLoopVal set to the newly created IV for a trunc and causes an assert due to attempt to store new information for already existing entry in the map. This is wrong and should not be done. Fixes PR35773. Reviewers: dorit, Ayal, mssimpso Reviewed By: dorit Subscribers: RKSimon, dim, dcaballe, hsaito, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D41913 ``` --------------------------------------------------------------------- llvm-svn: 322673
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321791 | sam_parker | 2018-01-04 01:42:27 -0800 (Thu, 04 Jan 2018) | 4 lines [X86] Codegen test for PR37563 Adding test to ease review of D41628. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r321862 | sam_parker | 2018-01-05 00:47:23 -0800 (Fri, 05 Jan 2018) | 10 lines [DAGCombine] Fix for PR37563 While searching for loads to be narrowed, equal sized loads were not added to the list, resulting in anyext loads not being converted to zext loads. https://bugs.llvm.org/show_bug.cgi?id=35763 Differential Revision: https://reviews.llvm.org/D41628 ------------------------------------------------------------------------ llvm-svn: 322671
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321991 | sam_parker | 2018-01-08 05:21:24 -0800 (Mon, 08 Jan 2018) | 9 lines [DAGCombine] Fix for PR35761 I had falsely assumed that constant operands would be operand(1) of the bin ops that may need their constant operand to be masked. Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=35761 Differential Revision: https://reviews.llvm.org/D41667 ``` --------------------------------------------------------------------- llvm-svn: 322670
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321993 | abataev | 2018-01-08 06:33:11 -0800 (Mon, 08 Jan 2018) | 11 lines [SLP] Fix PR35628: Count external uses on extra reduction arguments. Summary: If the vectorized value is marked as extra reduction argument, its users are not considered as external users. Patch fixes this. Reviewers: mkuper, hfinkel, RKSimon, spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D41786 ``` --------------------------------------------------------------------- llvm-svn: 322669
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321963 | dim | 2018-01-07 08:45:11 -0800 (Sun, 07 Jan 2018) | 51 lines Add pre-C++11 is_constructible wrappers for 3 arguments Summary: After rL319736 for D28253 (which fixes PR28929), gcc cannot compile `<memory>` anymore in pre-C+11 modes, complaining: ``` In file included from /usr/include/c++/v1/memory:648:0, from test.cpp:1: /usr/include/c++/v1/memory: In static member function 'static std::__1::shared_ptr<_Tp> std::__1::shared_ptr<_Tp>::make_shared(_A0&, _A1&, _A2&)': /usr/include/c++/v1/memory:4365:5: error: wrong number of template arguments (4, should be at least 1) static_assert((is_constructible<_Tp, _A0, _A1, _A2>::value), "Can't construct object in make_shared" ); ^ In file included from /usr/include/c++/v1/memory:649:0, from test.cpp:1: /usr/include/c++/v1/type_traits:3198:29: note: provided for 'template<class _Tp, class _A0, class _A1> struct std::__1::is_constructible' struct _LIBCPP_TEMPLATE_VIS is_constructible ^~~~~~~~~~~~~~~~ In file included from /usr/include/c++/v1/memory:648:0, from test.cpp:1: /usr/include/c++/v1/memory:4365:5: error: template argument 1 is invalid static_assert((is_constructible<_Tp, _A0, _A1, _A2>::value), "Can't construct object in make_shared" ); ^ /usr/include/c++/v1/memory: In static member function 'static std::__1::shared_ptr<_Tp> std::__1::shared_ptr<_Tp>::allocate_shared(const _Alloc&, _A0&, _A1&, _A2&)': /usr/include/c++/v1/memory:4444:5: error: wrong number of template arguments (4, should be at least 1) static_assert((is_constructible<_Tp, _A0, _A1, _A2>::value), "Can't construct object in allocate_shared" ); ^ In file included from /usr/include/c++/v1/memory:649:0, from test.cpp:1: /usr/include/c++/v1/type_traits:3198:29: note: provided for 'template<class _Tp, class _A0, class _A1> struct std::__1::is_constructible' struct _LIBCPP_TEMPLATE_VIS is_constructible ^~~~~~~~~~~~~~~~ In file included from /usr/include/c++/v1/memory:648:0, from test.cpp:1: /usr/include/c++/v1/memory:4444:5: error: template argument 1 is invalid static_assert((is_constructible<_Tp, _A0, _A1, _A2>::value), "Can't construct object in allocate_shared" ); ^ ``` This is also reported in https://bugs.freebsd.org/224946 (FreeBSD is apparently one of the very few projects that regularly builds programs against libc++ with gcc). The reason is that the static assertions are invoking `is_constructible` with three arguments, while gcc does not have the built-in `is_constructible` feature, and the pre-C++11 `is_constructible` wrappers in `<type_traits>` only provide up to two arguments. I have added additional wrappers for three arguments, modified the `is_constructible` entry point to take three arguments instead, and added a simple test to is_constructible.pass.cpp. Reviewers: EricWF, mclow.lists Reviewed By: EricWF Subscribers: krytarowski, cfe-commits, emaste Differential Revision: https://reviews.llvm.org/D41805 ``` --------------------------------------------------------------------- llvm-svn: 322659 -
Hans Wennborg authored
```--------------------------------------------------------------------- r322623 | avt77 | 2018-01-17 02:12:06 -0800 (Wed, 17 Jan 2018) | 3 lines Allow usage of X86-prefixes as separate instrs. Differential Revision: https://reviews.llvm.org/D42102 ``` --------------------------------------------------------------------- llvm-svn: 322654
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322390 | vsapsai | 2018-01-12 10:54:35 -0800 (Fri, 12 Jan 2018) | 20 lines [Lex] Avoid out-of-bounds dereference in LexAngledStringLiteral. Fix makes the loop in LexAngledStringLiteral more like the loops in LexStringLiteral, LexCharConstant. When we skip a character after backslash, we need to check if we reached the end of the file instead of reading the next character unconditionally. Discovered by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3832 rdar://problem/35572754 Reviewers: arphaman, kcc, rsmith, dexonsmith Reviewed By: rsmith, dexonsmith Subscribers: cfe-commits, rsmith, dexonsmith Differential Revision: https://reviews.llvm.org/D41423 ``` --------------------------------------------------------------------- llvm-svn: 322649
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322264 | dim | 2018-01-11 00:03:22 -0800 (Thu, 11 Jan 2018) | 17 lines Fix thread race between SectionPiece's OutputOff and Live members Summary: As reported in bug 35788, rL316280 reintroduces a race between two members of SectionPiece, which share the same 64 bit memory location. To fix the race, check the hash before checking the Live member, as suggested by Rafael. Reviewers: ruiu, rafael Reviewed By: ruiu Subscribers: smeenai, emaste, llvm-commits Differential Revision: https://reviews.llvm.org/D41884 ``` --------------------------------------------------------------------- llvm-svn: 322648
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322041 | ruiu | 2018-01-08 15:12:42 -0800 (Mon, 08 Jan 2018) | 9 lines Do not use parallelForEach to call maybeCompress(). Currently LLVM's paralellForEach has a problem with reentracy. That caused https://bugs.llvm.org/show_bug.cgi?id=35788 (lld somtimes hangs while linking Ruby 2.4) because maybeCompress calls writeTo which uses paralellForEach. This patch is to avoid using paralellForEach to call maybeCompress to workaround the issue. ``` --------------------------------------------------------------------- llvm-svn: 322647
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322056 | skatkov | 2018-01-08 20:37:06 -0800 (Mon, 08 Jan 2018) | 13 lines [CGP] Fix Complex addressing mode for offset If the offset is differ in two addressing mode we can continue only if ScaleReg is not set due to we will use it as merge of different offsets. It should fix PR35799 and PR35805. Reviewers: john.brawn, reames Reviewed By: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D41227 ``` --------------------------------------------------------------------- llvm-svn: 322645
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322259 | smeenai | 2018-01-10 22:57:01 -0800 (Wed, 10 Jan 2018) | 11 lines [ELF] Fix SysV hash tables with --no-rosegment When setting up the chain, we copy over the bucket's previous symbol index, assuming that this index will be 0 (STN_UNDEF) for an unused bucket (marking the end of the chain). When linking with --no-rosegment, however, unused buckets will in fact contain the padding value, and so the hash table will end up containing invalid chains. Zero out the hash table section explicitly to avoid this, similar to what's already done for GNU hash sections. Differential Revision: https://reviews.llvm.org/D41928 ``` --------------------------------------------------------------------- llvm-svn: 322642
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322236 | rsmith | 2018-01-10 15:08:26 -0800 (Wed, 10 Jan 2018) | 3 lines In C++17, when instantiating an out-of-line definition of an inline static data member, don't forget to instantiate the initializer too. ``` --------------------------------------------------------------------- llvm-svn: 322641
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322160 | hahnfeld | 2018-01-10 00:10:23 -0800 (Wed, 10 Jan 2018) | 5 lines [OMPT] Fix cast and printf of wait_id in lock test This didn't work on 32 bit platforms. Differential Revision: https://reviews.llvm.org/D41853 ``` --------------------------------------------------------------------- llvm-svn: 322640
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322068 | pawosm01 | 2018-01-09 02:54:06 -0800 (Tue, 09 Jan 2018) | 3 lines Fix type mismatch in omp_control_tool() implementation that makes it run incorrectly on 32-bit machines. Differential Revision: https://reviews.llvm.org/D41854 ``` --------------------------------------------------------------------- llvm-svn: 322639
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322350 | rtrieu | 2018-01-11 20:42:27 -0800 (Thu, 11 Jan 2018) | 6 lines [ODRHash] Don't hash friend functions. In certain combinations of templated classes and friend functions, the body of friend functions does not get propagated along with function signature. Exclude friend functions for hashing to avoid this case. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r322405 | rtrieu | 2018-01-12 13:49:20 -0800 (Fri, 12 Jan 2018) | 2 lines Disable test for Windows to fix Windows buildbots. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r322420 | rtrieu | 2018-01-12 15:13:33 -0800 (Fri, 12 Jan 2018) | 2 lines Try to suppress Windows testing again. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r322593 | rtrieu | 2018-01-16 11:53:06 -0800 (Tue, 16 Jan 2018) | 6 lines Add context to why test was disabled on Windows test/Modules/odr_hash-Friend.cpp triggers an assertion in MicrosoftMangle.cpp This has been reported in PR35939 ------------------------------------------------------------------------ llvm-svn: 322632
-
- 16 Jan, 2018 12 commits
-
-
Hans Wennborg authored
Patch by Andrew Kelley! Differential revision: https://reviews.llvm.org/D41875 llvm-svn: 322567
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321986 | jhenderson | 2018-01-08 02:17:03 -0800 (Mon, 08 Jan 2018) | 25 lines [ELF] Compress debug sections after assignAddresses and support custom layout Previously, in r320472, I moved the calculation of section offsets and sizes for compressed debug sections into maybeCompress, which happens before assignAddresses, so that the compression had the required information. However, I failed to take account of relocations that patch such sections. This had two effects: 1. A race condition existed when a debug section referred to a different debug section (see PR35788). 2. References to symbols in non-debug sections would be patched incorrectly. This is because the addresses of such symbols are not calculated until after assignAddresses (this was a partial regression caused by r320472, but they could still have been broken before, in the event that a custom layout was used in a linker script). assignAddresses does not need to know about the output section size of non-allocatable sections, because they do not affect the value of Dot. This means that there is no longer a reason not to support custom layout of compressed debug sections, as far as I'm aware. These two points allow for delaying when maybeCompress can be called, removing the need for the loop I previously added to calculate the section size, and therefore the race condition. Furthermore, by delaying, we fix the issues of relocations getting incorrect symbol values, because they have now all been finalized. ``` --------------------------------------------------------------------- llvm-svn: 322565
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322018 | abataev | 2018-01-08 11:02:51 -0800 (Mon, 08 Jan 2018) | 9 lines [OPENMP] Current status of OpenMP support. Summary: Some info about supported features of OpenMP 4.5-5.0. Reviewers: hfinkel, rsmith Subscribers: kkwli0, Hahnfeld, cfe-commits Differential Revision: https://reviews.llvm.org/D39457 ``` --------------------------------------------------------------------- llvm-svn: 322564
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321983 | smeenai | 2018-01-07 21:58:36 -0800 (Sun, 07 Jan 2018) | 10 lines [COFF] Initalize ErrorHandler with CanExitEarly value Previously, the COFF driver would call exit(1) from the ErrorHandler in the case of a link error, even if CanExitEarly=false was specified. Now it initializes the ErrorHandler in the same way that the ELF driver does. Patch by Andrew Kelley. Differential Revision: https://reviews.llvm.org/D41803 ``` --------------------------------------------------------------------- llvm-svn: 322563
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321980 | phosek | 2018-01-07 18:23:10 -0800 (Sun, 07 Jan 2018) | 5 lines [llvm-readobj] Support -needed-libs option for Mach-O files This implements the -needed-libs option in Mach-O dumper. Differential Revision: https://reviews.llvm.org/D41527 ``` --------------------------------------------------------------------- llvm-svn: 322561
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321964 | hahnfeld | 2018-01-07 08:54:36 -0800 (Sun, 07 Jan 2018) | 7 lines Correct types of pointers to doacross_num_done This field is defined as kmp_int32, so we should use neither pointers to kmp_int64 nor 64 bit atomic instructions. (Found while testing on a Raspberry Pi, 32 bit ARM) Differential Revision: https://reviews.llvm.org/D41656 ``` --------------------------------------------------------------------- llvm-svn: 322560
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321789 | hiraditya | 2018-01-03 23:47:24 -0800 (Wed, 03 Jan 2018) | 8 lines [GVNHoist] Fix: PR35222 gvn-hoist incorrectly erases load in case of a loop Reviewers: dberlin sebpop eli.friedman Differential Revision: https://reviews.llvm.org/D41453 ``` --------------------------------------------------------------------- llvm-svn: 322558 -
Hans Wennborg authored
```--------------------------------------------------------------------- r321754 | adrian | 2018-01-03 11:10:21 -0800 (Wed, 03 Jan 2018) | 9 lines -gmodules: Emit debug info for implicit module imports via #include. When a type is only used as a template parameter and that type is the only type imported from another #include'd module, no skeleton CU for that module is generated, so a consumer doesn't know where to find the type definition. By emitting an import declaration, we can force a skeleton CU to be generated for each imported module. rdar://problem/36266156 ``` --------------------------------------------------------------------- llvm-svn: 322557
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321771 | vedantk | 2018-01-03 15:11:32 -0800 (Wed, 03 Jan 2018) | 21 lines [CGBuiltin] Handle unsigned mul overflow properly (PR35750) r320902 fixed the IRGen for some types of checked multiplications. It did not handle unsigned overflow correctly in the case where the signed operand is negative (PR35750). Eli pointed out that on overflow, the result must be equal to the unique value that is equivalent to the mathematically-correct result modulo two raised to the k power, where k is the number of bits in the result type. This patch fixes the specialized IRGen from r320902 accordingly. Testing: Apart from check-clang, I modified the test harness from r320902 to validate the results of all multiplications -- not just the ones which don't overflow: https://gist.github.com/vedantk/3eb9c88f82e5c32f2e590555b4af5081 llvm.org/PR35750, rdar://34963321 Differential Revision: https://reviews.llvm.org/D41717 ``` --------------------------------------------------------------------- llvm-svn: 322555
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321933 | xazax | 2018-01-06 02:51:00 -0800 (Sat, 06 Jan 2018) | 4 lines [analyzer] Fix some check's output plist not containing the check name Differential Revision: https://reviews.llvm.org/D41538 ``` --------------------------------------------------------------------- llvm-svn: 322550
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322103 | tejohnson | 2018-01-09 10:32:53 -0800 (Tue, 09 Jan 2018) | 25 lines Fix crash when linking metadata with ODR type uniquing Summary: With DebugTypeODRUniquing enabled, during IR linking debug metadata in the destination module may be reached from the source module. This means that ConstantAsMetadata nodes (e.g. on DITemplateValueParameter) may contain a value the destination module. When trying to map such metadata nodes, we will attempt to map a GV already in the dest module. linkGlobalValueProto will end up with a source GV that is the same as the dest GV as well as the new GV. Trying to access the TypeMap for the source GV type, which is actually a dest GV type, hits an assertion since it appears that we have mapped into the source module (because the type is the value not a key into the map). Detect that we don't need to access the TypeMap in this case, since there is no need to create a bitcast from the new GV to the source GV type as they GV are the same. Fixes PR35722. Reviewers: mehdi_amini, pcc Subscribers: probinson, llvm-commits, eraman Differential Revision: https://reviews.llvm.org/D41624 ``` --------------------------------------------------------------------- llvm-svn: 322545
-
Hans Wennborg authored
```--------------------------------------------------------------------- r322518 | erichkeane | 2018-01-15 13:16:25 -0800 (Mon, 15 Jan 2018) | 4 lines Revert 319303: Add _Float128 as alias to __float128 to enable compilations on Fedora27/glibc2 Differential Revision: https://reviews.llvm.org/D40673 ``` --------------------------------------------------------------------- llvm-svn: 322539
-
- 11 Jan, 2018 1 commit
-
-
Dan Liew authored
llvm-svn: 322287
-
- 09 Jan, 2018 1 commit
-
-
Martin Storsjo authored
Enabling SjLj on x86 on platforms where it isn't used by default was partially implemented before 6.0, but didn't actually fully work until now. Differential Revision: https://reviews.llvm.org/D41712 llvm-svn: 322059
-
- 04 Jan, 2018 1 commit
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r321762 | juliehockett | 2018-01-03 14:10:11 -0800 (Wed, 03 Jan 2018) | 8 lines [clang-tidy] Update fuchsia-overloaded-operator to check for valid loc Updating fuchsia-overloaded-operator check to not issue warnings for invalid locations. Fixes PR35803. Differential Revision: https://reviews.llvm.org/D41708 ``` --------------------------------------------------------------------- llvm-svn: 321800
-