summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-13Merging r340932:Tom Stellard
------------------------------------------------------------------------ r340932 | atanasyan | 2018-08-29 07:54:01 -0700 (Wed, 29 Aug 2018) | 11 lines [mips] Fix microMIPS unconditional branch offset handling MipsSEInstrInfo class defines for internal purpose unconditional branches as Mips::B nad Mips:J even in case of microMIPS code generation. Under some conditions that leads to the bug - for rather long branch which fits to Mips jump instruction offset size, but does not fit to microMIPS jump offset size, we generate 'short' branch and later show an error 'out of range PC16 fixup' after check in the isBranchOffsetInRange routine. Differential revision: https://reviews.llvm.org/D50615 ------------------------------------------------------------------------
2018-11-13Merging r340931:Tom Stellard
------------------------------------------------------------------------ r340931 | atanasyan | 2018-08-29 07:53:55 -0700 (Wed, 29 Aug 2018) | 6 lines [mips] Involves microMIPS's jump in the analyzable branch set Involves microMIPS's jump in the analyzable branch set to reduce some code patterns. Differential revision: https://reviews.llvm.org/D50613 ------------------------------------------------------------------------
2018-11-13Merging r340927:Tom Stellard
------------------------------------------------------------------------ r340927 | vstefanovic | 2018-08-29 07:07:14 -0700 (Wed, 29 Aug 2018) | 14 lines [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp For a certain combination of options, BuildPairF64_{64}, ExtractElementF64{_64} may be expanded into instructions using stack. Add implicit operand $sp for such cases so that ShrinkWrapping doesn't move prologue setup below them. Fixes MultiSource/Benchmarks/MallocBench/cfrac for '--target=mips-img-linux-gnu -mcpu=mips32r6 -mfpxx -mnan=2008' and '--target=mips-img-linux-gnu -mcpu=mips32r6 -mfp64 -mnan=2008 -mno-odd-spreg'. Differential Revision: https://reviews.llvm.org/D50986 ------------------------------------------------------------------------
2018-11-02Bump version to 7.0.1Tom Stellard
2018-11-02Merging r342354:Tom Stellard
------------------------------------------------------------------------ r342354 | kristina | 2018-09-16 15:21:59 -0700 (Sun, 16 Sep 2018) | 11 lines [DebugInfo] Fix build when std::vector::iterator is a pointer std::vector::iterator type may be a pointer, then iterator::value_type fails to compile since iterator is not a class, namespace, or enumeration. Patch by orivej (Orivej Desh) Differential Revision: https://reviews.llvm.org/D52142 ------------------------------------------------------------------------
2018-11-02Merging r344454, r344455, r344645:Tom Stellard
------------------------------------------------------------------------ r344454 | xbolva00 | 2018-10-13 08:21:55 -0700 (Sat, 13 Oct 2018) | 11 lines [InstCombine] Fixed crash with aliased functions Summary: Fixes PR39177 Reviewers: spatel, jbuening Reviewed By: jbuening Subscribers: jbuening, llvm-commits Differential Revision: https://reviews.llvm.org/D53129 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r344455 | xbolva00 | 2018-10-13 08:26:13 -0700 (Sat, 13 Oct 2018) | 2 lines [NFC] Fixed duplicated test file ------------------------------------------------------------------------ ------------------------------------------------------------------------ r344645 | xbolva00 | 2018-10-16 14:18:31 -0700 (Tue, 16 Oct 2018) | 9 lines [InstCombine] Cleanup libfunc attribute inferring Reviewers: efriedma Reviewed By: efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D53338 ------------------------------------------------------------------------
2018-11-02Merging r341312:Tom Stellard
------------------------------------------------------------------------ r341312 | psmith | 2018-09-03 05:36:32 -0700 (Mon, 03 Sep 2018) | 13 lines [Aarch64] Fix linker emulation for Aarch64 big endian This patch fixes target linker emulation for aarch64 big endian. aarch64_be_linux is not recognized by gnu ld. The equivalent emulation mode supported by gnu ld is aarch64linuxb. Patch by: Bharathi Seshadri Reviewed by: Peter Smith Differential Revision: https://reviews.llvm.org/D42930 ------------------------------------------------------------------------
2018-10-31Merging r345002:Tom Stellard
------------------------------------------------------------------------ r345002 | dim | 2018-10-22 22:53:15 -0700 (Mon, 22 Oct 2018) | 41 lines Don't mess up RelIplt symbols during relocatable processing Summary: During upgrading of the FreeBSD source tree with lld 7.0.0, I noticed that it started complaining about `crt1.o` having an "index past the end of the symbol table". Such a symbol table looks approximately like this, viewed with `readelf -s` (note the `Ndx` field being messed up): ``` Symbol table '.symtab' contains 4 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000 0 SECTION LOCAL DEFAULT 1 2: 00000000 0 NOTYPE WEAK HIDDEN RSV[0xffff] __rel_iplt_end 3: 00000000 0 NOTYPE WEAK HIDDEN RSV[0xffff] __rel_iplt_start ``` At first, it seemed that recent ifunc relocation work had caused this: <https://reviews.freebsd.org/rS339351>, but it turned out that it was due to incorrect processing of the object files by lld, when using `-r` (a.k.a. --relocatable). Bisecting showed that rL324421 ("Convert a use of Config->Static") was the commit where this new behavior began. Simply reverting it solved the issue, and the `__rel_iplt` symbols had an index of `UND` again. Looking at Rafael's commit message, I think he simply missed the possibility of `--relocatable` being in effect, so I have added an additional check for it. I also added a simple regression test case. Reviewers: grimar, ruiu, emaste, espindola Reviewed By: ruiu Subscribers: arichardson, krytarowski, llvm-commits Differential Revision: https://reviews.llvm.org/D53515 ------------------------------------------------------------------------
2018-10-31Merging r343669:Tom Stellard
------------------------------------------------------------------------ r343669 | grimar | 2018-10-03 02:59:08 -0700 (Wed, 03 Oct 2018) | 6 lines [ELF] - Fix BB after r343668 This stops testing the value of .rela.plt section offset. Also makes _start global to eliminate 'cannot find entry symbol _start' warning. ------------------------------------------------------------------------
2018-10-26Merging r341778:Tom Stellard
------------------------------------------------------------------------ r341778 | rsmith | 2018-09-09 23:35:32 -0700 (Sun, 09 Sep 2018) | 5 lines PR33222: Require the declared return type not the actual return type to match when checking for redeclaration of a function template. This properly handles differences in deduced return types, particularly when performing redeclaration checks for a friend function template. ------------------------------------------------------------------------
2018-10-26Merging r341775:Tom Stellard
------------------------------------------------------------------------ r341775 | rsmith | 2018-09-09 22:32:13 -0700 (Sun, 09 Sep 2018) | 2 lines Part of PR33222: defer enforcing return type mismatch for dependent friend function declarations of class templates. ------------------------------------------------------------------------
2018-10-26Merging r344325:Tom Stellard
------------------------------------------------------------------------ r344325 | evgeny777 | 2018-10-12 00:24:02 -0700 (Fri, 12 Oct 2018) | 4 lines [ThinLTO] Don't import GV which contains blockaddress Differential revision: https://reviews.llvm.org/D53139 ------------------------------------------------------------------------
2018-10-25Merging r340025:Tom Stellard
------------------------------------------------------------------------ r340025 | erichkeane | 2018-08-17 06:43:39 -0700 (Fri, 17 Aug 2018) | 8 lines Fix for bug 38508 - Don't do PCH processing when only generating preprocessor output This clang-cl driver change removes the PCH options when we are only generating preprocessed output. This is similar to the behavior of Y-. Patch by: mikerice Differential Revision: https://reviews.llvm.org/D50640 ------------------------------------------------------------------------
2018-10-25Merging r339424:Tom Stellard
------------------------------------------------------------------------ r339424 | hans | 2018-08-10 04:40:50 -0700 (Fri, 10 Aug 2018) | 1 line clang-cl: accept -fcrash-diagnostics-dir= ------------------------------------------------------------------------
2018-10-23Merging r342897:Tom Stellard
------------------------------------------------------------------------ r342897 | mgorny | 2018-09-24 09:10:25 -0700 (Mon, 24 Sep 2018) | 5 lines [python] [tests] Update test_code_completion Update expected completions to match output generated by clang-7.0. Differential Revision: https://reviews.llvm.org/D50171 ------------------------------------------------------------------------
2018-10-22Merging r344368:Tom Stellard
------------------------------------------------------------------------ r344368 | ruiu | 2018-10-12 10:07:32 -0700 (Fri, 12 Oct 2018) | 10 lines [lld] Add more complete support for the INCLUDE command. Patch by Ian Tessier. This change adds INCLUDE support to the MEMORY and SECTION commands, and to output sections, as per: https://sourceware.org/binutils/docs/ld/File-Commands.html#File-Commands Differential Revision: https://reviews.llvm.org/D52951 ------------------------------------------------------------------------
2018-10-22Merging r343668:Tom Stellard
------------------------------------------------------------------------ r343668 | grimar | 2018-10-03 02:33:00 -0700 (Wed, 03 Oct 2018) | 20 lines [ELF] - Do not forget to include to .dymsym symbols that were converted to Defined. This is the fix for "Bug 39104 - LLD links incorrect ELF executable if version script contains "local: *;" (https://bugs.llvm.org/show_bug.cgi?id=39104). The issue happens when we have non-PIC program call to function in a shared library. (for example, the PR above has R_X86_64_PC32 relocation against __libc_start_main) LLD converts symbol to Defined in that case with the use of replaceWithDefined() The issue is that after above we create a broken relocation because do not include the symbol into .dynsym. That happens when the version script is used because we treat the symbol as STB_LOCAL if the following condition match: VersionId == VER_NDX_LOCAL && isDefined() and do not include it to .dynsym because of that. Patch fixes the issue. Differential revision: https://reviews.llvm.org/D52724 ------------------------------------------------------------------------
2018-10-22Merging r344824:Tom Stellard
------------------------------------------------------------------------ r344824 | ctopper | 2018-10-19 18:30:00 -0700 (Fri, 19 Oct 2018) | 14 lines [X86] When checking the bits in cpu_features for function multiversioning dispatcher in the resolver, make sure all the required bits are set. Not just one of them Summary: The multiversioning code repurposed the code from __builtin_cpu_supports for checking if a single feature is enabled. That code essentially performed (_cpu_features & (1 << C)) != 0. But with the multiversioning path, the mask is no longer guaranteed to be a power of 2. So we return true anytime any one of the bits in the mask is set not just all of the bits. The correct check is (_cpu_features & mask) == mask Reviewers: erichkeane, echristo Reviewed By: echristo Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53460 ------------------------------------------------------------------------
2018-10-22Merging r344264:Tom Stellard
------------------------------------------------------------------------ r344264 | mstorsjo | 2018-10-11 10:45:51 -0700 (Thu, 11 Oct 2018) | 8 lines [COFF] Set proper pointer size alignment for LocalImportChunk When these are accessed with load/store instructions on ARM64, it becomes strictly necessary to have them properly aligned. This fixes PR39228. Differential Revision: https://reviews.llvm.org/D53128 ------------------------------------------------------------------------
2018-10-22Merging r342461:Tom Stellard
------------------------------------------------------------------------ r342461 | devnexen | 2018-09-18 03:31:10 -0700 (Tue, 18 Sep 2018) | 10 lines [Xray] llvm-xray fix possible segfault top argument when superior to the instrumentated code list capacity can lead to a segfault. Reviewers: dberris Reviewed By: dberris Differential Revision: https://reviews.llvm.org/D52224 ------------------------------------------------------------------------
2018-10-22Merging r342815:Tom Stellard
------------------------------------------------------------------------ r342815 | ericwf | 2018-09-22 12:22:36 -0700 (Sat, 22 Sep 2018) | 14 lines Fix incorrectly aligned exceptions in 32 bit builds. This patch fixes a bug where exceptions in 32 bit builds would be incorrectly aligned because malloc only provides 8 byte aligned memory where 16 byte alignment is needed. This patch makes libc++abi correctly use posix_memalign when it's available. This requires defining _LIBCPP_BUILDING_LIBRARY so that libc++ only defines _LIBCPP_HAS_NO_ALIGNED_ALLOCATION when libc doesn't support it and not when aligned new/delete are disable for other reasons. This bug somehow made it into the 7.0 release, making it a regression. Therefore this patch should be included in the next dot release. ------------------------------------------------------------------------
2018-10-19Merging r343373:Tom Stellard
------------------------------------------------------------------------ r343373 | rksimon | 2018-09-29 06:25:22 -0700 (Sat, 29 Sep 2018) | 3 lines [X86][SSE] Fixed issue with v2i64 variable shifts on 32-bit targets The shift amount might have peeked through a extract_subvector, altering the number of vector elements in the 'Amt' variable - so we were incorrectly calculating the ratio when peeking through bitcasts, resulting in incorrectly detecting splats. ------------------------------------------------------------------------
2018-10-19Merging r343428:Tom Stellard
------------------------------------------------------------------------ r343428 | ctopper | 2018-09-30 16:43:30 -0700 (Sun, 30 Sep 2018) | 3 lines [X86] Change an llvm_unreachable to a report_fatal_error so the optimizer will stop making us reach the other report_fatal_error in this function. There's a conditional report_fatal_error just above this llvm_unreachable. The optimizer when seeing the unreachable removes the conditional and just makes any other error trigger the existing report_fatal_error. ------------------------------------------------------------------------
2018-10-19Merging r343443:Tom Stellard
------------------------------------------------------------------------ r343443 | ctopper | 2018-10-01 00:08:41 -0700 (Mon, 01 Oct 2018) | 9 lines [X86] Stop X86DomainReassignment from creating copies between GR8/GR16 physical registers and k-registers. We can only copy between a k-register and a GR32/GR64 register. This patch detects that the copy will be illegal and prevents the domain reassignment from happening for that closure. This probably isn't the best fix, and we should probably figure out how to handle this correctly. Fixes PR38803. ------------------------------------------------------------------------
2018-10-19Merging r343347:Tom Stellard
------------------------------------------------------------------------ r343347 | cmatthews | 2018-09-28 10:55:18 -0700 (Fri, 28 Sep 2018) | 4 lines make lit builtins a package cat.py is not being installed when lit is installed from source. So tests that use the internal shell fail when using cat. ------------------------------------------------------------------------
2018-09-13Update release notes for lld 7.linaro-local/ci/tcwg-llvm-kernel-baseline-armv8l-release-stable-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-armv8l-release-next-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-armv8l-release-mainline-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-armv8l-release-mainlinelinaro-local/ci/tcwg-llvm-kernel-baseline-armv8l-release-lts-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-release-stable-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-release-stablelinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-release-next-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-release-mainline-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-release-mainlinelinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-release-lts-defconfig_nolselinaro-local/ci/tcwg-llvm-kernel-baseline-aarch64-release-ltsRui Ueyama
2018-09-11Clarify the wording for the state of the lld/MinGW targetMartin Storsjo
2018-09-11Update release notes to say that lld/MinGW is production-ready.Rui Ueyama
2018-09-11ReleaseNotes: some notes from Andres FreundHans Wennborg
2018-09-11ReleaseNotes: fixesHans Wennborg
2018-09-11ReleaseNotes.rst: Add Zig to External Open Source Projects Using LLVM 7Hans Wennborg
Differential revision: https://reviews.llvm.org/D51118
2018-09-11Update release notes for lld 7.0.Rui Ueyama
2018-09-10docs: drop doxygen link; it doesn't workHans Wennborg
2018-09-10docs: drop another in-progress warningHans Wennborg
2018-09-10ReleaseNotes: tiny fixHans Wennborg
2018-09-10ReleaseNotes: minor tweaksHans Wennborg
2018-09-10Merging r341642:Hans Wennborg
------------------------------------------------------------------------ r341642 | tnorthover | 2018-09-07 11:21:25 +0200 (Fri, 07 Sep 2018) | 8 lines ARM: fix Thumb2 CodeGen for ldrex with folded frame-index. Because t2LDREX (& t2STREX) were marked as AddrModeNone, but did allow a FrameIndex operand, rewriteT2FrameIndex asserted. This gives them a proper addressing-mode and tells the rewriter about it so that encodable offsets are exploited and others are rejected. Should fix PR38828. ------------------------------------------------------------------------
2018-09-10Merging r341670 and r341672:Hans Wennborg
------------------------------------------------------------------------ r341670 | tstellar | 2018-09-07 17:42:01 +0200 (Fri, 07 Sep 2018) | 15 lines MachO: Fix out-of-bounds memory access in getString16 Summary: This fixes the following tests when gcc is compiled with gcc8: lld :: mach-o/do-not-emit-unwind-fde-arm64.yaml lld :: mach-o/eh-frame-relocs-arm64.yaml llvm.org/PR38096 Reviewers: lhames, kledzik, javed.absar Subscribers: kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D51547 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r341672 | tstellar | 2018-09-07 17:51:52 +0200 (Fri, 07 Sep 2018) | 3 lines MachO: Change getString16() back to inline function This was accidentally changed in r341670. ------------------------------------------------------------------------
2018-09-07Regenerate DiagnosticsReference.rstHans Wennborg
2018-09-07Remove ReleaseNotes as they were emptyHans Wennborg
2018-09-07ReleaseNotes: tidy up for the releaseHans Wennborg
2018-09-07ReleaseNotes: tidy up for the releaseHans Wennborg
2018-09-07ReleaseNotes: tidy up for the releaseHans Wennborg
2018-09-07ReleaseNotes: tidy up for the releaseHans Wennborg
2018-09-06Merging r341512:Hans Wennborg
------------------------------------------------------------------------ r341512 | ctopper | 2018-09-06 04:03:14 +0200 (Thu, 06 Sep 2018) | 7 lines [X86][Assembler] Allow %eip as a register in 32-bit mode for .cfi directives. This basically reverts a change made in r336217, but improves the text of the error message for not allowing IP-relative addressing in 32-bit mode. Fixes PR38826. Patch by Iain Sandoe. ------------------------------------------------------------------------
2018-09-06Merging r340609:Hans Wennborg
------------------------------------------------------------------------ r340609 | ldionne | 2018-08-24 16:10:28 +0200 (Fri, 24 Aug 2018) | 13 lines [libc++] Fix handling of negated character classes in regex Summary: This commit fixes a regression introduced in r316095, where we don't match inverted character classes when there's no negated characrers in the []'s. rdar://problem/43060054 Reviewers: mclow.lists, timshen, EricWF Subscribers: christof, dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D50534 ------------------------------------------------------------------------
2018-09-06Merging r341442:Hans Wennborg
------------------------------------------------------------------------ r341442 | bcain | 2018-09-05 04:15:54 +0200 (Wed, 05 Sep 2018) | 8 lines Add glibc_prereq to platform limits mmsghdr sendmmsg requires glibc >= 2.14. Fixes PR38589. Review: https://reviews.llvm.org/D51538 ------------------------------------------------------------------------
2018-09-06Merging r341416:Hans Wennborg
------------------------------------------------------------------------ r341416 | annat | 2018-09-05 00:12:23 +0200 (Wed, 05 Sep 2018) | 11 lines [LV] First order recurrence phis should not be treated as uniform This is fix for PR38786. First order recurrence phis were incorrectly treated as uniform, which caused them to be vectorized as uniform instructions. Patch by Ayal Zaks and Orivej Desh! Reviewed by: Anna Differential Revision: https://reviews.llvm.org/D51639 ------------------------------------------------------------------------
2018-09-06ReleaseNotes: ARM SVE asm/disasm supportHans Wennborg
2018-09-06ReleaseNotes: libc++ _LIBCPP_HIDE_FROM_ABI_PER_TUHans Wennborg