Skip to content
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

[pull] master from llvm:master #17

Merged
merged 9 commits into from
Aug 28, 2019
Merged

[pull] master from llvm:master #17

merged 9 commits into from
Aug 28, 2019

Commits on Aug 28, 2019

  1. [ARM][ParallelDSP] Change search for muls

    rL369567 reverted a couple of recent changes made to ARMParallelDSP
    because of a miscompilation error: PR43073.
    
    The issue stemmed from an underlying bug that was caused by adding
    muls into a reduction before it was proved that they could be executed
    in parallel with another mul.
    
    Most of the changes here are from the previously reverted commits.
    The additional changes have been made area:
    1) The Search function now doesn't insert any muls into the Reduction
       object. That now happens once the search has successfully finished.
    2) For any muls added into the reduction but that weren't paired, we
       accumulate their values as an input into the smlad.
    
    Differential Revision: https://reviews.llvm.org/D66660
    
    llvm-svn: 370171
    sparker-arm committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    a761ba0 View commit details
    Browse the repository at this point in the history
  2. [ELF][RISCV] Assign st_shndx of __global_pointer$ to 1 if .sdata does…

    … not exist
    
    This essentially reverts the code change of D63132 and switches to a simpler approach.
    
    In an executable/shared object, st_shndx of a symbol can be:
    
    1) SHN_UNDEF: undefined symbol (or canonical PLT)
    2) SHN_ABS: absolute symbol
    3) any other value (usually a regular section index) represents a relative symbol.
      The actual value does not matter.
    
    Many ld.so (musl, all archs except MIPS of FreeBSD rtld-elf) even treat 2) and 3)
    the same. If .sdata does not exist, it does not matter what value/section
    __global_pointer$ has, as long as it is relative (otherwise there will be a pedantic
    lld error. See D63132). Just set the st_shndx arbitrarily to 1.
    
    Dummy st_shndx=1 may be used by __rela_iplt_start, linker-script-defined symbols outside a section, __dso_handle, etc.
    
    Reviewed By: ruiu
    
    Differential Revision: https://reviews.llvm.org/D66798
    
    llvm-svn: 370172
    MaskRay committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    8fbe81f View commit details
    Browse the repository at this point in the history
  3. [LV] Fold tail by masking - handle reductions

    Allow vectorizing loops that have reductions when tail is folded by masking.
    A select is introduced in VPlan, choosing between the last value carried by the
    loop-exit/live-out instruction of the reduction, and the penultimate value
    carried by the reduction phi, according to the "i < n" mask of fold-tail.
    This select replaces the last value as the live-out value of the loop.
    
    Differential Revision: https://reviews.llvm.org/D66720
    
    llvm-svn: 370173
    azaks committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    d15df0e View commit details
    Browse the repository at this point in the history
  4. [lldb][NFC] Update documentation of Handle[Argument]Completion

    We no longer have return values or any of the mentioned arguments
    in these functions since the introduction of CompletionRequest.
    
    llvm-svn: 370174
    Teemperor committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    9774a2b View commit details
    Browse the repository at this point in the history
  5. Delete minimize_source_to_dependency_directives_invalid_error.c

    It was added in r370129 with a .gitattributes file that means the file
    always shows up as having a local diff in Git checkouts (at least on
    Linux). Deleting it until we can figure out the right way to do this.
    
    llvm-svn: 370175
    zmodem committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    248abe2 View commit details
    Browse the repository at this point in the history
  6. [LLVM-C] Fix ByVal Attribute crashing

    With the introduction of the typed byval attribute change there was no
    way that the LLVM-C API could create the correct class Attribute. If a
    program that uses the C API creates a ByVal attribute and annotates a
    function with that attribute LLVM will crash when it assembles or write
    that module containing the function out as bitcode.
    
    This change is a minimal fix to at least allow code to work, this is
    because the byval change is on the 9.0 and I don't want to introduce new
    LLVM-C API this late in the release cycle.
    
    By Jakob Bornecrantz!
    
    Differential revision: https://reviews.llvm.org/D66144
    
    llvm-svn: 370176
    zmodem committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    0af8206 View commit details
    Browse the repository at this point in the history
  7. [clangd] Surface errors from command-line parsing

    Summary:
    Those errors are exposed at the first character of a file,
    for a lack of a better place.
    
    Previously, all errors were stored inside the AST and report
    accordingly. However, errors in command-line argument parsing could
    result in failure to produce the AST, so we need an alternative ways to
    report those errors.
    
    We take the following approach in this patch:
      - buildCompilerInvocation() now requires an explicit DiagnosticConsumer.
      - TUScheduler and TestTU now collect the diagnostics produced when
        parsing command line arguments.
        If pasing of the AST failed, diagnostics are reported via a new
        ParsingCallbacks::onFailedAST method.
        If parsing of the AST succeeded, any errors produced during
        command-line parsing are stored alongside the AST inside the
        ParsedAST instance and reported as previously by calling the
        ParsingCallbacks::onMainAST method;
      - The client code that uses ClangdServer's DiagnosticConsumer
        does not need to change, it will receive new diagnostics in the
        onDiagnosticsReady() callback
    
    Errors produced when parsing command-line arguments are collected using
    the same StoreDiags class that is used to collect all other errors. They
    are recognized by their location being invalid. IIUC, the location is
    invalid as there is no source manager at this point, it is created at a
    later stage.
    
    Although technically we might also get diagnostics that mention the
    command-line arguments FileID with after the source manager was created
    (and they have valid source locations), we choose to not handle those
    and they are dropped as not coming from the main file. AFAICT, those
    diagnostics should always be notes, therefore it's safe to drop them
    without loosing too much information.
    
    Reviewers: kadircet
    
    Reviewed By: kadircet
    
    Subscribers: nridge, javed.absar, MaskRay, jkorous, arphaman, cfe-commits, gribozavr
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D66759
    
    llvm-svn: 370177
    ilya-biryukov committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    d73ac96 View commit details
    Browse the repository at this point in the history
  8. [lldb][NFC] Get rid of C-strings in HandleOptionCompletion

    llvm-svn: 370179
    Teemperor committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    ac5a475 View commit details
    Browse the repository at this point in the history
  9. [ELF][AMDGPU][SPARC] Allow PT_LOAD to have overlapping p_offset range…

    …s on EM_AMDGPU and EM_SPARCV9
    
    llvm-svn: 370180
    MaskRay committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    54a6f68 View commit details
    Browse the repository at this point in the history