summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2018-09-06ReleaseNotes: support for new-pm passes in the opt toolHans Wennborg
2018-09-05ReleaseNotes for PowerPCHans Wennborg
Patch by Lei Huang!
2018-09-04Merging r339253:Hans Wennborg
------------------------------------------------------------------------ r339253 | psmith | 2018-08-08 16:50:33 +0200 (Wed, 08 Aug 2018) | 7 lines Add missing REQUIRES x86 to tests. Add REQUIRES to tests that fail when an x86 backend is not present. Differential Revision: https://reviews.llvm.org/D50440 ------------------------------------------------------------------------
2018-09-04ReleaseNotes: tiny tweakHans Wennborg
2018-09-04Add release notes for the new GNUstep Objective-C ABI.David Chisnall
2018-09-04Disable the GNUstep v2 ABI on Windows.David Chisnall
The code remains so that we can potentially reenable it in a point release, but the driver will reject it. Several issues were raised during testing that made it clear that this was not quite ready for general consumption. Approved by: Hans Wennborg
2018-09-04Merging r340959:Hans Wennborg
------------------------------------------------------------------------ r340959 | mareko | 2018-08-29 22:03:00 +0200 (Wed, 29 Aug 2018) | 9 lines AMDGPU: Handle 32-bit address wraparounds for SMRD opcodes Summary: This fixes GPU hangs with OpenGL bindless handle arithmetic. Reviewers: arsenm, nhaehnle Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D51203 ------------------------------------------------------------------------
2018-09-04Merging r341244:Hans Wennborg
------------------------------------------------------------------------ r341244 | tstellar | 2018-08-31 22:15:31 +0200 (Fri, 31 Aug 2018) | 11 lines lit: Use sys.executable for executing builtin commands Summary: The python executable may not exist on all systems so use sys.executable instead. Reviewers: ddunbar, stella.stamenova Subscribers: delcypher, llvm-commits Differential Revision: https://reviews.llvm.org/D51511 ------------------------------------------------------------------------
2018-08-31Merging r341094:Hans Wennborg
------------------------------------------------------------------------ r341094 | efriedma | 2018-08-30 20:59:24 +0200 (Thu, 30 Aug 2018) | 11 lines [SROA] Fix alignment for uses of PHI nodes. Splitting an alloca can decrease the alignment of GEPs into the partition. Normally, rewriting accounts for this, but the code was missing for uses of PHI nodes and select instructions. Fixes https://bugs.llvm.org/show_bug.cgi?id=38707 . Differential Revision: https://reviews.llvm.org/D51335 ------------------------------------------------------------------------
2018-08-31[docs][mips] 7.0 Release notesSimon Atanasyan
Differential revision: https://reviews.llvm.org/D51355
2018-08-31[docs][mips] Clang 7.0 Release notesSimon Atanasyan
Differential revision: https://reviews.llvm.org/D51356
2018-08-30Merging r340900:Hans Wennborg
------------------------------------------------------------------------ r340900 | hans | 2018-08-29 08:55:27 +0200 (Wed, 29 Aug 2018) | 6 lines LoopSink: Don't sink into blocks without an insertion point (PR38462) In the PR, LoopSink was trying to sink into a catchswitch block, which doesn't have a valid insertion point. Differential Revision: https://reviews.llvm.org/D51307 ------------------------------------------------------------------------
2018-08-30Merging r340751:Hans Wennborg
------------------------------------------------------------------------ r340751 | hans | 2018-08-27 17:55:39 +0200 (Mon, 27 Aug 2018) | 7 lines Use a lambda for calls to ::open in RetryAfterSignal In Bionic, open can be overloaded for _FORTIFY_SOURCE support, causing compile errors of RetryAfterSignal due to overload resolution. Wrapping the call in a lambda avoids this. Based on a patch by Chih-Wei Huang <cwhuang@linux.org.tw>! ------------------------------------------------------------------------
2018-08-30Merging r340417:Hans Wennborg
------------------------------------------------------------------------ r340417 | hakzsam | 2018-08-22 18:08:48 +0200 (Wed, 22 Aug 2018) | 14 lines AMDGPU: bump AS.MAX_COMMON_ADDRESS to 6 since 32-bit addr space 32-bit constant address space is declared as 6, so the maximum number of address spaces is 6, not 5. Fixes "LLVM ERROR: Pointer address space out of range". v5: rename MAX_COMMON_ADDRESS to MAX_AMDGPU_ADDRESS v4: - fix compilation issues - fix out of bounds access v3: use static_assert() v2: add a very simple test for 32-bit addr space Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106630 ------------------------------------------------------------------------
2018-08-30Merging r340416:Hans Wennborg
------------------------------------------------------------------------ r340416 | hakzsam | 2018-08-22 18:08:43 +0200 (Wed, 22 Aug 2018) | 8 lines AMDGPU: fix existing alias rules for constant and global Constant and global may alias, also one rules table wasn't ordered correctly. Pinpointed by Matt. v2: add a test with swapped parameters ------------------------------------------------------------------------
2018-08-30Merging r340455:Hans Wennborg
------------------------------------------------------------------------ r340455 | yhs | 2018-08-22 23:21:03 +0200 (Wed, 22 Aug 2018) | 38 lines bpf: fix an assertion in BPFAsmBackend applyFixup() Fix bug https://bugs.llvm.org/show_bug.cgi?id=38643 In BPFAsmBackend applyFixup(), there is an assertion for FixedValue to be 0. This may not be true, esp. for optimiation level 0. For example, in the above bug, for the following two static variables: @bpf_map_lookup_elem = internal global i8* (i8*, i8*)* inttoptr (i64 1 to i8* (i8*, i8*)*), align 8 @bpf_map_update_elem = internal global i32 (i8*, i8*, i8*, i64)* inttoptr (i64 2 to i32 (i8*, i8*, i8*, i64)*), align 8 The static variable @bpf_map_update_elem will have a symbol offset of 8 and a FK_SecRel_8 with FixupValue 8 will cause the assertion if llvm is built with -DLLVM_ENABLE_ASSERTIONS=ON. The above relocations will not exist if the program is compiled with optimization level -O1 and above as the compiler optimizes those static variables away. In the below error message, -O2 is suggested as this is the common practice. Note that FixedValue = 0 in applyFixup() does exist and is valid, e.g., for the global variable my_map in the above bug. The bpf loader will process them properly for map_id's before loading the program into the kernel. The static variables, which are not optimized away by compiler, may have FK_SecRel_8 relocation with non-zero FixedValue. The patch removed the offending assertion and will issue a hard error as below if the FixedValue in applyFixup() is not 0. $ llc -march=bpf -filetype=obj fixup.ll LLVM ERROR: Unsupported relocation: try to compile with -O2 or above, or check your static variable usage Signed-off-by: Yonghong Song <yhs@fb.com> ------------------------------------------------------------------------
2018-08-30Merging r340820:Hans Wennborg
------------------------------------------------------------------------ r340820 | uabelho | 2018-08-28 14:40:11 +0200 (Tue, 28 Aug 2018) | 34 lines [CloneFunction] Constant fold terminators before checking single predecessor Summary: This fixes PR31105. There is code trying to delete dead code that does so by e.g. checking if the single predecessor of a block is the block itself. That check fails on a block like this bb: br i1 undef, label %bb, label %bb since that has two (identical) predecessors. However, after the check for dead blocks there is a call to ConstantFoldTerminator on the basic block, and that call simplifies the block to bb: br label %bb Therefore we now do the call to ConstantFoldTerminator before the check if the block is dead, so it can realize that it really is. The original behavior lead to the block not being removed, but it was simplified as above, and then we did a call to Dest->replaceAllUsesWith(&*I); with old and new being equal, and an assertion triggered. Reviewers: chandlerc, fhahn Reviewed By: fhahn Subscribers: eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D51280 ------------------------------------------------------------------------
2018-08-30Merging r340839:Hans Wennborg
------------------------------------------------------------------------ r340839 | bcain | 2018-08-28 18:23:39 +0200 (Tue, 28 Aug 2018) | 14 lines [debuginfo] generate debug info with asm+.file Summary: For assembly input files, generate debug info even when the .file directive is present, provided it does not include a file-number argument. Fixes PR38695. Reviewers: probinson, sidneym Subscribers: aprantl, hiraditya, JDevlieghere, llvm-commits Differential Revision: https://reviews.llvm.org/D51315 ------------------------------------------------------------------------
2018-08-30Merging r338877, r338911 and r339165:Hans Wennborg
------------------------------------------------------------------------ r338877 | nico | 2018-08-03 14:00:12 +0200 (Fri, 03 Aug 2018) | 19 lines lld-link: Fix subsystem inference for non-console apps on 32-bit, and fix entry point inference on 32-bit with /nodefaultlib LinkerDriver::inferSubsystem() used to do Symtab->findUnderscore("WinMain"), but WinMain is stdcall in 32-bit and is hence is called _WinMain@16. Instead, Symtab->findMangle(mangle("WinMain")) needs to be called. But since LinkerDriver::inferSubsystem() and LinkerDriver::findDefaultEntry() both need to call this, introduce a common helper function for this and call it from both places. (Also call it for "main" for consistency, even though findUnderscore() is enough for main since that's __cdecl on 32-bit). This also exposed a bug for /nodefaultlib entrypoint inference: The code here called findMangle(Sym) instead of findMangle(mangle(Sym)), again doing the wrong thing on 32-bit. Fix that too. While here, make Driver::mangle() a static free function. https://reviews.llvm.org/D50184 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r338911 | nico | 2018-08-03 20:32:44 +0200 (Fri, 03 Aug 2018) | 7 lines lld-link: Simplify LinkerDriver::findDefaultEntry() No intended behavior change. Not repeating the CRTStartup names makes fixing PR36523 simpler. https://reviews.llvm.org/D50253 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r339165 | nico | 2018-08-07 21:10:28 +0200 (Tue, 07 Aug 2018) | 26 lines lld-link: Take /SUBSYSTEM into account for automatic /ENTRY detection. If /subsystem:windows is passed, link.exe only looks for WinMain and wWinMain, and if /subsystem:console is passed it only looks for main and wmain. lld-link used to look for all 4 in both cases. This patch makes lld-link match link.exe's behavior. This requires that the subsystem is known by the time findDefaultEntry() gets called. findDefaultEntry() is called before the main link loop, so that the loop can mark the entry point as undefined. That means inferSubsystem() has to be called above the main loop as well. This in turn means /subsystem: from .drectve sections only has an effect on entry point inference for obj files passed to lld-link directly (and not in obj files found later in .lib files). link.exe seems to ignore /subsystem: for obj files from lib files completely (while in lld it's ignored only for entry point detection but it still overrides /subsystem: flags passed on the command line for the value that gets written in the output file). Also, if the subsytem isn't needed (e.g. when only writing a /def: lib file and not writing a coff file), link.exe doesn't complain if the subsystem isn't known, so both subsystem and entry point handling should be below the early return lld has for that case. Fixes PR36523. https://reviews.llvm.org/D50316 ------------------------------------------------------------------------
2018-08-30Merging r340823:Hans Wennborg
------------------------------------------------------------------------ r340823 | marshall | 2018-08-28 15:29:30 +0200 (Tue, 28 Aug 2018) | 1 line Use addressof instead of operator& in make_shared. Fixes PR38729. As a drive-by, make the same change in raw_storage_iterator (twice). ------------------------------------------------------------------------
2018-08-29[Docs] Release notes for OpenCLAnastasia Stulova
Differential Revision: https://reviews.llvm.org/D51212
2018-08-28[docs][mips] Add MIPS specific release notes for LLD 7.0Simon Atanasyan
Differential revision: https://reviews.llvm.org/D51309
2018-08-28Merging r340758 and r340769:Hans Wennborg
------------------------------------------------------------------------ r340758 | vitalybuka | 2018-08-27 19:26:28 +0200 (Mon, 27 Aug 2018) | 5 lines Revert "[lsan] Do not check for leaks in the forked process" Users need leak reports in forks. This reverts commit r334036. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r340769 | vitalybuka | 2018-08-27 21:15:05 +0200 (Mon, 27 Aug 2018) | 3 lines [lsan] Check that leak sanitizer works in the forked process Regression test for PR38698 ------------------------------------------------------------------------
2018-08-27Merging r340641:Hans Wennborg
------------------------------------------------------------------------ r340641 | stefanp | 2018-08-24 21:38:29 +0200 (Fri, 24 Aug 2018) | 9 lines [Exception Handling] Unwind tables are required for all functions that have an EH personality. This patch is for defect: https://bugs.llvm.org/show_bug.cgi?id=32611 Functions may require unwind tables even if they are marked with the attribute nounwind. Any function with an EH personality may require an unwind table. Differential Revision: https://reviews.llvm.org/D50987 ------------------------------------------------------------------------
2018-08-27Merging r340376:Hans Wennborg
------------------------------------------------------------------------ r340376 | steveire | 2018-08-22 03:11:18 +0200 (Wed, 22 Aug 2018) | 7 lines Update the docs for using LLVM toolset in Visual Studio Reviewers: hans Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D51079 ------------------------------------------------------------------------