-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge upstream release/8.x branch #7
Merge upstream release/8.x branch #7
Commits on Jan 16, 2019
-
------------------------------------------------------------------------ r351396 | lekensteyn | 2019-01-16 15:28:51 -0800 (Wed, 16 Jan 2019) | 17 lines [ELF][X86_64] Fix corrupted LD -> LE optimization for TLS without PLT The LD -> LE optimization for Thread-Local Storage without PLT requires an additional "66" prefix, otherwise the next instruction will be corrupted, causing runtime misbehavior (crashes) of the linked object. The other (GD -> IE/LD) optimizations are the same with or without PLT, but add tests for completeness. The instructions are copied from https://raw.githubusercontent.com/wiki/hjl-tools/x86-psABI/x86-64-psABI-1.0.pdf#subsection.11.1.2 This does not try to address ILP32 (x32) support. Fixes https://bugs.llvm.org/show_bug.cgi?id=37303 Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D56779 ------------------------------------------------------------------------ llvm-svn: 351401
Configuration menu - View commit details
-
Copy full SHA for 18f9cee - Browse repository at this point
Copy the full SHA 18f9ceeView commit details
Commits on Jan 17, 2019
-
------------------------------------------------------------------------ r351360 | jmorse | 2019-01-16 18:41:29 +0100 (Wed, 16 Jan 2019) | 6 lines Add a REQUIRES: darwin line for a mac test. This test, apparently for macs, fails on Windows as lit can't emulate the shell subprocess $(which...) correctly. Some other netbsd and linux buildbots also fail here. Limit to macs as a temporary workaround. ------------------------------------------------------------------------ llvm-svn: 351419
Configuration menu - View commit details
-
Copy full SHA for cfa6241 - Browse repository at this point
Copy the full SHA cfa6241View commit details -
------------------------------------------------------------------------ r351340 | asl | 2019-01-16 14:28:30 +0100 (Wed, 16 Jan 2019) | 7 lines [MSP430] Fix msp430-toolchain.c on Windows (added in r351228) Patch by Kristina Bessonova! Differential Revision: https://reviews.llvm.org/D56776 ------------------------------------------------------------------------ llvm-svn: 351420
Configuration menu - View commit details
-
Copy full SHA for bcabeb4 - Browse repository at this point
Copy the full SHA bcabeb4View commit details -
------------------------------------------------------------------------ r351431 | hans | 2019-01-17 12:31:03 +0100 (Thu, 17 Jan 2019) | 19 lines Revert r351311 "[OMPT] Make sure that OMPT is enabled when accessing internals of the runtime" and also the follow-up r351315. The new test is failing on the buildbots. > Make sure that OMPT is enabled in runtime entry points that access internals > of the runtime. Else, return an appropiate value indicating an error or that > the data is not available. > > Patch provided by @sconvent > > Reviewers: jlpeyton, omalyshe, hbae, Hahnfeld, joachim.protze > > Reviewed By: joachim.protze > > Tags: #openmp, #ompt > > Differential Revision: https://reviews.llvm.org/D47717 ------------------------------------------------------------------------ llvm-svn: 351432
Configuration menu - View commit details
-
Copy full SHA for 66303bc - Browse repository at this point
Copy the full SHA 66303bcView commit details -
------------------------------------------------------------------------ r351436 | hans | 2019-01-17 14:11:15 +0100 (Thu, 17 Jan 2019) | 1 line build_llvm_package.bat: Run more tests ------------------------------------------------------------------------ llvm-svn: 351437
Configuration menu - View commit details
-
Copy full SHA for 9d7c270 - Browse repository at this point
Copy the full SHA 9d7c270View commit details -
------------------------------------------------------------------------ r351349 | abataev | 2019-01-16 16:39:52 +0100 (Wed, 16 Jan 2019) | 14 lines [SLP] Fix PR40310: The reduction nodes should stay scalar. Summary: Sometimes the SLP vectorizer tries to vectorize the horizontal reduction nodes during regular vectorization. This may happen inside of the loops, when there are some vectorizable PHIs. Patch fixes this by checking if the node is the reduction node and thus it must not be vectorized, it must be gathered. Reviewers: RKSimon, spatel, hfinkel, fedor.sergeev Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D56783 ------------------------------------------------------------------------ llvm-svn: 351440
Configuration menu - View commit details
-
Copy full SHA for 2b727e7 - Browse repository at this point
Copy the full SHA 2b727e7View commit details -
------------------------------------------------------------------------ r351344 | asl | 2019-01-16 14:44:01 +0100 (Wed, 16 Jan 2019) | 10 lines [MSP430] Improve support of 'interrupt' attribute * Accept as an argument constants in range 0..63 (aligned with TI headers and linker scripts provided with TI GCC toolchain). * Emit function attribute 'interrupt'='xx' instead of aliases (used in the backend to create a section for particular interrupt vector). * Add more diagnostics. Patch by Kristina Bessonova! Differential Revision: https://reviews.llvm.org/D56663 ------------------------------------------------------------------------ llvm-svn: 351441
Configuration menu - View commit details
-
Copy full SHA for ec0bc4c - Browse repository at this point
Copy the full SHA ec0bc4cView commit details -
------------------------------------------------------------------------ r351345 | asl | 2019-01-16 15:03:41 +0100 (Wed, 16 Jan 2019) | 23 lines [MSP430] Emit a separate section for every interrupt vector This is LLVM part of D56663 Linker scripts shipped by TI require to have every interrupt vector in a separate section with a specific name: SECTIONS { __interrupt_vector_XX : { KEEP (*(__interrupt_vector_XX )) } > VECTXX ... } Follow the requirement emit the section for every vector which contain address of interrupt handler: .section __interrupt_vector_XX,"ax",@progbits .word %isr% Patch by Kristina Bessonova! Differential Revision: https://reviews.llvm.org/D56664 ------------------------------------------------------------------------ llvm-svn: 351442
Configuration menu - View commit details
-
Copy full SHA for edcbea9 - Browse repository at this point
Copy the full SHA edcbea9View commit details -
------------------------------------------------------------------------ r351351 | mareko | 2019-01-16 16:43:53 +0100 (Wed, 16 Jan 2019) | 7 lines AMDGPU: Add llvm.amdgcn.ds.ordered.add & swap Reviewers: arsenm, nhaehnle Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D52944 ------------------------------------------------------------------------ llvm-svn: 351443
Configuration menu - View commit details
-
Copy full SHA for f308f98 - Browse repository at this point
Copy the full SHA f308f98View commit details -
------------------------------------------------------------------------ r351381 | ctopper | 2019-01-16 22:46:32 +0100 (Wed, 16 Jan 2019) | 11 lines [X86] Add X86ISD::VSHLV and X86ISD::VSRLV nodes for psllv and psrlv Previously we used ISD::SHL and ISD::SRL to represent these in SelectionDAG. ISD::SHL/SRL interpret an out of range shift amount as undefined behavior and will constant fold to undef. While the intrinsics are defined to return 0 for out of range shift amounts. A previous patch added a special node for VPSRAV to produce all sign bits. This was previously believed safe because undefs frequently get turned into 0 either from the constant pool or a desire to not have a false register dependency. But undef is treated specially in some optimizations. For example, its ignored in detection of vector splats. So if the ISD::SHL/SRL can be constant folded and all of the elements with in bounds shift amounts are the same, we might fold it to single element broadcast from the constant pool. This would not put 0s in the elements with out of bounds shift amounts. We do have an existing InstCombine optimization to use shl/lshr when the shift amounts are all constant and in bounds. That should prevent some loss of constant folding from this change. Patch by zhutianyang and Craig Topper Differential Revision: https://reviews.llvm.org/D56695 ------------------------------------------------------------------------ llvm-svn: 351444
Configuration menu - View commit details
-
Copy full SHA for 6f53381 - Browse repository at this point
Copy the full SHA 6f53381View commit details -
------------------------------------------------------------------------ r351326 | psmith | 2019-01-16 13:09:13 +0100 (Wed, 16 Jan 2019) | 15 lines [ELF] Implement option to force PIC compatible Thunks By default LLD will generate position independent Thunks when the --pie or --shared option is used. Reference to absolute addresses is permitted in other cases. For some embedded systems position independent thunks are needed for code that executes before the MMU has been set up. The option --pic-veneer is used by ld.bfd to force position independent thunks. The patch adds --pic-veneer as the option is needed for the Linux kernel on Arm. fixes pr39886 Differential Revision: https://reviews.llvm.org/D55505 ------------------------------------------------------------------------ llvm-svn: 351445
Configuration menu - View commit details
-
Copy full SHA for 37174c6 - Browse repository at this point
Copy the full SHA 37174c6View commit details -
------------------------------------------------------------------------ r351335 | psmith | 2019-01-16 14:24:02 +0100 (Wed, 16 Jan 2019) | 17 lines [ELF][AArch64] Add R_AARCH64_PLT_PAGE_PC to isRelExpr As a follow on to D56666 (r351186) there is a case when taking the address of an ifunc when linking -pie that can generate a spurious can't create dynamic relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol in readonly segment. Specifically the case is where the ifunc is in the same translation unit as the address taker, so given -fpie the compiler knows the ifunc is defined in the executable so it can use a non-got-generating relocation. The error message is due to R_AARCH64_PLT_PAGE_PC not being added to isRelExpr, its non PLT equivalent R_AARCH64_PAGE_PC is already in isRelExpr. Differential Revision: https://reviews.llvm.org/D56724 ------------------------------------------------------------------------ llvm-svn: 351446
Configuration menu - View commit details
-
Copy full SHA for 961b84b - Browse repository at this point
Copy the full SHA 961b84bView commit details -
------------------------------------------------------------------------ r351370 | mgrang | 2019-01-16 20:52:59 +0100 (Wed, 16 Jan 2019) | 14 lines [COFF, ARM64] Implement support for SEH extensions __try/__except/__finally Summary: This patch supports MS SEH extensions __try/__except/__finally. The intrinsics localescape and localrecover are responsible for communicating escaped static allocas from the try block to the handler. We need to preserve frame pointers for SEH. So we create a new function/property HasLocalEscape. Reviewers: rnk, compnerd, mstorsjo, TomTan, efriedma, ssijaric Reviewed By: rnk, efriedma Subscribers: smeenai, jrmuizel, alex, majnemer, ssijaric, ehsan, dmajor, kristina, javed.absar, kristof.beyls, chrib, llvm-commits Differential Revision: https://reviews.llvm.org/D53540 ------------------------------------------------------------------------ llvm-svn: 351451
Configuration menu - View commit details
-
Copy full SHA for 3553f3e - Browse repository at this point
Copy the full SHA 3553f3eView commit details -
------------------------------------------------------------------------ r351421 | ssijaric | 2019-01-17 10:45:17 +0100 (Thu, 17 Jan 2019) | 12 lines [ARM64][Windows] Share unwind codes between epilogues There are cases where we have multiple epilogues that have the exact same unwind code sequence. In that case, the epilogues can share the same unwind codes in the .xdata section. This should get us past the assert "SEH unwind data splitting not yet implemented" in many cases. We still need to add support for generating multiple .pdata/.xdata sections for those functions that need to be split into fragments. Differential Revision: https://reviews.llvm.org/D56813 ------------------------------------------------------------------------ llvm-svn: 351452
Configuration menu - View commit details
-
Copy full SHA for 2f1402b - Browse repository at this point
Copy the full SHA 2f1402bView commit details
Commits on Jan 18, 2019
-
------------------------------------------------------------------------ r351475 | rnk | 2019-01-17 21:46:53 +0100 (Thu, 17 Jan 2019) | 16 lines [InstCombine] Don't sink dynamic allocas Summary: InstCombine's sinking algorithm only thinks about memory. It doesn't think about non-memory constraints like stack object lifetime. It can sink dynamic allocas across a stacksave call, which may be used with stackrestore, which can incorrectly reduce the lifetime of the dynamic alloca. Fixes PR40365 Reviewers: hfinkel, efriedma Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D56872 ------------------------------------------------------------------------ llvm-svn: 351530
Configuration menu - View commit details
-
Copy full SHA for 8593d60 - Browse repository at this point
Copy the full SHA 8593d60View commit details -
------------------------------------------------------------------------ r351325 | gbuella | 2019-01-16 13:06:17 +0100 (Wed, 16 Jan 2019) | 26 lines Assertion in isAllocaPromotable due to extra bitcast goes into lifetime marker For the given test SROA detects possible replacement and creates a correct alloca. After that SROA is adding lifetime markers for this new alloca. The function getNewAllocaSlicePtr is trying to deduce the pointer type based on the original alloca, which is split, to use it later in lifetime intrinsic. For the test we ended up with such code (rA is initial alloca [10 x float], which is split, and rA.sroa.0.0 is a new split allocation) ``` %rA.sroa.0.0.rA.sroa_cast = bitcast i32* %rA.sroa.0 to [10 x float]* <----- this one causing the assertion and is an extra bitcast %5 = bitcast [10 x float]* %rA.sroa.0.0.rA.sroa_cast to i8* call void @llvm.lifetime.start.p0i8(i64 4, i8* %5) ``` isAllocaPromotable code assumes that a user of alloca may go into lifetime marker through bitcast but it must be the only one bitcast to i8* type. In the test it's not a i8* type, return false and throw the assertion. As we are creating a pointer, which will be used in lifetime markers only, the proposed fix is to create a bitcast to i8* immediately to avoid extra bitcast creation. The test is a greatly simplified to just reproduce the assertion. Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com> Reviewers: chandlerc, craig.topper Reviewed By: chandlerc Differential Revision: https://reviews.llvm.org/D55934 ------------------------------------------------------------------------ llvm-svn: 351532
Configuration menu - View commit details
-
Copy full SHA for 47149c4 - Browse repository at this point
Copy the full SHA 47149c4View commit details -
------------------------------------------------------------------------ r351457 | vlad.tsyrklevich | 2019-01-17 18:53:45 +0100 (Thu, 17 Jan 2019) | 15 lines TLS: Respect visibility for thread_local variables on Darwin (PR40327) Summary: Teach clang to mark thread wrappers for thread_local variables with hidden visibility when the original variable is marked with hidden visibility. This is necessary on Darwin which exposes the thread wrapper instead of the thread variable. The thread wrapper would previously always be created with default visibility unless it had linkonce*/weak_odr linkage. Reviewers: rjmccall Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D56818 ------------------------------------------------------------------------ llvm-svn: 351533
Configuration menu - View commit details
-
Copy full SHA for c4fa34c - Browse repository at this point
Copy the full SHA c4fa34cView commit details -
------------------------------------------------------------------------ r351459 | arphaman | 2019-01-17 19:12:45 +0100 (Thu, 17 Jan 2019) | 13 lines [ObjC] Follow-up r350768 and allow the use of unavailable methods that are declared in a parent class from within the @implementation context This commit extends r350768 and allows the use of methods marked as unavailable that are declared in a parent class/category from within the @implementation of the class where the method is marked as unavailable. This allows users to call init that's marked as unavailable even if they don't define it. rdar://47134898 Differential Revision: https://reviews.llvm.org/D56816 ------------------------------------------------------------------------ llvm-svn: 351535
Configuration menu - View commit details
-
Copy full SHA for ad1624f - Browse repository at this point
Copy the full SHA ad1624fView commit details -
------------------------------------------------------------------------ r351504 | brad | 2019-01-18 02:36:58 +0100 (Fri, 18 Jan 2019) | 2 lines Use llvm::VersionTuple instead of manual version marshalling ------------------------------------------------------------------------ llvm-svn: 351536
Configuration menu - View commit details
-
Copy full SHA for d4d3f77 - Browse repository at this point
Copy the full SHA d4d3f77View commit details -
Merging r351463, r351466, r351467, and r351468
------------------------------------------------------------------------ r351463 | eugenezelenko | 2019-01-17 19:31:34 +0100 (Thu, 17 Jan 2019) | 6 lines [Documentation] Add a chapter about Clang-tidy integrations. Patch by Marina Kalashina. Differential Revision: https://reviews.llvm.org/D54945 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r351466 | eugenezelenko | 2019-01-17 20:35:39 +0100 (Thu, 17 Jan 2019) | 2 lines [Documentation] Fix link in docs/clang-tidy/Contributing.rst. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r351467 | eugenezelenko | 2019-01-17 20:47:44 +0100 (Thu, 17 Jan 2019) | 2 lines [Documentation] Another attempt to fix link in docs/clang-tidy/Contributing.rst. Use HTTPS for links. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r351468 | eugenezelenko | 2019-01-17 21:00:23 +0100 (Thu, 17 Jan 2019) | 2 lines [Documentation] Fix another link in docs/clang-tidy/Contributing.rst. ------------------------------------------------------------------------ llvm-svn: 351538
Configuration menu - View commit details
-
Copy full SHA for 6e751e8 - Browse repository at this point
Copy the full SHA 6e751e8View commit details -
------------------------------------------------------------------------ r351426 | d0k | 2019-01-17 11:25:18 +0100 (Thu, 17 Jan 2019) | 1 line [MC] Remove unused variable ------------------------------------------------------------------------ llvm-svn: 351543
Configuration menu - View commit details
-
Copy full SHA for e264dae - Browse repository at this point
Copy the full SHA e264daeView commit details
Commits on Jan 22, 2019
-
------------------------------------------------------------------------ r351580 | kli | 2019-01-18 20:57:37 +0100 (Fri, 18 Jan 2019) | 4 lines [OPENMP][DOCS] Release notes/OpenMP support updates, NFC. Differential Revision: https://reviews.llvm.org/D56733 ------------------------------------------------------------------------ llvm-svn: 351839
Configuration menu - View commit details
-
Copy full SHA for 119d8a5 - Browse repository at this point
Copy the full SHA 119d8a5View commit details -
------------------------------------------------------------------------ r351686 | vmiklos | 2019-01-20 15:28:27 +0100 (Sun, 20 Jan 2019) | 5 lines [clang-tidy] misc-non-private-member-variables-in-classes: ignore implicit methods Otherwise we don't warn on a struct containing a single public int, but we warn on a struct containing a single public std::string, which is inconsistent. ------------------------------------------------------------------------ llvm-svn: 351844
Configuration menu - View commit details
-
Copy full SHA for eb74b59 - Browse repository at this point
Copy the full SHA eb74b59View commit details -
------------------------------------------------------------------------ r351753 | spatel | 2019-01-21 18:30:14 +0100 (Mon, 21 Jan 2019) | 8 lines [DAGCombiner] fix crash when converting build vector to shuffle The regression test is reduced from the example shown in D56281. This does raise a question as noted in the test file: do we want to handle this pattern? I don't have a motivating example for that on x86 yet, but it seems like we could have that pattern there too, so we could avoid the back-and-forth using a shuffle. ------------------------------------------------------------------------ llvm-svn: 351857
Configuration menu - View commit details
-
Copy full SHA for 2bebfeb - Browse repository at this point
Copy the full SHA 2bebfebView commit details -
------------------------------------------------------------------------ r351754 | spatel | 2019-01-21 18:46:35 +0100 (Mon, 21 Jan 2019) | 6 lines [AArch64] add more tests for buildvec to shuffle transform; NFC These are copied from the sibling x86 file. I'm not sure which of the current outputs (if any) is considered optimal, but someone more familiar with AArch may want to take a look. ------------------------------------------------------------------------ llvm-svn: 351858
Configuration menu - View commit details
-
Copy full SHA for ee231d0 - Browse repository at this point
Copy the full SHA ee231d0View commit details -
------------------------------------------------------------------------ r351788 | kadircet | 2019-01-22 10:10:20 +0100 (Tue, 22 Jan 2019) | 15 lines [clangd] Filter out plugin related flags and move all commandline manipulations into OverlayCDB. Summary: Some projects make use of clang plugins when building, but clangd is not aware of those plugins therefore can't work with the same compile command arguments. There were multiple places clangd performed commandline manipulations, this one also moves them all into OverlayCDB. Reviewers: ilya-biryukov Subscribers: klimek, sammccall, ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D56841 ------------------------------------------------------------------------ llvm-svn: 351860
Configuration menu - View commit details
-
Copy full SHA for 642a173 - Browse repository at this point
Copy the full SHA 642a173View commit details -
[docs] Amend the release notes with more things I've contributed sinc…
…e the last release Differential Revision: https://reviews.llvm.org/D57005 llvm-svn: 351868
Configuration menu - View commit details
-
Copy full SHA for a05d35f - Browse repository at this point
Copy the full SHA a05d35fView commit details -
[docs] Add release notes for notable things I've contributed since la…
…st release Differential Revision: https://reviews.llvm.org/D57003 llvm-svn: 351870
Configuration menu - View commit details
-
Copy full SHA for 78ecdd7 - Browse repository at this point
Copy the full SHA 78ecdd7View commit details -
[docs] Add release notes for notable things I've contributed since la…
…st release Differential Revision: https://reviews.llvm.org/D57004 llvm-svn: 351872
Configuration menu - View commit details
-
Copy full SHA for 1e7e399 - Browse repository at this point
Copy the full SHA 1e7e399View commit details
Commits on Jan 23, 2019
-
------------------------------------------------------------------------ r351531 | kadircet | 2019-01-18 10:00:31 +0100 (Fri, 18 Jan 2019) | 11 lines [tooling] Add a new argument adjuster for deleting plugin related command line args Summary: Currently both clangd and clang-tidy makes use of this mechanism so putting it into tooling so that all tools can make use of it. Reviewers: ilya-biryukov, sammccall Subscribers: ioeric, cfe-commits Differential Revision: https://reviews.llvm.org/D56856 ------------------------------------------------------------------------ llvm-svn: 351961
Configuration menu - View commit details
-
Copy full SHA for d0fae09 - Browse repository at this point
Copy the full SHA d0fae09View commit details -
------------------------------------------------------------------------ r351738 | kadircet | 2019-01-21 11:10:18 +0100 (Mon, 21 Jan 2019) | 9 lines [clang-tidy] Use getStripPluginsAdjuster Summary: See rC351531 for the introduction of getStripPluginsAdjuster. Reviewers: alexfh Subscribers: xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D56902 ------------------------------------------------------------------------ llvm-svn: 351962
Configuration menu - View commit details
-
Copy full SHA for f669262 - Browse repository at this point
Copy the full SHA f669262View commit details -
------------------------------------------------------------------------ r351898 | pcc | 2019-01-23 00:51:35 +0100 (Wed, 23 Jan 2019) | 13 lines COFF, ELF: Adjust ICF hash computation to account for self relocations. It turns out that sections in PGO instrumented object files on Windows contain a large number of relocations pointing to themselves. With r347429 this can cause many sections to receive the same hash (usually zero) as a result of a section's hash being xor'ed with itself. This patch causes the COFF and ELF linkers to avoid this problem by adding the hash of the relocated section instead of xor'ing it. On my machine this causes the regressing test case provided by Mozilla to terminate in 2m41s. Differential Revision: https://reviews.llvm.org/D56955 ------------------------------------------------------------------------ llvm-svn: 351963
Configuration menu - View commit details
-
Copy full SHA for 40cbc00 - Browse repository at this point
Copy the full SHA 40cbc00View commit details -
------------------------------------------------------------------------ r351899 | pcc | 2019-01-23 00:54:49 +0100 (Wed, 23 Jan 2019) | 26 lines COFF, ELF: ICF: Perform 2 rounds of relocation hash propagation. LLD's performance on PGO instrumented Windows binaries was still not great even with the fix in D56955; out of the 2m41s linker runtime, around 2 minutes were still being spent in ICF. I looked into this more closely and discovered that the vast majority of the runtime was being spent segregating .pdata sections with the following relocation chain: .pdata -> identical .text -> unique PGO counter (not eligible for ICF) This patch causes us to perform 2 rounds of relocation hash propagation, which allows the hash for the .pdata sections to incorporate the identifier from the PGO counter. With that, the amount of time spent in ICF was reduced to about 2 seconds. I also found that the same change led to a significant ICF performance improvement in a regular release build of Chromium's chrome_child.dll, where ICF time was reduced from around 1s to around 700ms. With the same change applied to the ELF linker, median of 100 runs for lld-speed-test/chrome reduced from 4.53s to 4.45s on my machine. I also experimented with increasing the number of propagation rounds further, but I did not observe any further significant performance improvements linking Chromium or Firefox. Differential Revision: https://reviews.llvm.org/D56986 ------------------------------------------------------------------------ llvm-svn: 351964
Configuration menu - View commit details
-
Copy full SHA for b00b2b8 - Browse repository at this point
Copy the full SHA b00b2b8View commit details -
------------------------------------------------------------------------ r351670 | ericwf | 2019-01-20 02:21:35 +0100 (Sun, 20 Jan 2019) | 7 lines Fix aligned allocation availability XFAILs after D56445. D56445 bumped the minimum Mac OS X version required for aligned allocation from 10.13 to 10.14. This caused libc++ tests depending on the old value to break. This patch updates the XFAILs for those tests to include 10.13. ------------------------------------------------------------------------ llvm-svn: 351980
Configuration menu - View commit details
-
Copy full SHA for 17c9824 - Browse repository at this point
Copy the full SHA 17c9824View commit details
Commits on Jan 24, 2019
-
------------------------------------------------------------------------ r351930 | kbeyls | 2019-01-23 09:18:39 +0100 (Wed, 23 Jan 2019) | 30 lines [SLH] AArch64: correctly pick temporary register to mask SP As part of speculation hardening, the stack pointer gets masked with the taint register (X16) before a function call or before a function return. Since there are no instructions that can directly mask writing to the stack pointer, the stack pointer must first be transferred to another register, where it can be masked, before that value is transferred back to the stack pointer. Before, that temporary register was always picked to be x17, since the ABI allows clobbering x17 on any function call, resulting in the following instruction pattern being inserted before function calls and returns/tail calls: mov x17, sp and x17, x17, x16 mov sp, x17 However, x17 can be live in those locations, for example when the call is an indirect call, using x17 as the target address (blr x17). To fix this, this patch looks for an available register just before the call or terminator instruction and uses that. In the rare case when no register turns out to be available (this situation is only encountered twice across the whole test-suite), just insert a full speculation barrier at the start of the basic block where this occurs. Differential Revision: https://reviews.llvm.org/D56717 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r351932 | kbeyls | 2019-01-23 10:10:12 +0100 (Wed, 23 Jan 2019) | 3 lines [SLH][AArch64] Remove accidentally retained -debug-only line from test. ------------------------------------------------------------------------ llvm-svn: 352115
Configuration menu - View commit details
-
Copy full SHA for 22c2b2b - Browse repository at this point
Copy the full SHA 22c2b2bView commit details -
------------------------------------------------------------------------ r352040 | ibiryukov | 2019-01-24 11:41:43 +0100 (Thu, 24 Jan 2019) | 9 lines [CodeComplete] [clangd] Fix crash on ValueDecl with a null type Reviewers: kadircet Reviewed By: kadircet Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D57093 ------------------------------------------------------------------------ llvm-svn: 352118
Configuration menu - View commit details
-
Copy full SHA for a008fbe - Browse repository at this point
Copy the full SHA a008fbeView commit details -
------------------------------------------------------------------------ r352040 | ibiryukov | 2019-01-24 11:41:43 +0100 (Thu, 24 Jan 2019) | 9 lines [CodeComplete] [clangd] Fix crash on ValueDecl with a null type Reviewers: kadircet Reviewed By: kadircet Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D57093 ------------------------------------------------------------------------ llvm-svn: 352120
Configuration menu - View commit details
-
Copy full SHA for de8481e - Browse repository at this point
Copy the full SHA de8481eView commit details -
------------------------------------------------------------------------ r352102 | rsmith | 2019-01-24 21:52:56 +0100 (Thu, 24 Jan 2019) | 2 lines Add a triple to this test so it passes for targets where alignof(double) really should be equal to alignof(float). ------------------------------------------------------------------------ llvm-svn: 352132
Configuration menu - View commit details
-
Copy full SHA for 400f8a3 - Browse repository at this point
Copy the full SHA 400f8a3View commit details
Commits on Jan 25, 2019
-
------------------------------------------------------------------------ r352116 | mgorny | 2019-01-24 23:20:47 +0100 (Thu, 24 Jan 2019) | 9 lines [Process/NetBSD] Add missing linkage to -lutil Add missing linkage to fix build failure with LLD: ld: error: undefined symbol: kinfo_getvmmap >>> referenced by NativeProcessNetBSD.cpp >>> NativeProcessNetBSD.cpp.o:(lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache()) in archive lib/liblldbPluginProcessNetBSD.a Differential Revision: https://reviews.llvm.org/D57193 ------------------------------------------------------------------------ llvm-svn: 352134
Configuration menu - View commit details
-
Copy full SHA for 24479b1 - Browse repository at this point
Copy the full SHA 24479b1View commit details -
------------------------------------------------------------------------ r352082 | ruiu | 2019-01-24 20:02:31 +0100 (Thu, 24 Jan 2019) | 15 lines Fix broken export table if .rdata is merged with .text. Previously, we assumed that .rdata is zero-filled, so when writing an COFF import table, we didn't write anything if the data is zero. That assumption was wrong because .rdata can be merged with .text. If .rdata is merged with .text, they are initialized with 0xcc which is a trap instruction. This patch removes that assumption from code. Should be merged to 8.0 branch as this is a regression. Fixes https://bugs.llvm.org/show_bug.cgi?id=39826 Differential Revision: https://reviews.llvm.org/D57168 ------------------------------------------------------------------------ llvm-svn: 352135
Configuration menu - View commit details
-
Copy full SHA for 22f92b5 - Browse repository at this point
Copy the full SHA 22f92b5View commit details -
------------------------------------------------------------------------ r351485 | vstefanovic | 2019-01-17 22:50:37 +0100 (Thu, 17 Jan 2019) | 10 lines [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 The callee address is added as an optional operand (MCSymbol) in AdjustInstrPostInstrSelection() and then used by asm printer to insert: '.reloc tmplabel, R_MIPS_JALR, symbol tmplabel:'. Controlled with '-mips-jalr-reloc', default is true. Differential revision: https://reviews.llvm.org/D56694 ------------------------------------------------------------------------ llvm-svn: 352137
Configuration menu - View commit details
-
Copy full SHA for 4474451 - Browse repository at this point
Copy the full SHA 4474451View commit details -
------------------------------------------------------------------------ r351579 | vstefanovic | 2019-01-18 20:54:51 +0100 (Fri, 18 Jan 2019) | 9 lines [mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls' These two options enable/disable emission of R_{MICRO}MIPS_JALR fixups along with PIC calls. The linker may then try to turn PIC calls into direct jumps. By default, these fixups do get emitted by the backend, use '-mno-relax-pic-calls' to omit them. Differential revision: https://reviews.llvm.org/D56878 ------------------------------------------------------------------------ llvm-svn: 352139
Configuration menu - View commit details
-
Copy full SHA for b7988f7 - Browse repository at this point
Copy the full SHA b7988f7View commit details -
------------------------------------------------------------------------ r352034 | atanasyan | 2019-01-24 10:13:14 +0100 (Thu, 24 Jan 2019) | 18 lines Reapply: [mips] Handle MipsMCExpr sub-expression for the MEK_DTPREL tag This reapplies commit r351987 with a failed test fix. Now the test accepts both DW_OP_GNU_push_tls_address and DW_OP_form_tls_address opcode. Original commit message: ``` This is a fix for a regression introduced by the rL348194 commit. In that change new type (MEK_DTPREL) of MipsMCExpr expression was added, but in some places of the code this type of expression considered as unexpected. This change fixes the bug. The MEK_DTPREL type of expression is used for marking TLS DIEExpr only and contains a regular sub-expression. Where we need to handle the expression, we retrieve the sub-expression and handle it in a common way. ``` ------------------------------------------------------------------------ llvm-svn: 352140
Configuration menu - View commit details
-
Copy full SHA for e25507d - Browse repository at this point
Copy the full SHA e25507dView commit details -
------------------------------------------------------------------------ r352068 | serge_sans_paille | 2019-01-24 18:56:08 +0100 (Thu, 24 Jan 2019) | 7 lines Partial support of SHT_GROUP without flag This does *not* implement full SHT_GROUP semantic, yet it is a simple step forward: Sections within a group are still considered valid, but they do not behave as specified by the standard in case of garbage collection. Differential Revision: https://reviews.llvm.org/D56437 ------------------------------------------------------------------------ llvm-svn: 352218
Configuration menu - View commit details
-
Copy full SHA for af62a72 - Browse repository at this point
Copy the full SHA af62a72View commit details -
------------------------------------------------------------------------ r352079 | sammccall | 2019-01-24 19:55:24 +0100 (Thu, 24 Jan 2019) | 33 lines [FileManager] Revert r347205 to avoid PCH file-descriptor leak. Summary: r347205 fixed a bug in FileManager: first calling getFile(shouldOpen=false) and then getFile(shouldOpen=true) results in the file not being open. Unfortunately, some code was (inadvertently?) relying on this bug: when building with a PCH, the file entries are obtained first by passing shouldOpen=false, and then later shouldOpen=true, without any intention of reading them. After r347205, they do get unneccesarily opened. Aside from extra operations, this means they need to be closed. Normally files are closed when their contents are read. As these files are never read, they stay open until clang exits. On platforms with a low open-files limit (e.g. Mac), this can lead to spurious file-not-found errors when building large projects with PCH enabled, e.g. https://bugs.chromium.org/p/chromium/issues/detail?id=924225 Fixing the callsites to pass shouldOpen=false when the file won't be read is not quite trivial (that info isn't available at the direct callsite), and passing shouldOpen=false is a performance regression (it results in open+fstat pairs being replaced by stat+open). So an ideal fix is going to be a little risky and we need some fix soon (especially for the llvm 8 branch). The problem addressed by r347205 is rare and has only been observed in clangd. It was present in llvm-7, so we can live with it for now. Reviewers: bkramer, thakis Subscribers: ilya-biryukov, ioeric, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D57165 ------------------------------------------------------------------------ llvm-svn: 352225
Configuration menu - View commit details
-
Copy full SHA for 4ba28fc - Browse repository at this point
Copy the full SHA 4ba28fcView commit details -
------------------------------------------------------------------------ r352204 | sammccall | 2019-01-25 16:05:33 +0100 (Fri, 25 Jan 2019) | 7 lines [JSON] Work around excess-precision issue when comparing T_Integer numbers. Reviewers: bkramer Subscribers: kristina, llvm-commits Differential Revision: https://reviews.llvm.org/D57237 ------------------------------------------------------------------------ llvm-svn: 352233
Configuration menu - View commit details
-
Copy full SHA for 9fbd743 - Browse repository at this point
Copy the full SHA 9fbd743View commit details -
------------------------------------------------------------------------ r352234 | dim | 2019-01-25 20:36:47 +0100 (Fri, 25 Jan 2019) | 38 lines Fix XRayTest link on FreeBSD (and likely NetBSD too) Summary: As reported on llvm-testers, during 8.0.0-rc1 testing I got errors while building of `XRayTest`, during `check-all`: ``` [100%] Generating XRayTest-x86_64-Test /home/dim/llvm/8.0.0/rc1/Phase3/Release/llvmCore-8.0.0-rc1.obj/./lib/libLLVMSupport.a(Signals.cpp.o): In function `llvm::sys::PrintStackTrace(llvm::raw_ostream&)': Signals.cpp:(.text._ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x24): undefined reference to `backtrace' Signals.cpp:(.text._ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x254): undefined reference to `llvm::itaniumDemangle(char const*, char*, unsigned long*, int*)' clang-8: error: linker command failed with exit code 1 (use -v to see invocation) gmake[3]: *** [projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/build.make:73: projects/compiler-rt/lib/xray/tests/unit/XRayTest-x86_64-Test] Error 1 gmake[3]: Target 'projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/build' not remade because of errors. gmake[2]: *** [CMakeFiles/Makefile2:33513: projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/all] Error 2 gmake[2]: Target 'CMakeFiles/check-all.dir/all' not remade because of errors. gmake[1]: *** [CMakeFiles/Makefile2:737: CMakeFiles/check-all.dir/rule] Error 2 gmake[1]: Target 'check-all' not remade because of errors. gmake: *** [Makefile:277: check-all] Error 2 [Release Phase3] check-all failed ``` This is because the `backtrace` function requires `-lexecinfo` on BSD platforms. To fix this, detect the `execinfo` library in `cmake/config-ix.cmake`, and add it to the unit test link flags. Additionally, since the code in `sys::PrintStackTrace` makes use of `itaniumDemangle`, also add `-lLLVMDemangle`. (Note that this is more of a general problem with libLLVMSupport, but I'm looking for a quick fix now so it can be merged to the 8.0 branch.) Reviewers: dberris, hans, mgorny, samsonov Reviewed By: dberris Subscribers: krytarowski, delcypher, erik.pilkington, #sanitizers, emaste, llvm-commits Differential Revision: https://reviews.llvm.org/D57181 ------------------------------------------------------------------------ llvm-svn: 352251
Configuration menu - View commit details
-
Copy full SHA for 30d3a54 - Browse repository at this point
Copy the full SHA 30d3a54View commit details
Commits on Jan 28, 2019
-
Redirecting to URL 'https://llvm.org/svn/llvm-project/lld/trunk': ------------------------------------------------------------------------ r352257 | ruiu | 2019-01-26 01:31:49 +0100 (Sat, 26 Jan 2019) | 1 line Remove dead declaration. ------------------------------------------------------------------------ llvm-svn: 352352
Configuration menu - View commit details
-
Copy full SHA for f149bca - Browse repository at this point
Copy the full SHA f149bcaView commit details -
Remove failing test expectations.
See discussions on the cfe-commits & clangd-dev thread about r352079. llvm-svn: 352354
Configuration menu - View commit details
-
Copy full SHA for 01ddd7c - Browse repository at this point
Copy the full SHA 01ddd7cView commit details -
Redirecting to URL 'https://llvm.org/svn/llvm-project/lld/trunk': ------------------------------------------------------------------------ r352302 | nickdesaulniers | 2019-01-27 03:54:23 +0100 (Sun, 27 Jan 2019) | 33 lines lld: elf: discard more specific .gnu.linkonce section Summary: lld discards .gnu.linonce.* sections work around a bug in glibc. https://sourceware.org/bugzilla/show_bug.cgi?id=20543 Unfortunately, the Linux kernel uses a section named .gnu.linkonce.this_module to store infomation about kernel modules. The kernel reads data from this section when loading kernel modules, and errors if it fails to find this section. The current behavior of lld discards this section when kernel modules are linked, so kernel modules linked with lld are unloadable by the linux kernel. The Linux kernel should use a comdat section instead of .gnu.linkonce. The minimum version of binutils supported by the kernel supports comdat sections. The kernel is also not relying on the old linkonce behavior; it seems to have chosen a name that contains a deprecated GNU feature. Changing the section name now in the kernel would require all kernel modules to be recompiled to make use of the new section name. Instead, rather than discarding .gnu.linkonce.*, let's discard the more specific section name to continue working around the glibc issue while supporting linking Linux kernel modules. Link: ClangBuiltLinux/linux#329 Reviewers: pcc, espindola Reviewed By: pcc Subscribers: nathanchance, emaste, arichardson, void, srhines Differential Revision: https://reviews.llvm.org/D57294 ------------------------------------------------------------------------ llvm-svn: 352355
Configuration menu - View commit details
-
Copy full SHA for 8f1376f - Browse repository at this point
Copy the full SHA 8f1376fView commit details -
Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk': ------------------------------------------------------------------------ r352323 | rakete1111 | 2019-01-27 20:19:59 +0100 (Sun, 27 Jan 2019) | 31 lines [SemaCXX] Fix ICE with structure bindings to members of template Summary: Trying to use structure binding with a structure that doesn't implement std::tuple_size, should unpack the data members. When the struct is a template though, clang might hit an assertion (if the type has not been completed before), because CXXRecordDecl::DefinitionData is nullptr. This commit fixes the problem by completing the type while trying to decompose the structured binding. The ICE happens in real world code, for example, when trying to iterate a protobuf generated map with a range-based for loop and structure bindings (because google::protobuf::MapPair is a template and doesn't support std::tuple_size). Reported-by: nicholas.sun@nlsun.com Patch by Daniele Di Proietto Reviewers: #clang, rsmith Reviewed By: #clang, rsmith Subscribers: cpplearner, Rakete1111, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D56974 ------------------------------------------------------------------------ llvm-svn: 352356
Configuration menu - View commit details
-
Copy full SHA for f86097d - Browse repository at this point
Copy the full SHA f86097dView commit details -
Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk': ------------------------------------------------------------------------ r352099 | djg | 2019-01-24 21:31:11 +0100 (Thu, 24 Jan 2019) | 7 lines [WebAssembly] Factor commonality between wasm32 and wasm64 in test/Preprocessor/init.c Use the -check-prefixes= feature to merge most of the WEBASSEMBLY32 and WEBASSEMBLY64 test checks into a shared WEBASSEMBLY test check. Differential Revision: https://reviews.llvm.org/D57153 ------------------------------------------------------------------------ llvm-svn: 352359
Configuration menu - View commit details
-
Copy full SHA for 246bce4 - Browse repository at this point
Copy the full SHA 246bce4View commit details -
Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk': ------------------------------------------------------------------------ r352105 | djg | 2019-01-24 22:05:11 +0100 (Thu, 24 Jan 2019) | 7 lines [WebAssembly] Add a __wasi__ target macro This adds a `__wasi__` macro for the wasi OS, similar to `__linux__` etc. for other OS's. Differential Revision: https://reviews.llvm.org/D57155 ------------------------------------------------------------------------ llvm-svn: 352360
Configuration menu - View commit details
-
Copy full SHA for b73d705 - Browse repository at this point
Copy the full SHA b73d705View commit details -
------------------------------------------------------------------------ r352221 | erichkeane | 2019-01-25 18:27:57 +0100 (Fri, 25 Jan 2019) | 12 lines Disable _Float16 for non ARM/SPIR Targets As Discussed here: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129543.html There are problems exposing the _Float16 type on architectures that haven't defined the ABI/ISel for the type yet, so we're temporarily disabling the type and making it opt-in. Differential Revision: https://reviews.llvm.org/D57188 Change-Id: I5db7366dedf1deb9485adb8948b1deb7e612a736 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r352222 | erichkeane | 2019-01-25 18:39:57 +0100 (Fri, 25 Jan 2019) | 3 lines Fix incorrect indent from r352221 Change-Id: I0a7b1443eb6912ef7bea1a4cf2f696fc01726557 ------------------------------------------------------------------------ llvm-svn: 352363
Configuration menu - View commit details
-
Copy full SHA for 1680cb5 - Browse repository at this point
Copy the full SHA 1680cb5View commit details -
Redirecting to URL 'https://llvm.org/svn/llvm-project/cfe/trunk': ------------------------------------------------------------------------ r352229 | erichkeane | 2019-01-25 19:36:20 +0100 (Fri, 25 Jan 2019) | 7 lines Remove F16 literal support based on Float16 support. Float16 support was disabled recently on many platforms, however that commit still allowed literals of Float16 type to work. This commit removes those based on the same logic as Float16 disable. Change-Id: I72243048ae2db3dc47bd3d699843e3edf9c395ea ------------------------------------------------------------------------ llvm-svn: 352365
Configuration menu - View commit details
-
Copy full SHA for accabdd - Browse repository at this point
Copy the full SHA accabddView commit details -
Redirecting to URL 'https://llvm.org/svn/llvm-project/clang-tools-extra/trunk': ------------------------------------------------------------------------ r352231 | jonastoth | 2019-01-25 20:05:12 +0100 (Fri, 25 Jan 2019) | 13 lines [clang-tidy] fix unit tests for dropped _Float16 support in X86 Summary: Because _Float16 was disabled for X86 targets the unit-tests started failing. Extract the pieces for _Float16 and run theses tests under AArch64. Reviewers: aaron.ballman, erichkeane, lebedev.ri Reviewed By: erichkeane Subscribers: javed.absar, xazax.hun, kristof.beyls, cfe-commits Differential Revision: https://reviews.llvm.org/D57249 ------------------------------------------------------------------------ llvm-svn: 352368
Configuration menu - View commit details
-
Copy full SHA for d1ba949 - Browse repository at this point
Copy the full SHA d1ba949View commit details
Commits on Jan 29, 2019
-
------------------------------------------------------------------------ r352413 | pcc | 2019-01-28 20:29:41 +0100 (Mon, 28 Jan 2019) | 8 lines ELF: Set sh_info on RelaIplt to point to the IgotPlt output section. Previously we were setting it to the GotPlt output section, which is incorrect on ARM where this section is in .got. In static binaries this can lead to sh_info being set to -1 (because there is no .got.plt) which results in various tools rejecting the output file. Differential Revision: https://reviews.llvm.org/D57274 ------------------------------------------------------------------------ llvm-svn: 352489
Configuration menu - View commit details
-
Copy full SHA for be5f5b3 - Browse repository at this point
Copy the full SHA be5f5b3View commit details -
------------------------------------------------------------------------ r352381 | stefan.graenitz | 2019-01-28 17:14:57 +0100 (Mon, 28 Jan 2019) | 5 lines [CMake] Quick-Fix FileCheck target does not exist when building against LLVM install-tree with COMPILER_RT_INCLUDE_TESTS=ON The issue came up during release testing for LLVM 8: https://bugs.llvm.org/show_bug.cgi?id=40443 Differential Revision: https://reviews.llvm.org/D57224 ------------------------------------------------------------------------ llvm-svn: 352490
Configuration menu - View commit details
-
Copy full SHA for 53ba53b - Browse repository at this point
Copy the full SHA 53ba53bView commit details -
------------------------------------------------------------------------ r352382 | stefan.graenitz | 2019-01-28 17:15:27 +0100 (Mon, 28 Jan 2019) | 5 lines [CMake] Quick-Fix targets don't exist when building against LLVM install-tree with LLDB_INCLUDE_TESTS=ON The issue came up during release testing for LLVM 8: https://bugs.llvm.org/show_bug.cgi?id=40443 Differential Revision: https://reviews.llvm.org/D57233 ------------------------------------------------------------------------ llvm-svn: 352491
Configuration menu - View commit details
-
Copy full SHA for caadceb - Browse repository at this point
Copy the full SHA caadcebView commit details -
------------------------------------------------------------------------ r352459 | mstorsjo | 2019-01-29 09:38:48 +0100 (Tue, 29 Jan 2019) | 7 lines [MinGW] Ignore the --plugin and --plugin-opt option GCC can use LLD with -fuse-ld=lld for MinGW these days, but by default these options are passed to the linker (unless -fno-lto is passed to the GCC driver). Differential Revision: https://reviews.llvm.org/D57304 ------------------------------------------------------------------------ llvm-svn: 352493
Configuration menu - View commit details
-
Copy full SHA for 84d97e3 - Browse repository at this point
Copy the full SHA 84d97e3View commit details -
------------------------------------------------------------------------ r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT, and require the fallback to be defined explicitly as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone after r346888. The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache variable and an optional pre-definition of default value from caller (e.g. libcxx). It included a hack to make this work by assigning the value back and forth but it was fragile and stopped working in libcxx. The new logic is simpler and more transparent. Default value is provided in a separate variable, and used only when user-specified variable is empty (i.e. not overriden). Differential Revision: https://reviews.llvm.org/D57282 ------------------------------------------------------------------------ llvm-svn: 352495
Configuration menu - View commit details
-
Copy full SHA for 71b117e - Browse repository at this point
Copy the full SHA 71b117eView commit details -
------------------------------------------------------------------------ r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT, and require the fallback to be defined explicitly as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone after r346888. The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache variable and an optional pre-definition of default value from caller (e.g. libcxx). It included a hack to make this work by assigning the value back and forth but it was fragile and stopped working in libcxx. The new logic is simpler and more transparent. Default value is provided in a separate variable, and used only when user-specified variable is empty (i.e. not overriden). Differential Revision: https://reviews.llvm.org/D57282 ------------------------------------------------------------------------ llvm-svn: 352496
Configuration menu - View commit details
-
Copy full SHA for 5751c2b - Browse repository at this point
Copy the full SHA 5751c2bView commit details -
------------------------------------------------------------------------ r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT, and require the fallback to be defined explicitly as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone after r346888. The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache variable and an optional pre-definition of default value from caller (e.g. libcxx). It included a hack to make this work by assigning the value back and forth but it was fragile and stopped working in libcxx. The new logic is simpler and more transparent. Default value is provided in a separate variable, and used only when user-specified variable is empty (i.e. not overriden). Differential Revision: https://reviews.llvm.org/D57282 ------------------------------------------------------------------------ llvm-svn: 352497
Configuration menu - View commit details
-
Copy full SHA for 2cc5c39 - Browse repository at this point
Copy the full SHA 2cc5c39View commit details -
------------------------------------------------------------------------ r352374 | mgorny | 2019-01-28 16:16:03 +0100 (Mon, 28 Jan 2019) | 18 lines [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT, and require the fallback to be defined explicitly as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone after r346888. The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache variable and an optional pre-definition of default value from caller (e.g. libcxx). It included a hack to make this work by assigning the value back and forth but it was fragile and stopped working in libcxx. The new logic is simpler and more transparent. Default value is provided in a separate variable, and used only when user-specified variable is empty (i.e. not overriden). Differential Revision: https://reviews.llvm.org/D57282 ------------------------------------------------------------------------ llvm-svn: 352498
Configuration menu - View commit details
-
Copy full SHA for c1d99f8 - Browse repository at this point
Copy the full SHA c1d99f8View commit details -
------------------------------------------------------------------------ r351910 | cuviper | 2019-01-23 01:53:22 +0100 (Wed, 23 Jan 2019) | 18 lines [CodeView] Allow empty types in member functions Summary: `CodeViewDebug::lowerTypeMemberFunction` used to default to a `Void` return type if the function's type array was empty. After D54667, it started blindly indexing the 0th item for the return type, which fails in `getOperand` for empty arrays if assertions are enabled. This patch restores the `Void` return type for empty type arrays, and adds a test generated by Rust in line-only debuginfo mode. Reviewers: zturner, rnk Reviewed By: rnk Subscribers: hiraditya, JDevlieghere, llvm-commits Differential Revision: https://reviews.llvm.org/D57070 ------------------------------------------------------------------------ llvm-svn: 352546
Configuration menu - View commit details
-
Copy full SHA for f103e43 - Browse repository at this point
Copy the full SHA f103e43View commit details -
------------------------------------------------------------------------ r352539 | arsenm | 2019-01-29 21:49:47 +0100 (Tue, 29 Jan 2019) | 9 lines Revert "OpenCL: Extend argument promotion rules to vector types" This reverts r348083. This was based on a misreading of the spec for printf specifiers. Also revert r343653, as without a subsequent patch, a correctly specified format for a vector will incorrectly warn. Fixes bug 40491. ------------------------------------------------------------------------ llvm-svn: 352547
Configuration menu - View commit details
-
Copy full SHA for 3c554e2 - Browse repository at this point
Copy the full SHA 3c554e2View commit details
Commits on Jan 30, 2019
-
------------------------------------------------------------------------ r352610 | mgorny | 2019-01-30 09:20:24 +0100 (Wed, 30 Jan 2019) | 9 lines [clang] [Driver] [NetBSD] Append -rpath for shared compiler-rt runtimes Append appropriate -rpath when using shared compiler-rt runtimes, e.g. '-fsanitize=address -shared-libasan'. There's already a similar logic in CommonArgs.cpp but it uses non-standard arch-suffixed installation directory while we want our driver to work with standard installation paths. Differential Revision: https://reviews.llvm.org/D57303 ------------------------------------------------------------------------ llvm-svn: 352650
Configuration menu - View commit details
-
Copy full SHA for 88481d5 - Browse repository at this point
Copy the full SHA 88481d5View commit details -
[docs][mips] Add MIPS specific release notes for LLD 8.0
Differential Revision: http://reviews.llvm.org/D57459 llvm-svn: 352674
Configuration menu - View commit details
-
Copy full SHA for dbbe633 - Browse repository at this point
Copy the full SHA dbbe633View commit details -
[docs][mips] Clang 8.0 Release notes
MIPS specific part of Clang 8.0 Release notes. Feel free to add more notes if I miss something. Differential Revision: http://reviews.llvm.org/D57458 llvm-svn: 352675
Configuration menu - View commit details
-
Copy full SHA for dfc033d - Browse repository at this point
Copy the full SHA dfc033dView commit details -
[docs][mips] 8.0 Release notes
MIPS specific part of LLVM 8.0 Release notes. Differential Revision: http://reviews.llvm.org/D57457 llvm-svn: 352682
Configuration menu - View commit details
-
Copy full SHA for 8a11e14 - Browse repository at this point
Copy the full SHA 8a11e14View commit details
Commits on Feb 1, 2019
-
------------------------------------------------------------------------ r352407 | ruiu | 2019-01-28 20:11:52 +0100 (Mon, 28 Jan 2019) | 1 line Refactoring. NFC. ------------------------------------------------------------------------ llvm-svn: 352850
Configuration menu - View commit details
-
Copy full SHA for 6dcd982 - Browse repository at this point
Copy the full SHA 6dcd982View commit details -
------------------------------------------------------------------------ r352435 | ruiu | 2019-01-28 22:45:50 +0100 (Mon, 28 Jan 2019) | 1 line Attempt to fix build failure with GCC 5.4. ------------------------------------------------------------------------ llvm-svn: 352851
Configuration menu - View commit details
-
Copy full SHA for 9f0ae69 - Browse repository at this point
Copy the full SHA 9f0ae69View commit details -
------------------------------------------------------------------------ r352482 | grimar | 2019-01-29 12:46:00 +0100 (Tue, 29 Jan 2019) | 3 lines [ELF] - Remove dead `readBfdName` declaration. NFC. `readBfdName` was removed recently. ------------------------------------------------------------------------ llvm-svn: 352852
Configuration menu - View commit details
-
Copy full SHA for 15decd1 - Browse repository at this point
Copy the full SHA 15decd1View commit details -
------------------------------------------------------------------------ r352606 | dim | 2019-01-30 07:31:52 +0100 (Wed, 30 Jan 2019) | 27 lines Recognize FreeBSD specific BFD names in OUTPUT_FORMAT Summary: After rLLD344952 ("Add OUTPUT_FORMAT linker script directive support"), using BFD names such as `elf64-x86-64-freebsd` the `OUTPUT_FORMAT` linker script command does not work anymore, resulting in errors like: ``` ld: error: /home/dim/src/clang800-import/stand/efi/loader/arch/amd64/ldscript.amd64:2: unknown output format name: elf64-x86-64-freebsd >>> OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd") >>> ^ ``` To fix this, recognize a `-freebsd` suffix in BFD names, and also set `Configuration::OSABI` to `ELFOSABI_FREEBSD` for those cases. Add and/or update several test cases to check for the correct results of these new `OUTPUT_FORMAT` arguments. Reviewers: ruiu, atanasyan, grimar, hokein, emaste, espindola Reviewed By: ruiu Subscribers: nemanjai, javed.absar, arichardson, krytarowski, kristof.beyls, kbarton, llvm-commits Differential Revision: https://reviews.llvm.org/D57283 ------------------------------------------------------------------------ llvm-svn: 352853
Configuration menu - View commit details
-
Copy full SHA for 538ee73 - Browse repository at this point
Copy the full SHA 538ee73View commit details -
------------------------------------------------------------------------ r352672 | epilk | 2019-01-30 22:14:08 +0100 (Wed, 30 Jan 2019) | 4 lines Don't define __has_feature(objc_fixed_enum) in non-objc mode This is only a formal language feature in ObjC, otherwise its just an extension. Making this change was also an ABI break. ------------------------------------------------------------------------ llvm-svn: 352854
Configuration menu - View commit details
-
Copy full SHA for 2a08347 - Browse repository at this point
Copy the full SHA 2a08347View commit details -
------------------------------------------------------------------------ r352822 | ahatanak | 2019-02-01 01:12:06 +0100 (Fri, 01 Feb 2019) | 8 lines Revert "[Sema] Make canPassInRegisters return true if the CXXRecordDecl passed" This reverts commit r350920 as it is not clear whether we should force a class to be returned in registers when copy and move constructors are both deleted. For more background, see the following discussion: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20190128/259907.html ------------------------------------------------------------------------ llvm-svn: 352855
Configuration menu - View commit details
-
Copy full SHA for e26a2f2 - Browse repository at this point
Copy the full SHA e26a2f2View commit details -
------------------------------------------------------------------------ r352770 | tejohnson | 2019-01-31 18:18:11 +0100 (Thu, 31 Jan 2019) | 3 lines Recommit "[ThinLTO] Rename COMDATs for COFF when promoting/renaming COMDAT leader" Recommit of r352763 with fix for use after free. ------------------------------------------------------------------------ llvm-svn: 352856
Configuration menu - View commit details
-
Copy full SHA for d4c2ff4 - Browse repository at this point
Copy the full SHA d4c2ff4View commit details -
------------------------------------------------------------------------ r352156 | phosek | 2019-01-25 03:42:30 +0100 (Fri, 25 Jan 2019) | 12 lines [AArch64] Make the test for rsr and rsr64 stricter ACLE specifies that return type for rsr and rsr64 is uint32_t and uint64_t respectively. D56852 change the return type of rsr64 from unsigned long to unsigned long long which at least on Linux doesn't match uint64_t, but the test isn't strict enough to detect that because compiler implicitly converts unsigned long long to uint64_t, but it breaks other uses such as printf with PRIx64 type specifier. This change makes the test stricter enforcing that the return type of rsr and rsr64 builtins is what is actually specified in ACLE. Differential Revision: https://reviews.llvm.org/D57210 ------------------------------------------------------------------------ llvm-svn: 352859
Configuration menu - View commit details
-
Copy full SHA for c081a5f - Browse repository at this point
Copy the full SHA c081a5fView commit details -
------------------------------------------------------------------------ r352463 | sam_parker | 2019-01-29 10:04:03 +0100 (Tue, 29 Jan 2019) | 6 lines [AArch64] Update int64_t ACLE builtin arguments Re-applying r351740 with fixes (changing LL to W). Differential Revision: https://reviews.llvm.org/D56852 ------------------------------------------------------------------------ llvm-svn: 352860
Configuration menu - View commit details
-
Copy full SHA for f66fbcf - Browse repository at this point
Copy the full SHA f66fbcfView commit details -
------------------------------------------------------------------------ r352246 | mtrofin | 2019-01-25 22:49:54 +0100 (Fri, 25 Jan 2019) | 23 lines [llvm] Opt-in flag for X86DiscriminateMemOps Summary: Currently, if an instruction with a memory operand has no debug information, X86DiscriminateMemOps will generate one based on the first line of the enclosing function, or the last seen debug info. This may cause confusion in certain debugging scenarios. The long term approach would be to use the line number '0' in such cases, however, that brings in challenges: the base discriminator value range is limited (4096 values). For the short term, adding an opt-in flag for this feature. See bug 40319 (https://bugs.llvm.org/show_bug.cgi?id=40319) Reviewers: dblaikie, jmorse, gbedwell Reviewed By: dblaikie Subscribers: aprantl, eraman, hiraditya Differential Revision: https://reviews.llvm.org/D57257 ------------------------------------------------------------------------ llvm-svn: 352867
Configuration menu - View commit details
-
Copy full SHA for 61ff0b6 - Browse repository at this point
Copy the full SHA 61ff0b6View commit details -
[Hexagon] Update release notes with the changes to the Hexagon backend
llvm-svn: 352915
Krzysztof Parzyszek committedFeb 1, 2019 Configuration menu - View commit details
-
Copy full SHA for b96362f - Browse repository at this point
Copy the full SHA b96362fView commit details
Commits on Feb 4, 2019
-
Release Notes: Add Zig to External Open Source Projects Using LLVM 8
Zig has all tests passing in the llvm8 branch with rc1. Zig 0.4.0 is scheduled to be released 1 week after LLVM 8.0.0, and it will depend on LLVM 8. Patch by Andrew Kelley! Differential revision: https://reviews.llvm.org/D57586 llvm-svn: 353019
Configuration menu - View commit details
-
Copy full SHA for 36e9afb - Browse repository at this point
Copy the full SHA 36e9afbView commit details -
------------------------------------------------------------------------ r352889 | wolfgangp | 2019-02-01 18:11:58 +0100 (Fri, 01 Feb 2019) | 6 lines [DWARF v5] Fix DWARF emitter and consumer to produce/expect a uleb for a location description's length. Reviewer: davide, JDevliegere Differential Revision: https://reviews.llvm.org/D57550 ------------------------------------------------------------------------ llvm-svn: 353029
Configuration menu - View commit details
-
Copy full SHA for 8cc77b4 - Browse repository at this point
Copy the full SHA 8cc77b4View commit details -
------------------------------------------------------------------------ r352307 | void | 2019-01-27 08:24:03 +0100 (Sun, 27 Jan 2019) | 11 lines Remove Expr sugar decorating the CXXUuidofExpr node. Summary: Sugar, like ConstantExpr, causes an infinite expansion of the template object. Reviewers: rsmith, aaron.ballman Reviewed By: aaron.ballman Subscribers: riccibruno, aaron.ballman, cfe-commits, tzik, rnk Differential Revision: https://reviews.llvm.org/D57114 ------------------------------------------------------------------------ llvm-svn: 353031
Configuration menu - View commit details
-
Copy full SHA for 44c7930 - Browse repository at this point
Copy the full SHA 44c7930View commit details
Commits on Feb 5, 2019
-
------------------------------------------------------------------------ r352928 | mstorsjo | 2019-02-01 23:08:03 +0100 (Fri, 01 Feb 2019) | 9 lines [COFF] Fix crashes when writing a PDB after adding thunks. When writing a PDB, the OutputSection of all chunks need to be set. The thunks are added directly to OutputSection after the normal machinery that sets it for all other chunks. This fixes part of PR40467. Differential Revision: https://reviews.llvm.org/D57574 ------------------------------------------------------------------------ llvm-svn: 353157
Configuration menu - View commit details
-
Copy full SHA for ca26c44 - Browse repository at this point
Copy the full SHA ca26c44View commit details -
------------------------------------------------------------------------ r352929 | mstorsjo | 2019-02-01 23:08:09 +0100 (Fri, 01 Feb 2019) | 11 lines [COFF] Create range extension thunks for ARM64 On ARM64, this is normally necessary only after a module exceeds 128 MB in size (while the limit for thumb is 16 MB). For conditional branches, the range limit is only 1 MB though (the same as for thumb), and for the tbz instruction, the range is only 32 KB, which allows for a test much smaller than the full 128 MB. This fixes PR40467. Differential Revision: https://reviews.llvm.org/D57575 ------------------------------------------------------------------------ llvm-svn: 353158
Configuration menu - View commit details
-
Copy full SHA for 9c110d5 - Browse repository at this point
Copy the full SHA 9c110d5View commit details -
------------------------------------------------------------------------ r352945 | mgrang | 2019-02-02 02:32:48 +0100 (Sat, 02 Feb 2019) | 13 lines [AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp Summary: This fixes the bug in https://reviews.llvm.org/D56747#inline-502711. Reviewers: efriedma Reviewed By: efriedma Subscribers: javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57614 ------------------------------------------------------------------------ llvm-svn: 353159
Configuration menu - View commit details
-
Copy full SHA for f7f9945 - Browse repository at this point
Copy the full SHA f7f9945View commit details -
------------------------------------------------------------------------ r353082 | meinersbur | 2019-02-04 20:55:59 +0100 (Mon, 04 Feb 2019) | 10 lines [WarnMissedTransforms] Do not warn about already vectorized loops. LoopVectorize adds llvm.loop.isvectorized, but leaves llvm.loop.vectorize.enable. Do not consider such a loop for user-forced vectorization since vectorization already happened -- by prioritizing llvm.loop.isvectorized except for TM_SuppressedByUser. Fixes http://llvm.org/PR40546 Differential Revision: https://reviews.llvm.org/D57542 ------------------------------------------------------------------------ llvm-svn: 353166
Configuration menu - View commit details
-
Copy full SHA for a10d2d2 - Browse repository at this point
Copy the full SHA a10d2d2View commit details -
------------------------------------------------------------------------ r352555 | asbirlea | 2019-01-29 23:33:20 +0100 (Tue, 29 Jan 2019) | 12 lines Check bool attribute value in getOptionalBoolLoopAttribute. Summary: Check the bool value of the attribute in getOptionalBoolLoopAttribute not just its existance. Eliminates the warning noise generated when vectorization is explicitly disabled. Reviewers: Meinersbur, hfinkel, dmgreen Subscribers: jlebar, sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D57260 ------------------------------------------------------------------------ llvm-svn: 353167
Configuration menu - View commit details
-
Copy full SHA for a9a9c27 - Browse repository at this point
Copy the full SHA a9a9c27View commit details -
------------------------------------------------------------------------ r353218 | rnk | 2019-02-05 13:14:09 -0800 (Tue, 05 Feb 2019) | 19 lines [MC] Don't error on numberless .file directives on MachO Summary: Before r349976, MC ignored such directives when producing an object file and asserted when re-producing textual assembly output. I turned this assertion into a hard error in both cases in r349976, but this makes it unnecessarily difficult to write a single assembly file that supports both MachO and other object formats that support .file. A user reported this as PR40578, and we decided to go back to ignoring the directive. Fixes PR40578 Reviewers: mstorsjo Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57772 ------------------------------------------------------------------------ llvm-svn: 353220
Configuration menu - View commit details
-
Copy full SHA for 30ce79e - Browse repository at this point
Copy the full SHA 30ce79eView commit details
Commits on Feb 6, 2019
-
------------------------------------------------------------------------ r353155 | hans | 2019-02-05 12:01:54 +0100 (Tue, 05 Feb 2019) | 11 lines Fix format string in bindings/go/llvm/ir_test.go (PR40561) The test started failing for me recently. I don't see any changes around this code, so maybe it's my local go version that changed or something. The error seems real to me: we're trying to print an Attribute with %d. The test talks about "attribute masks" I'm not sure what that refers to, but I suppose we could print the raw pointer value, since that's what the test seems to be comparing. Differential revision: https://reviews.llvm.org/D57672 ------------------------------------------------------------------------ llvm-svn: 353279
Configuration menu - View commit details
-
Copy full SHA for 35f4f2f - Browse repository at this point
Copy the full SHA 35f4f2fView commit details -
------------------------------------------------------------------------ r352016 | phosek | 2019-01-24 04:04:42 +0100 (Thu, 24 Jan 2019) | 12 lines [libunwind] Don't abort if encoutering invalid .eh_frame_hdr Recent Linux kernel release has introduced a bug as part of the ORC rollout where the vDSO has a valid .eh_frame section, but it's missing the .eh_frame_hdr section and GNU_EH_FRAME segment has zero size. This causes libunwind to abort which breaks programs that use libunwind. The other unwinder implementation (libgcc, non-gnu) instead silently bail out unless being compiled as debug. This change modifies libunwind to use the same strategy. Differential Revision: https://reviews.llvm.org/D57081 ------------------------------------------------------------------------ llvm-svn: 353287
Configuration menu - View commit details
-
Copy full SHA for 5581990 - Browse repository at this point
Copy the full SHA 5581990View commit details -
------------------------------------------------------------------------ r353224 | kamil | 2019-02-05 23:20:25 +0100 (Tue, 05 Feb 2019) | 2 lines Update the ioctl(2) list in sanitizers with NetBSD 8.99.34 ------------------------------------------------------------------------ llvm-svn: 353292
Configuration menu - View commit details
-
Copy full SHA for a2f4603 - Browse repository at this point
Copy the full SHA a2f4603View commit details -
------------------------------------------------------------------------ r353250 | zturner | 2019-02-06 01:50:35 +0100 (Wed, 06 Feb 2019) | 24 lines [PDB] Remove dots and normalize slashes with /PDBSOURCEPATH. In a previous patch, I made changes so that PDBs which were generated on non-Windows platforms contained sensical paths for the host. While this is an esoteric use case, we need it to be supported for certain cross compilation scenarios especially with LLDB, which can debug things on non-Windows platforms. However, this regressed a case where you specify /PDBSOURCEPATH and use a windows-style path. Previously, we would still remove dots and canonicalize slashes to backslashes, but since my change intentionally tried to support non-backslash paths, this was broken. This patch fixes the situation by trying to guess which path style the user is specifying when /PDBSOURCEPATH is passed. It is intentionally conservative, erring on the side of a Windows path style unless absolutely certain. All dots are removed and slashes canonicalized to whatever the deduced path style is after appending the file path to the /PDBSOURCEPATH argument. Differential Revision: https://reviews.llvm.org/D57769 ------------------------------------------------------------------------ llvm-svn: 353300
Configuration menu - View commit details
-
Copy full SHA for 7ec84db - Browse repository at this point
Copy the full SHA 7ec84dbView commit details
Commits on Feb 7, 2019
-
------------------------------------------------------------------------ r353304 | uweigand | 2019-02-06 16:10:13 +0100 (Wed, 06 Feb 2019) | 18 lines [SystemZ] Do not return INT_MIN from strcmp/memcmp The IPM sequence currently generated to compute the strcmp/memcmp result will return INT_MIN for the "less than zero" case. While this is in compliance with the standard, strictly speaking, it turns out that common applications cannot handle this, e.g. because they negate a comparison result in order to implement reverse compares. This patch changes code to use a different sequence that will result in -2 for the "less than zero" case (same as GCC). However, this requires that the two source operands of the compare instructions are inverted, which breaks the optimization in removeIPMBasedCompare. Therefore, I've removed this (and all of optimizeCompareInstr), and replaced it with a mostly equivalent optimization in combineCCMask at the DAGcombine level. ------------------------------------------------------------------------ llvm-svn: 353379
Configuration menu - View commit details
-
Copy full SHA for f582206 - Browse repository at this point
Copy the full SHA f582206View commit details -
lld-link: Add some entries to the 8.0 release notes
By Nico Weber! Differential revision: https://reviews.llvm.org/D57818 llvm-svn: 353387
Configuration menu - View commit details
-
Copy full SHA for 238045f - Browse repository at this point
Copy the full SHA 238045fView commit details -
------------------------------------------------------------------------ r353367 | brad | 2019-02-07 03:06:58 +0100 (Thu, 07 Feb 2019) | 2 lines Add OpenBSD support to be able to get the thread name ------------------------------------------------------------------------ llvm-svn: 353388
Configuration menu - View commit details
-
Copy full SHA for 33fc712 - Browse repository at this point
Copy the full SHA 33fc712View commit details -
------------------------------------------------------------------------ r353327 | lebedevri | 2019-02-06 20:17:30 +0100 (Wed, 06 Feb 2019) | 18 lines [clang-tidy] modernize-avoid-c-arrays: avoid main function (PR40604) Summary: The check should ignore the main function, the program entry point. It is not possible to use `std::array<>` for the `argv`. The alternative is to use `char** argv`. Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=40604 | PR40604 ]] Reviewers: JonasToth, aaron.ballman Reviewed By: aaron.ballman Subscribers: xazax.hun, hans, cfe-commits Tags: #clang-tools-extra, #clang Differential Revision: https://reviews.llvm.org/D57787 ------------------------------------------------------------------------ llvm-svn: 353391
Configuration menu - View commit details
-
Copy full SHA for 7399f70 - Browse repository at this point
Copy the full SHA 7399f70View commit details -
------------------------------------------------------------------------ r353393 | hans | 2019-02-07 12:13:28 +0100 (Thu, 07 Feb 2019) | 1 line Typo: s/follwing/following ------------------------------------------------------------------------ llvm-svn: 353394
Configuration menu - View commit details
-
Copy full SHA for 104c654 - Browse repository at this point
Copy the full SHA 104c654View commit details -
Re-generate docs/ClangCommandLineReference.rst
$ bin/clang-tblgen -gen-opt-docs -I../cfe.src/include -I../cfe.src/include/clang/Driver -I../llvm.src/include ../cfe.src/include/clang/Driver/ClangOptionDocs.td -o ../cfe.src/docs/ClangCommandLineReference.rst llvm-svn: 353395
Configuration menu - View commit details
-
Copy full SHA for 8c33d4f - Browse repository at this point
Copy the full SHA 8c33d4fView commit details -
Generate docs/AttributeReference.rst
$ bin/clang-tblgen -gen-attr-docs -I../cfe.src/include ../cfe.src/include/clang/Basic/Attr.td -o ../cfe.src/docs/AttributeReference.rst llvm-svn: 353396
Configuration menu - View commit details
-
Copy full SHA for cb2d048 - Browse repository at this point
Copy the full SHA cb2d048View commit details -
[docs] Update the release notes for the backported feature with thunk…
…s for ARM64 llvm-svn: 353397
Configuration menu - View commit details
-
Copy full SHA for 829bb6f - Browse repository at this point
Copy the full SHA 829bb6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for ac29b65 - Browse repository at this point
Copy the full SHA ac29b65View commit details -
------------------------------------------------------------------------ r353399 | hans | 2019-02-07 13:39:35 +0100 (Thu, 07 Feb 2019) | 1 line docs: add missingkeyfunction to doctree, fix title ------------------------------------------------------------------------ llvm-svn: 353400
Configuration menu - View commit details
-
Copy full SHA for 98ebe74 - Browse repository at this point
Copy the full SHA 98ebe74View commit details -
Add external project LDC to release notes.
LDC, the LLVM-based D compiler, is already ready for LLVM 8.0.0. llvm-svn: 353466
Configuration menu - View commit details
-
Copy full SHA for 2699311 - Browse repository at this point
Copy the full SHA 2699311View commit details
Commits on Feb 8, 2019
-
Merging r351387, r351765, and r353374:
------------------------------------------------------------------------ r351387 | jfb | 2019-01-16 23:22:38 +0100 (Wed, 16 Jan 2019) | 7 lines [NFC] Factor out + document build requirements Summary: This change factors out compiler checking / warning, and documents LLVM_FORCE_USE_OLD_TOOLCHAIN. It doesn't introduce any functional changes nor policy changes, these will come late. Subscribers: mgorny, jkorous, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D56799 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r351765 | jfb | 2019-01-22 00:53:52 +0100 (Tue, 22 Jan 2019) | 24 lines Document toolchain update policy Summary: Capture the current agreed-upon toolchain update policy based on the following discussions: - LLVM dev meeting 2018 BoF "Migrating to C++14, and beyond!" llvm.org/devmtg/2018-10/talk-abstracts.html#bof3 - A Short Policy Proposal Regarding Host Compilers lists.llvm.org/pipermail/llvm-dev/2018-May/123238.html - Using C++14 code in LLVM (2018) lists.llvm.org/pipermail/llvm-dev/2018-May/123182.html - Using C++14 code in LLVM (2017) lists.llvm.org/pipermail/llvm-dev/2017-October/118673.html - Using C++14 code in LLVM (2016) lists.llvm.org/pipermail/llvm-dev/2016-October/105483.html - Document and Enforce new Host Compiler Policy llvm.org/D47073 - Require GCC 5.1 and LLVM 3.5 at a minimum llvm.org/D46723 Subscribers: jkorous, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D56819 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353374 | jfb | 2019-02-07 06:20:00 +0100 (Thu, 07 Feb 2019) | 12 lines Bump minimum toolchain version Summary: The RFC on moving past C++11 got good traction: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html This patch therefore bumps the toolchain versions according to our policy: llvm.org/docs/DeveloperPolicy.html#toolchain Subscribers: mgorny, jkorous, dexonsmith, llvm-commits, mehdi_amini, jyknight, rsmith, chandlerc, smeenai, hans, reames, lattner, lhames, erichkeane Differential Revision: https://reviews.llvm.org/D57264 ------------------------------------------------------------------------ llvm-svn: 353512
Configuration menu - View commit details
-
Copy full SHA for ce52769 - Browse repository at this point
Copy the full SHA ce52769View commit details -
------------------------------------------------------------------------ r353463 | smeenai | 2019-02-07 21:58:04 +0100 (Thu, 07 Feb 2019) | 4 lines [cmake] Pass LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN to NATIVE configure We should propagate this down to host builds so that e.g. people using an optimized tablegen can do the sub-configure successfully. ------------------------------------------------------------------------ llvm-svn: 353517
Configuration menu - View commit details
-
Copy full SHA for 22558d3 - Browse repository at this point
Copy the full SHA 22558d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15f159c - Browse repository at this point
Copy the full SHA 15f159cView commit details
Commits on Feb 11, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 62ead03 - Browse repository at this point
Copy the full SHA 62ead03View commit details
Commits on Feb 12, 2019
-
------------------------------------------------------------------------ r353495 | jfb | 2019-02-08 02:29:17 +0100 (Fri, 08 Feb 2019) | 32 lines Variable auto-init: fix __block initialization Summary: Automatic initialization [1] of __block variables was trampling over the block's headers after they'd been initialized, which caused self-init usage to crash, such as here: typedef struct XYZ { void (^block)(); } *xyz_t; __attribute__((noinline)) xyz_t create(void (^block)()) { xyz_t myself = malloc(sizeof(struct XYZ)); myself->block = block; return myself; } int main() { __block xyz_t captured = create(^(){ (void)captured; }); } This type of code shouldn't be broken by variable auto-init, even if it's sketchy. [1] With -ftrivial-auto-var-init=pattern <rdar://problem/47798396> Reviewers: rjmccall, pcc, kcc Subscribers: jkorous, dexonsmith, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57797 ------------------------------------------------------------------------ llvm-svn: 353807
Configuration menu - View commit details
-
Copy full SHA for e055d7f - Browse repository at this point
Copy the full SHA e055d7fView commit details -
ReleaseNotes about the toolchain version cmake check
Based on text from JF! llvm-svn: 353808
Configuration menu - View commit details
-
Copy full SHA for 0cbe0b9 - Browse repository at this point
Copy the full SHA 0cbe0b9View commit details -
Also removed the text about Clang 9. ------------------------------------------------------------------------ r353551 | metzman | 2019-02-08 20:35:04 +0100 (Fri, 08 Feb 2019) | 13 lines Document libFuzzer on Windows. Summary: Document that libFuzzer supports Windows, how to get it, and its limitations. Reviewers: kcc, morehouse, rnk, metzman Reviewed By: kcc, rnk, metzman Subscribers: hans, rnk Differential Revision: https://reviews.llvm.org/D57597 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353809 | hans | 2019-02-12 10:08:52 +0100 (Tue, 12 Feb 2019) | 1 line LibFuzzer.rst: double backticks ------------------------------------------------------------------------ llvm-svn: 353811
Configuration menu - View commit details
-
Copy full SHA for 75ff7d0 - Browse repository at this point
Copy the full SHA 75ff7d0View commit details -
Merging r352607 r352608 r353015 r353061 r353138 r353141 r353334 r353489
And re-generate expectations for a test: $ utils/update_llc_test_checks.py --llc-binary ../build.release/bin/llc test/CodeGen/X86/x87-schedule.ll Will also merge cfe r353142 for a clang-side test. This merge was requested in PR40667. ------------------------------------------------------------------------ r352607 | ctopper | 2019-01-30 08:08:44 +0100 (Wed, 30 Jan 2019) | 1 line [X86] Add FPSW as a Def on some FP instructions that were missing it. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r352608 | ctopper | 2019-01-30 08:33:24 +0100 (Wed, 30 Jan 2019) | 5 lines [X86] Remove a couple places where we unnecessarily pass 0 to the EmitPriority of some FP instruction aliases. NFC As far as I can tell we already won't emit these aliases due to an operand count check in the tablegen code. Removing these because I couldn't make sense of the inconsistency between fadd and fmul from reading the code. I checked the AsmMatcher and AsmWriter files before and after this change and there were no differences. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353015 | ctopper | 2019-02-04 05:15:10 +0100 (Mon, 04 Feb 2019) | 3 lines [X86] Print %st(0) as %st when its implicit to the instruction. Continue printing it as %st(0) when its encoded in the instruction. This is a step back from the change I made in r352985. This appears to be more consistent with gcc and objdump behavior. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353061 | ctopper | 2019-02-04 18:28:18 +0100 (Mon, 04 Feb 2019) | 5 lines [X86] Print all register forms of x87 fadd/fsub/fdiv/fmul as having two arguments where on is %st. All of these instructions consume one encoded register and the other register is %st. They either write the result to %st or the encoded register. Previously we printed both arguments when the encoded register was written. And we printed one argument when the result was written to %st. For the stack popping forms the encoded register is always the destination and we didn't print both operands. This was inconsistent with gcc and objdump and just makes the output assembly code harder to read. This patch changes things to always print both operands making us consistent with gcc and objdump. The parser should still be able to handle the single register forms just as it did before. This also matches the GNU assembler behavior. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353138 | ctopper | 2019-02-05 05:48:23 +0100 (Tue, 05 Feb 2019) | 1 line [X86] Add test case from PR40529. NFC ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353141 | ctopper | 2019-02-05 07:13:06 +0100 (Tue, 05 Feb 2019) | 16 lines [X86] Connect the default fpsr and dirflag clobbers in inline assembly to the registers we have defined for them. Summary: We don't currently map these constraints to physical register numbers so they don't make it to the MachineIR representation of inline assembly. This could have problems for proper dependency tracking in the machine schedulers though I don't have a test case that shows that. Reviewers: rnk Reviewed By: rnk Subscribers: eraman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57641 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353334 | ctopper | 2019-02-06 20:50:59 +0100 (Wed, 06 Feb 2019) | 1 line [X86] Change the CPU on the test case for pr40529.ll to really show the bug. NFC ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353489 | ctopper | 2019-02-08 01:44:39 +0100 (Fri, 08 Feb 2019) | 14 lines [X86] Add FPCW as a register and start using it as an implicit use on floating point instructions. Summary: FPCW contains the rounding mode control which we manipulate to implement fp to integer conversion by changing the roudning mode, storing the value to the stack, and then changing the rounding mode back. Because we didn't model FPCW and its dependency chain, other instructions could be scheduled into the middle of the sequence. This patch introduces the register and adds it as an implciit def of FLDCW and implicit use of the FP binary arithmetic instructions and store instructions. There are more instructions that need to be updated, but this is a good start. I believe this fixes at least the reduced test case from PR40529. Reviewers: RKSimon, spatel, rnk, efriedma, andrew.w.kaylor Subscribers: dim, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57735 ------------------------------------------------------------------------ llvm-svn: 353818
Configuration menu - View commit details
-
Copy full SHA for 018cd5f - Browse repository at this point
Copy the full SHA 018cd5fView commit details -
------------------------------------------------------------------------ r353142 | ctopper | 2019-02-05 07:13:14 +0100 (Tue, 05 Feb 2019) | 13 lines [X86] Change MS inline asm clobber list filter to check for 'fpsr' instead of 'fpsw' after D57641. Summary: The backend used to print the x87 FPSW register as 'fpsw', but gcc inline asm uses 'fpsr'. After D57641, the backend now uses 'fpsr' to match. Reviewers: rnk Reviewed By: rnk Subscribers: eraman, cfe-commits, llvm-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57642 ------------------------------------------------------------------------ llvm-svn: 353819
Configuration menu - View commit details
-
Copy full SHA for e552366 - Browse repository at this point
Copy the full SHA e552366View commit details -
------------------------------------------------------------------------ r353308 | tnorthover | 2019-02-06 16:26:35 +0100 (Wed, 06 Feb 2019) | 5 lines AArch64: enforce even/odd register pairs for CASP instructions. ARMv8.1a CASP instructions need the first of the pair to be an even register (otherwise the encoding is unallocated). We enforced this during assembly, but not CodeGen before. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r353383 | tnorthover | 2019-02-07 11:35:34 +0100 (Thu, 07 Feb 2019) | 4 lines AArch64: implement copy for paired GPR registers. When doing 128-bit atomics using CASP we might need to copy a GPRPair to a different register, but that was unimplemented up to now. ------------------------------------------------------------------------ llvm-svn: 353822
Configuration menu - View commit details
-
Copy full SHA for 2ccd8c1 - Browse repository at this point
Copy the full SHA 2ccd8c1View commit details -
------------------------------------------------------------------------ r353411 | erichkeane | 2019-02-07 16:14:11 +0100 (Thu, 07 Feb 2019) | 7 lines Fix r350643 to limit COFF emission to <= 32 BYTES instead of BITS. The patch in r350643 incorrectly sets the COFF emission based on bits instead of bytes. This patch converts the 32 via CharUnits to bits to compare the correct values. Change-Id: Icf38a16470ad5ae3531374969c033557ddb0d323 ------------------------------------------------------------------------ llvm-svn: 353825
Configuration menu - View commit details
-
Copy full SHA for df368fd - Browse repository at this point
Copy the full SHA df368fdView commit details -
------------------------------------------------------------------------ r353431 | stulova | 2019-02-07 18:32:37 +0100 (Thu, 07 Feb 2019) | 9 lines [OpenCL][PR40603] In C++ preserve compatibility with OpenCL C v2.0 Valid OpenCL C code should still compile in C++ mode. This change enables extensions and OpenCL types. Differential Revision: https://reviews.llvm.org/D57824 ------------------------------------------------------------------------ llvm-svn: 353826
Configuration menu - View commit details
-
Copy full SHA for e57cf6c - Browse repository at this point
Copy the full SHA e57cf6cView commit details -
------------------------------------------------------------------------ r353480 | petarj | 2019-02-07 23:57:33 +0100 (Thu, 07 Feb 2019) | 15 lines [mips][micromips] Fix how values in .gcc_except_table are calculated When a landing pad is calculated in a program that is compiled for micromips with -fPIC flag, it will point to an even address. Such an error will cause a segmentation fault, as the instructions in micromips are aligned on odd addresses. This patch sets the last bit of the offset where a landing pad is, to 1, which will effectively be an odd address and point to the instruction exactly. r344591 fixed this issue for -static compilation. Patch by Aleksandar Beserminji. Differential Revision: https://reviews.llvm.org/D57677 ------------------------------------------------------------------------ llvm-svn: 353827
Configuration menu - View commit details
-
Copy full SHA for dfde9d6 - Browse repository at this point
Copy the full SHA dfde9d6View commit details -
------------------------------------------------------------------------ r353493 | efriedma | 2019-02-08 02:17:49 +0100 (Fri, 08 Feb 2019) | 9 lines [COFF, ARM64] Fix types for _ReadStatusReg, _WriteStatusReg r344765 added those intrinsics, but used the wrong types. Patch by Mike Hommey Differential Revision: https://reviews.llvm.org/D57636 ------------------------------------------------------------------------ llvm-svn: 353828
Configuration menu - View commit details
-
Copy full SHA for eb0faeb - Browse repository at this point
Copy the full SHA eb0faebView commit details -
------------------------------------------------------------------------ r353402 | mstorsjo | 2019-02-07 13:46:49 +0100 (Thu, 07 Feb 2019) | 7 lines [clang-cl] support /Oy- on aarch64 MSVC supports /Oy- on aarch64, so clang-cl should too. Patch by Nathan Froyd! Differential Revision: https://reviews.llvm.org/D57838 ------------------------------------------------------------------------ llvm-svn: 353829
Configuration menu - View commit details
-
Copy full SHA for a576b44 - Browse repository at this point
Copy the full SHA a576b44View commit details -
------------------------------------------------------------------------ r351322 | pfaffe | 2019-01-16 12:14:07 +0100 (Wed, 16 Jan 2019) | 9 lines [MSan] Apply the ctor creation scheme of TSan Summary: To avoid adding an extern function to the global ctors list, apply the changes of D56538 also to MSan. Reviewers: chandlerc, vitalybuka, fedor.sergeev, leonardchan Subscribers: hiraditya, bollu, llvm-commits Differential Revision: https://reviews.llvm.org/D56734 ------------------------------------------------------------------------ llvm-svn: 353830
Configuration menu - View commit details
-
Copy full SHA for ae61627 - Browse repository at this point
Copy the full SHA ae61627View commit details -
------------------------------------------------------------------------ r353656 | brad | 2019-02-11 03:53:16 +0100 (Mon, 11 Feb 2019) | 4 lines long double is double on OpenBSD/NetBSD/PPC. Patch by George Koehler. ------------------------------------------------------------------------ llvm-svn: 353831
Configuration menu - View commit details
-
Copy full SHA for 33e2530 - Browse repository at this point
Copy the full SHA 33e2530View commit details -
[WebAssembly] Backport custom import name changes for lld to 8.0.
Specifically, this backports r352645, r352828, and r353473 to the 8.0 branch. The trunk patches don't apply cleanly to 8.0 due to some contemporaneous mass-rename and mass-clang-tidy patches, so this merges them to simplify rebasing. r352645 [WebAssembly] Fix crash with LTO + relocatable + undefined symbols r352828 [WebAssembly] Support imports from custom module names r353473 [WebAssembly] Fix imported function symbol names that differ from their import names in the .o format By Dan Gohman! llvm-svn: 353833
Configuration menu - View commit details
-
Copy full SHA for ef182d5 - Browse repository at this point
Copy the full SHA ef182d5View commit details -
[WebAssembly] Backport custom import name changes for clang to 8.0.
Specifically, this backports r352106, r352108, r352930, and r352936 to the 8.0 branch. The trunk patches don't apply cleanly to 8.0 due to some contemporaneous mass-rename and mass-clang-tidy patches, so this merges them to simplify rebasing. r352106 [WebAssembly] Add an import_module function attribute r352108 [WebAssembly] Add WebAssemblyImportModule to pragma-attribute-supported-attributes-list.test r352930 [WebAssembly] Add an import_field function attribute r352936 [WebAssembly] Fix ImportName's position in this test. By Dan Gohman! llvm-svn: 353834
Configuration menu - View commit details
-
Copy full SHA for 16b7c08 - Browse repository at this point
Copy the full SHA 16b7c08View commit details -
[WebAssembly] Backport custom import name changes for LLVM to 8.0.
Specifically, this backports r352479, r352931, r353474, and r353476 to the 8.0 branch. The trunk patches don't apply cleanly to 8.0 due to some contemporaneous mass-rename and mass-clang-tidy patches, so this merges them to simplify rebasing. r352479 [WebAssembly] Re-enable main-function signature rewriting r352931 [WebAssembly] Add codegen support for the import_field attribute r353474 [WebAssembly] Fix imported function symbol names that differ from their import names in the .o format r353476 [WebAssembly] Update test output after rL353474. NFC. By Dan Gohman! llvm-svn: 353835
Configuration menu - View commit details
-
Copy full SHA for 33a2b52 - Browse repository at this point
Copy the full SHA 33a2b52View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ebc272 - Browse repository at this point
Copy the full SHA 2ebc272View commit details