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

__unique_stable_name implementation. #16

Closed
wants to merge 2,856 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on May 24, 2019

  1. [DeLICM] Use polly::singleton to allow empty result.

    isl_map_from_union_map cannot determine the map's space if the union_map
    is empty. polly::singleton was designed for this case. We pass the
    expected map space to avoid crashing in isl_map_from_union_map.
    
    This fixes an issue found by the aosp buildbot. Thanks to Eli Friedman
    for the reproducer.
    
    llvm-svn: 361290
    Meinersbur authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    67e9c7e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    264a200 View commit details
    Browse the repository at this point in the history
  3. Fix for sphinx bot warning

    llvm-svn: 361292
    PiJoules authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    c864c59 View commit details
    Browse the repository at this point in the history
  4. Fix register coalescer failure to prune value

    Register coalescer fails for the test in the patch with the assertion in
    JoinVals::ConflictResolution `DefMI != nullptr'. It attempts to join
    live intervals for two adjacent instructions and erase the copy:
    
        %2:vreg_256 = COPY %1
        %3:vreg_256 = COPY killed %1
    
    The LI needs to be adjusted to kill subrange for the erased instruction
    and extend the subrange of the original def. That was done for the main
    interval only but not for the subrange. As a result subrange had a VNI
    pointing to the erased slot resulting in the above failure.
    
    Differential Revision: https://reviews.llvm.org/D62162
    
    llvm-svn: 361293
    rampitec authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d907dd3 View commit details
    Browse the repository at this point in the history
  5. [OpenMP][libomptarget] Enable requires flags for target libraries.

    Summary:
    Target link variables are currently implemented by creating a copy of the variables on the device side and unified memory never gets exploited.
    
    When the prgram uses the:
    
    ```
    #pragma omp requires unified_shared_memory
    ```
    
    directive in conjunction with a declare target link, the linked variable is no longer allocated on the device and the host version is used instead.
    
    This behavior is overridden by performing an explicit mapping.
    
    A Clang side patch is required.
    
    Reviewers: ABataev, AlexEichenberger, grokos, Hahnfeld
    
    Reviewed By: AlexEichenberger, grokos, Hahnfeld
    
    Subscribers: Hahnfeld, jfb, guansong, jdoerfert, openmp-commits
    
    Tags: #openmp
    
    Differential Revision: https://reviews.llvm.org/D60223
    
    llvm-svn: 361294
    doru1004 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    97641d3 View commit details
    Browse the repository at this point in the history
  6. Fix LLDB warnings when compiling with Clang 8.0

    Differential Revision: https://reviews.llvm.org/D62021
    
    llvm-svn: 361295
    aganea authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    79d3226 View commit details
    Browse the repository at this point in the history
  7. [DebugInfo] Don't emit checksums when compiling a preprocessed CPP

    Fixes PR41215
    
    Differential Revision: https://reviews.llvm.org/D60283
    
    llvm-svn: 361296
    aganea authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    81d6a60 View commit details
    Browse the repository at this point in the history
  8. Fix test to put its outputs into the temp directory.

    llvm-svn: 361297
    zygoloid authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f21bdd9 View commit details
    Browse the repository at this point in the history
  9. [OpenMP] Add support for registering requires directives with the run…

    …time
    
    Summary:
    This patch adds support for the registration of the requires directives with the runtime.
    
    Each requires directive clause will enable a particular flag to be set.
    
    The set of flags is passed to the runtime to be checked for compatibility with other such flags coming from other object files.
    
    The registration function is called whenever OpenMP is present even if a requires directive is not present. This helps detect cases in which requires directives are used inconsistently.
    
    Reviewers: ABataev, AlexEichenberger, caomhin
    
    Reviewed By: ABataev, AlexEichenberger
    
    Subscribers: jholewinski, guansong, jfb, jdoerfert, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D60568
    
    llvm-svn: 361298
    doru1004 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f32b10b View commit details
    Browse the repository at this point in the history
  10. [PowerPC][NFC] Add a tests for Reordering CSR reloads in epilogue to …

    …follow the same order as CSR saves in the prologue
    
    llvm-svn: 361299
    Yi-Hong Lyu authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    2e38d71 View commit details
    Browse the repository at this point in the history
  11. [c++20] P0780R2: Support pack-expansion of init-captures.

    This permits an init-capture to introduce a new pack:
    
      template<typename ...T> auto x = [...a = T()] { /* a is a pack */ };
    
    To support this, the mechanism for allowing ParmVarDecls to be packs has
    been extended to support arbitrary local VarDecls.
    
    llvm-svn: 361300
    zygoloid authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0e7d48c View commit details
    Browse the repository at this point in the history
  12. Fix test failures after r361278 on non-Darwin platforms and when

    CLANG_DEFAULT_STDLIB is defined to libstdc++.
    
    llvm-svn: 361301
    zygoloid authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    48bd2b0 View commit details
    Browse the repository at this point in the history
  13. Remove unicode character from test

    llvm-svn: 361302
    PiJoules authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    eb9a7f1 View commit details
    Browse the repository at this point in the history
  14. [NFC][X86][AArch64] Add tests for sinking of add/sub by constant thro…

    …ugh add/sub
    
    Looks we can transform all 8 variants of the pattern:
    https://rise4fun.com/Alive/auH
    
    This comes up as an issue on the path towards
    https://bugs.llvm.org/show_bug.cgi?id=41952
    
    llvm-svn: 361303
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    81613fb View commit details
    Browse the repository at this point in the history
  15. [asan] Replace assignments with internal_memcpy ErrorDescription

    For consistency with nearby code and to avoid interceptors during reports.
    
    llvm-svn: 361304
    vitalybuka authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    399eedb View commit details
    Browse the repository at this point in the history
  16. [asan] clang-format parent patch

    llvm-svn: 361305
    vitalybuka authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    28c8026 View commit details
    Browse the repository at this point in the history
  17. Move csr-save-restore-order.ll to the right place

    llvm-svn: 361306
    Yi-Hong Lyu authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    611b9c3 View commit details
    Browse the repository at this point in the history
  18. build: enable CMake policy 0077

    Enable CMake policy 77. This alters the behavior of option. The old behavior
    would remove the value of the option from the cache and create a new one. The
    new behavior does not create the variable if it is defined already. This ensures
    that subsequent reconfigures will behave identically. This seems better than the
    setting of OLD - the desire is to ensure that it is set to OLD or NEW.
    
    llvm-svn: 361307
    compnerd authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    cd91f27 View commit details
    Browse the repository at this point in the history
  19. [NFC][InstCombine] Add unary FNeg tests to X86/x86-avx512.ll

    llvm-svn: 361308
    mcinally authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e237df2 View commit details
    Browse the repository at this point in the history
  20. [OpenMP] Add implementation to two OMPT API routines

    This change adds implementation to ompt_finalize_tool() and
    ompt_get_task_memory().
    
    Patch by Hansang Bae
    
    Differential Revision: https://reviews.llvm.org/D61657
    
    llvm-svn: 361309
    jpeyton52 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    09ae4da View commit details
    Browse the repository at this point in the history
  21. [Test] Fix conflicting test names.

    Two tests having the same name creates a race condition when moving the
    trace files.
    
    llvm-svn: 361310
    JDevlieghere authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    7afe7d3 View commit details
    Browse the repository at this point in the history
  22. [NFC][InstCombine] Add unary fneg tests to operand-complexity.ll.

    llvm-svn: 361311
    mcinally authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    c120981 View commit details
    Browse the repository at this point in the history
  23. Let -static-pie win if it is specified along with -pie or -static.

    Also, disallow specifying -no-pie/-nopie along with -static-pie.
    
    Differential Revision: https://reviews.llvm.org/D59841
    
    llvm-svn: 361312
    Siva Chandra authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e228c14 View commit details
    Browse the repository at this point in the history
  24. [libFuzzer] Reduce flakiness of merge-sigusr.test.

    Double the number of files to merge, and use wait instead of sleep.
    
    llvm-svn: 361313
    morehouse authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0727a72 View commit details
    Browse the repository at this point in the history
  25. [Driver] Verify GCCInstallation is valid

    Summary:
    Values returned by GCCInstallation.getParentLibPath() and
    GCCInstallation.getTriple() are not valid unless
    GCCInstallation.isValid() returns true. This has previously been
    ignored, and the former two values were used without checking whether
    GCCInstallation is valid. This led to the bad path "/../bin" being added
    to the list of program paths.
    
    author: danielmentz "Daniel Mentz <danielmentz@google.com>"
    
    Reviewers: #clang, tstellar, srhines
    
    Reviewed By: srhines
    
    Subscribers: danielmentz, ormris, nickdesaulniers, srhines, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D57930
    
    llvm-svn: 361314
    nickdesaulniers authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d1cc4b0 View commit details
    Browse the repository at this point in the history
  26. [X86] Add large integer comparison tests for PR41971; NFC

    In these cases we would prefer a direct comparison over going through
    a vector type.
    
    llvm-svn: 361315
    nikic authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    1e4b398 View commit details
    Browse the repository at this point in the history
  27. [CommandInterpreter] Fix SkipAppInitFiles setter

    The SkipAppInitFiles setter was ignoring its import argument.
    
    llvm-svn: 361316
    JDevlieghere authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    92efe99 View commit details
    Browse the repository at this point in the history
  28. [InstCombine] add more tests for shuffle folding; NFC

    As discussed in D62024, we want to limit any potential IR
    transforms of shuffles to cases where we know the SDAG
    conversion would result in equivalent patterns for these
    IR variants.
    
    llvm-svn: 361317
    rotateright authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e5fb775 View commit details
    Browse the repository at this point in the history
  29. [NFC][Thumb2] Autogenerate thumb2-ldr_pre.ll test

    llvm-svn: 361318
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    820af59 View commit details
    Browse the repository at this point in the history
  30. [NFC][X86] Autogenerate ragreedy-hoist-spill.ll test

    llvm-svn: 361319
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d782bd5 View commit details
    Browse the repository at this point in the history
  31. [NFC][AMDGPU] Autogenerate llvm.amdgcn.s.barrier.ll test

    llvm-svn: 361320
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    19c1818 View commit details
    Browse the repository at this point in the history
  32. [FileSystem] Fix regression in FileSystem::Resolve

    When I moved the resolve code from FileSpec to the FileSystem class, I
    introduced a regression. If you compare the two implementations, you'll
    notice that if the path doesn't exist, we should only reverse the
    effects of makeAbsolute, not the effects of tilde expansion.
    
    As a result, the logic to create the ~/.lldb directory broke, because we
    would resolve the path before creating it. Because the directory didn't
    exist yet, we'd call create_directories on the unresolved path, which
    failed.
    
    Differential revision: https://reviews.llvm.org/D62219
    
    llvm-svn: 361321
    JDevlieghere authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    324fb4a View commit details
    Browse the repository at this point in the history
  33. [ORC] Guarantee unique JITDylib names in lli, add usage notes to crea…

    …teJITDylib.
    
    JITDylibs should have unique names. This patch adds code to lli to respect this
    invariant (by refering to the exist JITDylib if a -jd <name> option is specified
    more than once). It also adds usage notes to the doxygen comment for
    createJITDylib method in ExecutionSession and LLJIT.
    
    http://llvm.org/PR41937
    
    llvm-svn: 361322
    lhames authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    31cb83e View commit details
    Browse the repository at this point in the history
  34. Rename identifiers to spell out analyze; NFC.

    llvm-svn: 361325
    AaronBallman authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    dbd4f2e View commit details
    Browse the repository at this point in the history
  35. [libFuzzer] Ignore exit status of wait in merge-sigusr.test.

    If process $PID has already exited, wait will give a non-zero exit
    status.
    
    llvm-svn: 361326
    morehouse authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    75f17fe View commit details
    Browse the repository at this point in the history
  36. [WebAssembly] Add the signature for the new llround builtin function

    r360889 added new llround builtin functions. This patch adds their
    signatures for the WebAssembly backend.
    
    It also adds wasm32 support to utils/update_llc_test_checks.py, since
    that's the script other targets are using for their testcases for this
    feature.
    
    Differential Revision: https://reviews.llvm.org/D62207
    
    llvm-svn: 361327
    Dan Gohman authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f03cdfa View commit details
    Browse the repository at this point in the history
  37. Refactor: split Uninitialized state on APValue into an "Absent" state

    representing no such object, and an "Indeterminate" state representing
    an uninitialized object. The latter is not yet used, but soon will be.
    
    llvm-svn: 361328
    zygoloid authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    71c863f View commit details
    Browse the repository at this point in the history
  38. [c++20] P1330R0: permit simple-assignments that change the active member

    of a union within constant expression evaluation.
    
    llvm-svn: 361329
    zygoloid authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    83b02d3 View commit details
    Browse the repository at this point in the history
  39. AMDGPU: Fix not marking new gfx10 SGPRs as CSRs

    llvm-svn: 361330
    arsenm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    a58b022 View commit details
    Browse the repository at this point in the history
  40. AMDGPU: Assume call pseudos are convergent

    There should probably be nonconvergent versions, but my guess is it
    doesn't matter in practice.
    
    llvm-svn: 361331
    arsenm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    b74d066 View commit details
    Browse the repository at this point in the history
  41. AMDGPU: Add some tests for inlineasm behavior

    llvm-svn: 361332
    arsenm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f93dd10 View commit details
    Browse the repository at this point in the history
  42. AMDGPU: Assume calls read exec

    llvm-svn: 361333
    arsenm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    fb405e7 View commit details
    Browse the repository at this point in the history
  43. Fix target property to make BUILD_SHARED_LIBS work

    Public and Private link libraries get merged in the LINK_LIBRARIES property instead of being kept separate.
    
    With any luck this will get `BUILD_SHARED_LIBS` working again on Linux.
    
    llvm-svn: 361334
    llvm-beanz authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    8996170 View commit details
    Browse the repository at this point in the history
  44. [PragmaHandler] Expose #pragma location

    Currently, a pragma AST node's recorded location starts at the
    namespace token (such as `omp` in the case of OpenMP) after the
    `#pragma` token, and the `#pragma` location isn't available.  However,
    the `#pragma` location can be useful when, for example, rewriting a
    directive using Clang's Rewrite facility.
    
    This patch makes `#pragma` locations available in any `PragmaHandler`
    but it doesn't yet make use of them.
    
    This patch also uses the new `struct PragmaIntroducer` to simplify
    `Preprocessor::HandlePragmaDirective`.  It doesn't do the same for
    `PPCallbacks::PragmaDirective` because that changes the API documented
    in `clang-tools-extra/docs/pp-trace.rst`, and I'm not sure about
    backward compatibility guarantees there.
    
    Reviewed By: ABataev, lebedev.ri, aaron.ballman
    
    Differential Revision: https://reviews.llvm.org/D61643
    
    llvm-svn: 361335
    jdenny-ornl authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    eeeed31 View commit details
    Browse the repository at this point in the history
  45. [libFuzzer] Kill by session ID in merge-sigusr.test.

    Ensures that parent and all child processes are killed at once.
    
    llvm-svn: 361336
    morehouse authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    beba938 View commit details
    Browse the repository at this point in the history
  46. [Symbol] Remove dead code

    llvm-svn: 361337
    bulbazord authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    5f870f5 View commit details
    Browse the repository at this point in the history
  47. [InstCombine] fold shuffles of insert_subvectors

    This should be a valid exception to the general rule of not creating new shuffle masks in IR...
    because we already do it. :)
    Also, DAG combining/legalization will undo this by widening the shuffle back out if needed.
    
    Explanation for how we already do this: SLP or vector source can create chains of insert/extract
    as shown in 1 of the examples from PR16739:
    https://godbolt.org/z/NlK7rA
    https://bugs.llvm.org/show_bug.cgi?id=16739
    
    And we expect instcombine or DAGCombine to clean that up by creating relatively simple shuffles.
    
    Differential Revision: https://reviews.llvm.org/D62024
    
    llvm-svn: 361338
    rotateright authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    34a0b08 View commit details
    Browse the repository at this point in the history
  48. [libFuzzer] Sleep after process exits in merge-sigusr.test.

    Ensure that log file has been fully updated before trying to read it.
    
    llvm-svn: 361339
    morehouse authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    be70a0c View commit details
    Browse the repository at this point in the history
  49. [Analysis] Link library dependencies to Analysis plugins

    These are needed to avoid undefined symbols which aren't satisfied
    by Clang itself.
    
    Differential Revision: https://reviews.llvm.org/D62174
    
    llvm-svn: 361340
    petrhosek authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    ee5efac View commit details
    Browse the repository at this point in the history
  50. [Docs] fix formatting for bullet list; NFC

    llvm-svn: 361341
    rotateright authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0d0fe70 View commit details
    Browse the repository at this point in the history
  51. [X86] [CET] Deal with return-twice function such as vfork, setjmp when

    CET-IBT enabled
    
    Return-twice functions will indirectly jump after the caller's position.
    So when CET-IBT is enable, we should make sure these is endbr*
    instructions follow these Return-twice function caller. Like GCC does.
    
    Patch by Xiang Zhang (xiangzhangllvm)
    
    Differential Revision: https://reviews.llvm.org/D61881
    
    llvm-svn: 361342
    phoebewang authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    effbbba View commit details
    Browse the repository at this point in the history
  52. [Docs] Increase Doxygen cache size

    Summary:
    When building Doxygen docs for llvm and clang, it helpfully prints a warning at
    the end noting that the `LOOKUP_CACHE_SIZE` value was too small to keep all
    symbols in memory.
    
    By increasing to the size it recommends, Doxygen builds have greatly improved
    performance. On my machine, time to run `doxygen-llvm` changes from 34 minutes
    to 22 minutes, which is a decent amount of time saved by changing a single
    number.
    
    Reviewed By: hintonda
    
    Patch by J. Ryan Stinnett!
    
    Tags: #clang, #llvm
    
    Differential Revision: https://reviews.llvm.org/D62138
    
    llvm-svn: 361343
    donhinton authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    ef1afe0 View commit details
    Browse the repository at this point in the history
  53. [clang-tidy] remove default header-filter for run-clang-tidy

    Summary:
    run-clang-tidy.py was enforcing '-header-filter' parameter with an
    unfortunate default value when none was given. Thus, leading to
    overwritten clang-tidy configuration (e.g. from .clang-tidy).
    
    This change removes the default value for '-header-filter' resulting in
    the default behaviour of clang-tidy itself.
    
    Fixes PR#41426
    
    Reviewed By: hintonda
    
    Patch by Torbjörn Klatt!
    
    Tags: #clang-tools-extra, #clang
    
    Differential Revision: https://reviews.llvm.org/D61747
    
    llvm-svn: 361344
    donhinton authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    986f46a View commit details
    Browse the repository at this point in the history
  54. [docs] Fix troff macro (.F1 -> .Fl) in ld.lld.1

    llvm-svn: 361345
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    890865c View commit details
    Browse the repository at this point in the history
  55. [PowerPC] [ISEL] select x-form instruction for unaligned offset

    Differential Revision: https://reviews.llvm.org/D62173
    
    llvm-svn: 361346
    chenzheng1030 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    83206f3 View commit details
    Browse the repository at this point in the history
  56. [PowerPC] use meaningful name for displacement form aligned with x-fo…

    …rm - NFC
    
    llvm-svn: 361347
    chenzheng1030 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    b879a0b View commit details
    Browse the repository at this point in the history
  57. Speculative fix for std stream destruction order on Windows.

    The MSVC CRT uses TLS storage to implement per-thread locales.
    This storage gets freed during program termination, and if we attempt
    to do any io operations (like flushing the std streams) after this occurs
    the program may abort.
    
    This patch is a speculative fix for that issue.
    
    The fix tries forcing the initialization of the locale TLS before
    initializing the std streams. This should mean that the TLS is freed
    after we destroy the streams.
    
    llvm-svn: 361348
    EricWF authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    304d5ba View commit details
    Browse the repository at this point in the history
  58. [NFC] Remove a blank line (test commit)

    llvm-svn: 361349
    nuta authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    b676c26 View commit details
    Browse the repository at this point in the history
  59. Simplify the logic to instantiate Symbols. Should be NFC.

    llvm-svn: 361350
    rui314 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    49f80ff View commit details
    Browse the repository at this point in the history
  60. Properly categorize llvm-objdump options

    Filters out noise, and distinguish Mach-O related options from others.
    
    Differential Revision: https://reviews.llvm.org/D62195
    
    llvm-svn: 361351
    Serge Guelton authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    1ec133e View commit details
    Browse the repository at this point in the history
  61. [X86] Don't compare i128 through vector if construction not cheap (PR…

    …41971)
    
    Fix for https://bugs.llvm.org/show_bug.cgi?id=41971. Make the
    combineVectorSizedSetCCEquality() transform more conservative by
    checking that the bitcast to the vector type will be cheap/free
    for both operands. I'm considering it cheap if it's a constant,
    a load or already a vector. I've dropped the explicit check for
    f128 because it should fall out naturally (in the cases where
    it'd be detrimental).
    
    Differential Revision: https://reviews.llvm.org/D62220
    
    llvm-svn: 361352
    nikic authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0d0162e View commit details
    Browse the repository at this point in the history
  62. Fixed a -Wunused-variable warning when assertions are disabled

    llvm-svn: 361353
    gribozavr authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    5b817c4 View commit details
    Browse the repository at this point in the history
  63. [AArch64] Subtarget crypto extension defaults

    The Armv8.2-A crypto extensions all defaulted to true, but should default to
    false, like all the other extensions.
    
    Differential Revision: https://reviews.llvm.org/D62180
    
    llvm-svn: 361354
    Sjoerd Meijer authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    5a3bbed View commit details
    Browse the repository at this point in the history
  64. [PPC64] Parse -elfv1 -elfv2 when specified on target triple

    Summary:
    For big-endian powerpc64, the default ABI is ELFv1. OpenPower ABI ELFv2 is supported when -mabi=elfv2 is specified. FreeBSD support for PowerPC64 ELFv2 ABI with LLVM is in progress[1]. This patch adds an alternative way to specify ELFv2 ABI on target triple [2].
    
    The following results are expected:
    
    ELFv1 when using:
    -target powerpc64-unknown-freebsd12.0
    -target powerpc64-unknown-freebsd12.0 -mabi=elfv1
    -target powerpc64-unknown-freebsd12.0-elfv1
    
    ELFv2 when using:
    -target powerpc64-unknown-freebsd12.0 -mabi=elfv2
    -target powerpc64-unknown-freebsd12.0-elfv2
    
    [1] https://wiki.freebsd.org/powerpc/llvm-elfv2
    [2] https://clang.llvm.org/docs/CrossCompilation.html
    
    Patch by Alfredo Dal'Ava Júnior!
    
    Differential Revision: https://reviews.llvm.org/D61950
    
    llvm-svn: 361355
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    b45c020 View commit details
    Browse the repository at this point in the history
  65. [MIR] Add simple PRE pass to MachineCSE

    This is the second part of the commit fixing PR38917 (hoisting
    partitially redundant machine instruction). Most of PRE (partitial
    redundancy elimination) and CSE work is done on LLVM IR, but some of
    redundancy arises during DAG legalization. Machine CSE is not enough
    to deal with it. This simple PRE implementation works a little bit
    intricately: it passes before CSE, looking for partitial redundancy
    and transforming it to fully redundancy, anticipating that the next
    CSE step will eliminate this created redundancy. If CSE doesn't
    eliminate this, than created instruction will remain dead and eliminated
    later by Remove Dead Machine Instructions pass.
    
    The third part of the commit is supposed to refactor MachineCSE,
    to make it more clear and to merge MachinePRE with MachineCSE,
    so one need no rely on further Remove Dead pass to clear instrs
    not eliminated by CSE.
    
    First step: https://reviews.llvm.org/D54839
    
    Fixes llvm.org/PR38917
    
    llvm-svn: 361356
    anton-afanasyev authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    6ac150d View commit details
    Browse the repository at this point in the history
  66. [Sanitizer] Add interceptor for wcsdup

    Summary: The wide-string equivalent of strdup. Implementation trivial.
    
    Reviewers: vitalybuka, eugenis
    
    Subscribers: kubamracek, delcypher, llvm-commits, #sanitizers
    
    Tags: #llvm, #sanitizers
    
    Differential Revision: https://reviews.llvm.org/D62189
    
    llvm-svn: 361357
    labath authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    ffb0bf0 View commit details
    Browse the repository at this point in the history
  67. Delete unnecessary copy ctors

    llvm-svn: 361358
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    395b99c View commit details
    Browse the repository at this point in the history
  68. [ELF] Improve error message for relocations to symbols defined in dis…

    …carded sections
    
    Rather than report "undefined symbol: ", give more informative message
    about the object file that defines the discarded section.
    
    In particular, PR41133, if the section is a discarded COMDAT, print the
    section group signature and the object file with the prevailing
    definition. This is useful to track down some ODR issues.
    
    We need to
    * add `uint32_t DiscardedSecIdx` to Undefined for this feature.
    * make ComdatGroups public and change its type to DenseMap<CachedHashStringRef, const InputFile *>
    
    Reviewed By: ruiu
    
    Differential Revision: https://reviews.llvm.org/D59649
    
    llvm-svn: 361359
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    027ddd1 View commit details
    Browse the repository at this point in the history
  69. DWARF: Introduce DWARFTypeUnit class

    Summary:
    This patch introduces the DWARFTypeUnit class, and teaches lldb to parse
    type units out of both the debug_types section (DWARF v4), and from the
    regular debug_info section (DWARF v5).
    
    The most important piece of functionality - resolving DW_AT_signatures
    to connect type forward declarations to their definitions - is not
    implemented here, but even without that, a lot of functionality becomes
    available. I've added tests for the commands that start to work after
    this patch.
    
    The changes in this patch were greatly inspired by D61505, which in turn took
    over changes from D32167.
    
    Reviewers: JDevlieghere, clayborg, aprantl
    
    Subscribers: mgorny, jankratochvil, lldb-commits
    
    Differential Revision: https://reviews.llvm.org/D62008
    
    llvm-svn: 361360
    labath authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0f8186a View commit details
    Browse the repository at this point in the history
  70. DWARFDebugInfoEntry: remove unused variable

    llvm-svn: 361361
    labath authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    df8734b View commit details
    Browse the repository at this point in the history
  71. Add AST logging

    Summary:
    Log the AST of the TU associated with LLDB's `expr` command, once a declaration
    is completed
    
    Reviewers: shafik
    
    Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, lldb-commits
    
    Tags: #lldb
    
    Differential Revision: https://reviews.llvm.org/D62061
    
    llvm-svn: 361362
    Gabor Marton authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e3b9bb7 View commit details
    Browse the repository at this point in the history
  72. [PPC64] Fix PPC64TargetInfo after D61950

    llvm-svn: 361363
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    77993c6 View commit details
    Browse the repository at this point in the history
  73. Copy symbol length when we replace a symbol.

    Symbol's NameSize is computed lazily. Currently, when we replace a symbol,
    a cached length value can be discarded. This patch propagates that value.
    
    Differential Revision: https://reviews.llvm.org/D62234
    
    llvm-svn: 361364
    rui314 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    58af636 View commit details
    Browse the repository at this point in the history
  74. [PPC64] Fix PPC64TargetInfo ABI on clang side after D61950

    llvm-svn: 361365
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9bb1242 View commit details
    Browse the repository at this point in the history
  75. Re-land r361257 "[MergeICmps][NFC] Make BCEAtom move-only.""

    llvm-svn: 361366
    legrosbuffle authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    7a08105 View commit details
    Browse the repository at this point in the history
  76. [llvm-dlltool] Respect NONAME keyword

    This adds proper handling of the NONAME-keyword, which makes llvm-dlltool
    generate an import using the ordinal instead of the name.
    
    Patch by by Jannik Vogel, test added by Stefan Schmidt.
    
    Differential Revision: https://reviews.llvm.org/D62175
    
    llvm-svn: 361367
    mstorsjo authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    b3d0510 View commit details
    Browse the repository at this point in the history
  77. [Driver][Windows] Add dependent lib argument for -fprofile-generate a…

    …nd -fcs-profile-generate
    
    Follows on from r360674 which added it for -fprofile-instr-generate.
    
    Differential Revision: https://reviews.llvm.org/D62200
    
    llvm-svn: 361368
    rgal authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    35a0e64 View commit details
    Browse the repository at this point in the history
  78. [TargetMachine] error message unsupported code model

    When the tiny code model is requested for a target machine that does not
    support this, we get an error message (which is nice) but also this diagnostic
    and request to submit a bug report:
    
        fatal error: error in backend: Target does not support the tiny CodeModel
        [Inferior 2 (process 31509) exited with code 0106]
        clang-9: error: clang frontend command failed with exit code 70 (use -v to see invocation)
        (gdb) clang version 9.0.0 (http://llvm.org/git/clang.git 29994b0c63a40f9c97c664170244a7bba5ecc15e) (http://llvm.org/git/llvm.git 95606fdf91c2d63a931e865f4b78b2e9828ddc74)
        Target: arm-arm-none-eabi
        Thread model: posix
        clang-9: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
        clang-9: note: diagnostic msg:
        ********************
        PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
        Preprocessed source(s) and associated run script(s) are located at:
        clang-9: note: diagnostic msg: /tmp/tiny-dfe1a2.c
        clang-9: note: diagnostic msg: /tmp/tiny-dfe1a2.sh
        clang-9: note: diagnostic msg:
    
    But this is not a bug, this is a feature. :-) Not only is this not a bug, this
    is also pretty confusing. This patch causes just to print the fatal error and
    not the diagnostic:
    
    fatal error: error in backend: Target does not support the tiny CodeModel
    
    Differential Revision: https://reviews.llvm.org/D62236
    
    llvm-svn: 361370
    Sjoerd Meijer authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    a6144e4 View commit details
    Browse the repository at this point in the history
  79. [VirtualFileSystem] Fix uninitialized variable warning. NFCI.

    llvm-svn: 361371
    RKSimon authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    caaa189 View commit details
    Browse the repository at this point in the history
  80. [ARM][AArch64] Fix incorrect handling of alignment in va_arg code gen…

    …eration
    
    Overaligned and underaligned types (i.e. types where the alignment has been
    increased or decreased using the aligned and packed attributes) weren't being
    correctly handled in all cases, as the unadjusted alignment should be used.
    
    This patch also adjusts getTypeUnadjustedAlign to correctly handle typedefs of
    non-aggregate types, which it appears it never had to handle before.
    
    Differential Revision: https://reviews.llvm.org/D62152
    
    llvm-svn: 361372
    john-brawn-arm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    885db16 View commit details
    Browse the repository at this point in the history
  81. DWARF: Add debug_ranges/rnglists tests

    .debug_ranges parsing is not well tested [citation needed] because this
    section tends to be only used in optimized code, and we don't build
    optimized executables in our tests, as they produce unpredictable
    results.
    
    This patch aims to add some very simple tests for parsing static range
    data, which can serve as a first line of defense in case things break.
    
    I also include one XFAILed test, which demonstrates that we don't
    correctly handle mixed DWARF v5 and v4 ranges in a single file.
    
    llvm-svn: 361373
    labath authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9c06401 View commit details
    Browse the repository at this point in the history
  82. Mark tests from r361278 as unsupported on Windows.

    llvm-svn: 361374
    rgal authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9534d92 View commit details
    Browse the repository at this point in the history
  83. [Hexagon] assert getRegisterBitWidth returns non-zero value. NFCI.

    Fixes scan-build warning.
    
    llvm-svn: 361375
    RKSimon authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    7b4adc0 View commit details
    Browse the repository at this point in the history
  84. [Frontend] Return an error on bad inputs to PrecompiledPreabmle

    Summary:
    Instead of failing with assertions. Fixes a crash found by oss-fuzz:
    https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12865
    
    Reviewers: sammccall
    
    Reviewed By: sammccall
    
    Subscribers: cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D62137
    
    llvm-svn: 361376
    ilya-biryukov authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    aa3d779 View commit details
    Browse the repository at this point in the history
  85. Revert r361148 "[Syntax] Introduce TokenBuffer, start clangToolingSyn…

    …tax library"
    
    Also reverted r361264 "[Syntax] Rename TokensTest to SyntaxTests. NFC"
    which built on it. This is because there were hitting an assert on bots
    
    http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast
    http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast
    
    llvm-svn: 361377
    rgal authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    36b38bf View commit details
    Browse the repository at this point in the history
  86. Configuration menu
    Copy the full SHA
    3c08b7a View commit details
    Browse the repository at this point in the history
  87. [CGOpenMPRuntime] emitX86DeclareSimdFunction - assert simdlen/cdtsize…

    … is not zero. NFCI.
    
    Fixes scan-build division by zero warning.
    
    llvm-svn: 361379
    RKSimon authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    712283b View commit details
    Browse the repository at this point in the history
  88. [NFC][SystemZ] Autogenerate alloca-03.ll test to make test changes mo…

    …re visible
    
    The check lines are being affected by an upcoming patch,
    regenerate the checklines to visualize the changes better.
    
    llvm-svn: 361380
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d5eb797 View commit details
    Browse the repository at this point in the history
  89. UpdateTestChecks: sparc march handling

    Summary:
    Another target that prefers to use `-march` in tests
    ```
    llvm/test/CodeGen/SPARC$ grep -ri mtriple | wc -l
    25
    llvm/test/CodeGen/SPARC$ grep -ri march | wc -l
    165
    ```
    
    This test is being affected by a further patch,
    so regenerate it to better visualize the changes
    
    Reviewers: RKSimon, dcederman, gberry
    
    Reviewed By: RKSimon
    
    Subscribers: jyknight, fedor.sergeev, jrtc27, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62242
    
    llvm-svn: 361381
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0b8f36f View commit details
    Browse the repository at this point in the history
  90. [OpenCL] Support pipe keyword in C++ mode

    Support the OpenCL C pipe feature in C++ for OpenCL mode, to preserve
    backwards compatibility with OpenCL C.
    
    Various changes had to be made in Parse and Sema to enable
    pipe-specific diagnostics, so enable a SemaOpenCL test for C++.
    
    Differential Revision: https://reviews.llvm.org/D62181
    
    llvm-svn: 361382
    svenvh authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    7e04dca View commit details
    Browse the repository at this point in the history
  91. Added a dot at the end of comment

    Summary: to test SVN commit access with a simple change.
    
    Reviewers: jankratochvil
    
    Subscribers: mgorny, lldb-commits
    
    Tags: #lldb
    
    Differential Revision: https://reviews.llvm.org/D62243
    
    llvm-svn: 361383
    kwk authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    03548dd View commit details
    Browse the repository at this point in the history
  92. [llvm-objcopy] Tidy up error messages

    This patch brings various error messages into line with each other, by
    removing trailing full stops, and making the first letter lower-case.
    This addresses https://bugs.llvm.org/show_bug.cgi?id=40859.
    
    Reviewed by: jhenderson, rupprecht, jakehehrlich
    
    Differential Revision: https://reviews.llvm.org/D62072
    
    Patch by Alex Brachet
    
    llvm-svn: 361384
    jh7370 authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d0de44b View commit details
    Browse the repository at this point in the history
  93. [llvm-exegesis] Move native target initialization code to a separate …

    …file.
    
    Summary: This helps building internal tools on top of the library.
    
    Reviewers: gchatelet
    
    Subscribers: tschuett, llvm-commits, bdb, ondrasej
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62239
    
    llvm-svn: 361385
    legrosbuffle authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    ea7c3c2 View commit details
    Browse the repository at this point in the history
  94. [AMDGPU][MC] Corrected parsing of op_sel* and neg_* modifiers

    See bug 41361: https://bugs.llvm.org/show_bug.cgi?id=41361
    
    Reviewers: artem.tamazov, arsenm
    
    Differential Revision: https://reviews.llvm.org/D61012
    
    llvm-svn: 361386
    dpreobra authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    005517a View commit details
    Browse the repository at this point in the history
  95. LoopVectorizationCostModel::selectInterleaveCount - assert we have a …

    …non-zero loop cost. NFCI.
    
    The input LoopCost value can be zero, but if so it should be recalculated with the current VF. After that it should always be non-zero.
    
    llvm-svn: 361387
    RKSimon authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    327eab7 View commit details
    Browse the repository at this point in the history
  96. [clangd] improve help message for limit-results

    Summary: Make it clear that the default is 100.
    
    Patch by Brennan Vincent(@umanwizard)!
    
    Reviewers: #clang-tools-extra, kadircet
    
    Reviewed By: kadircet
    
    Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D61865
    
    llvm-svn: 361388
    kadircet authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    6d13d6c View commit details
    Browse the repository at this point in the history
  97. gn build: Merge r361377

    llvm-svn: 361389
    nico authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    996035a View commit details
    Browse the repository at this point in the history
  98. [NFC][X86][AArch64] Rewrite sink-addsub-of-const.ll tests to have ful…

    …l permutation coverage
    
    Somehow missed some patterns initially..
    While there, add comments.
    
    llvm-svn: 361390
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    7b4c527 View commit details
    Browse the repository at this point in the history
  99. Reland r361148 with a fix to the buildbot failure.

    Reverted in r361377.
    Also reland the '.gn' files (reverted in r361389).
    
    llvm-svn: 361391
    ilya-biryukov authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    61d4d2f View commit details
    Browse the repository at this point in the history
  100. [LibTooling] Update Transformer to use RangeSelector instead of NodeP…

    …art enum.
    
    Transformer provides an enum to indicate the range of source text to be edited.
    That support is now redundant with the new (and more general) RangeSelector
    library, so we remove the custom enum support in favor of supporting any
    RangeSelector.
    
    Reviewers: ilya-biryukov
    
    Subscribers: cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D62149
    
    llvm-svn: 361392
    ymand authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    99bc13e View commit details
    Browse the repository at this point in the history
  101. [mips] Replace multiple -check-prefix by single -check-prefixes. NFC

    llvm-svn: 361393
    atanasyan authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    fc734fc View commit details
    Browse the repository at this point in the history
  102. [mips] Use GNU-style output to make tests smaller. NFC

    llvm-svn: 361394
    atanasyan authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    6f01fc5 View commit details
    Browse the repository at this point in the history
  103. [llvm-objdump] Dump inline relocations if the relocated section is sp…

    …ecified with --section
    
    This fixes PR41886: llvm-objdump -d -r -j .text doesn't show inline relocations of .text
    
    While here, switch to stable_sort() because we don't want to change the order of relocations applied to the same location. gABI says consecutive relocation records are composed together and their order matters. In practise it is difficult to see relocations applied to the same location not consecutive, we just have to keep the relative order of relocations with the same offset.
    
    Reviewed By: grimar
    
    Differential Revision: https://reviews.llvm.org/D62253
    
    llvm-svn: 361395
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f4cdd66 View commit details
    Browse the repository at this point in the history
  104. [NFC][X86] Autogenerate negative-offset.ll test

    Being affected by upcoming patch
    
    llvm-svn: 361396
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e600d29 View commit details
    Browse the repository at this point in the history
  105. [NFC][ARM] Autogenerate addsubcarry-promotion.ll test

    Being affected by upcoming patch
    
    llvm-svn: 361397
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    1ab18ae View commit details
    Browse the repository at this point in the history
  106. [NFC][ARM] addsubcarry-promotion.ll: whoops - replace '.' with '-' in…

    … check-prefix
    
    Does not affect update_llc_test_checks, or the actual output,
    but is not accepted by the actual FileCheck.
    
    Sorry, i should have noticed this before committing,
    not the very next second after..
    
    llvm-svn: 361398
    LebedevRI authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d533d7b View commit details
    Browse the repository at this point in the history
  107. Unbreak non-PIC builds after r361340/D62174

    llvm-svn: 361399
    davezarzycki authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    6c72ddb View commit details
    Browse the repository at this point in the history
  108. Combine two if cases because the second one is never reached.

    Subscribers: cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D62214
    
    llvm-svn: 361400
    amykhuang authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    bf4eae5 View commit details
    Browse the repository at this point in the history
  109. [IR] allow fast-math-flags on select of FP values

    This is a minimal start to correcting a problem most directly discussed in PR38086:
    https://bugs.llvm.org/show_bug.cgi?id=38086
    
    We have been hacking around a limitation for FP select patterns by using the
    fast-math-flags on the condition of the select rather than the select itself.
    This patch just allows FMF to appear with the 'select' opcode. No changes are
    needed to "FPMathOperator" because it already includes select-of-FP because
    that definition is based on the (return) value type.
    
    Once we have this ability, we can start correcting and adding IR transforms
    to use the FMF on a 'select' instruction. The instcombine and vectorizer test
    diffs only show that the IRBuilder change is behaving as expected by applying
    an FMF guard value to 'select'.
    
    For reference:
    rL241901 - allowed FMF with fcmp
    rL255555 - allowed FMF with FP calls
    
    Differential Revision: https://reviews.llvm.org/D61917
    
    llvm-svn: 361401
    rotateright authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e09145d View commit details
    Browse the repository at this point in the history
  110. llvm-undname: Fix an assert-on-invalid, found by oss-fuzz

    If a template parameter refers to a pointer to member, but the mangling
    of that was a string literal instead of a real symbol, llvm-undname used
    to crash instead of rejecting the input.
    
    llvm-svn: 361402
    nico authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d7e9022 View commit details
    Browse the repository at this point in the history
  111. [TargetLowering] Add blank line (test commit)

    llvm-svn: 361403
    kees authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    4fc3bc0 View commit details
    Browse the repository at this point in the history
  112. [TargetLowering] Extend bool args to inline-asm according to getBoole…

    …anType
    
    Summary:
    This extends Krzysztof Parzyszek's X86-specific solution
    (https://reviews.llvm.org/D60208) to the generic code pointed out by
    James Y Knight.
    
    Reviewers: kparzysz, craig.topper, nickdesaulniers
    
    Subscribers: efriedma, sdardis, nemanjai, javed.absar, eraman, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, llvm-commits, srhines, void, nickdesaulniers, jyknight
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D60224
    
    llvm-svn: 361404
    kees authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    99c5eb2 View commit details
    Browse the repository at this point in the history
  113. MC: Allow getMaxInstLength to depend on the subtarget

    Keep it optional in cases this is ever needed in some global
    context. Currently it's only used for getting an upper bound inline
    asm code size.
    
    For AMDGPU, gfx10 increases the maximum instruction size to
    20-bytes. This avoids penalizing older subtargets when estimating code
    size, and making some annoying branch relaxation test adjustments.
    
    llvm-svn: 361405
    arsenm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    1acee7b View commit details
    Browse the repository at this point in the history
  114. AMDGPU: Move disassembler support check to constructor

    Don't check for unsupported targets for every instruction.
    
    llvm-svn: 361406
    arsenm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f393583 View commit details
    Browse the repository at this point in the history
  115. [libFuzzer] Ignore synthetic exceptions on Fuchsia

    Fuchsia has several exceptions which are merely informational and should
    not be treated as crashes. This patch puts logic that read from the
    exception port and handled the exception in a loop, and ignores
    non-exceptions and informational exceptions.
    
    Patch By: aarongreen
    
    Differential Revision: https://reviews.llvm.org/D62226
    
    llvm-svn: 361407
    petrhosek authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    a88dd3e View commit details
    Browse the repository at this point in the history
  116. Fixed third issue reported in https://bugs.llvm.org/show_bug.cgi?id=4…

    …1584.
    
    Removed wrong debug assertion.
    
    Differential Revision: https://reviews.llvm.org/D62251
    
    llvm-svn: 361408
    AndreyChurbanov authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    54264cc View commit details
    Browse the repository at this point in the history
  117. Configuration menu
    Copy the full SHA
    e11a570 View commit details
    Browse the repository at this point in the history
  118. Disable EHFrameSupport in JITLink/RuntimeDyld on AIX

    Summary:
    EH Frames aren't supported on AIX with the system compiler, but the definition of HAVE_EHTABLE_SUPPORT misses this which causes linking problems on AIX. This patch updates the definition of HAVE_EHTABLE_SUPPORT in both JITLink and RuntimeDyld.
    
    Author: daltenty
    
    Reviewers: sfertile, xingxue, hubert.reinterpretcase
    
    Reviewed By: xingxue
    
    Subscribers: hiraditya, jsji, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62203
    
    llvm-svn: 361410
    xingxue-ibm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    df7af04 View commit details
    Browse the repository at this point in the history
  119. Fixed a -Wunused-variable warning when assertions are disabled

    llvm-svn: 361411
    gribozavr authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    25fa2e6 View commit details
    Browse the repository at this point in the history
  120. [EditLine] Rewrite GetHistoryFilePath

    Rewrite the GetHistoryFilePath implementation without relying on
    FileSpec in the spirit of our discussion in D61994.
    
    It changes LLDBs behavior in two ways:
    
    1. We now only use the -widehistory suffix when LLDB is built with wchar
       support, instead of as the fallback from when the ~/.lldb directory
       isn't writable.
    
    2. When the ~/.lldb directory isn't writable, we don't write any history
       files at all. Previously we would write them to the user's home
       directory (with the incorrect wide suffix), polluting ~ with a
       different file for every IO handler.
    
    Differential revision: https://reviews.llvm.org/D62216
    
    llvm-svn: 361412
    JDevlieghere authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    5f27f3c View commit details
    Browse the repository at this point in the history
  121. [LibTooling] Update Stencil to use RangeSelector

    Add support for creating a `StencilPart` from any `RangeSelector`, which
    broadens the scope of `Stencil`.
    
    Correspondingly, deprecate Stencil's specialized combinators `node` and `sNode`
    in favor of using the new `selection` combinator directly (with the appropriate
    range selector).
    
    Reviewers: sbenza
    
    Subscribers: cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D62160
    
    llvm-svn: 361413
    ymand authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0454b95 View commit details
    Browse the repository at this point in the history
  122. [libcxx][test] Fix order checking in some more unordered_multimap tests

    Some tests assume that iteration through an unordered multimap elements
    will return them in the same order as at the container creation. This
    assumption is not true since the container is unordered, so that no
    specific order of elements is ever guaranteed for such container. This
    patch is a continuation of D54838 and introduces checks verifying that
    any iteration will return elements exactly from a set of valid values
    and without repetition, but in no particular order.
    
    Thanks to Andrey Maksimov for the patch.
    
    Differential Revision: https://reviews.llvm.org/D56498
    
    llvm-svn: 361414
    ldionne authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    a2a4daa View commit details
    Browse the repository at this point in the history
  123. [NFC][InstCombine] Add unary fneg tests to maxnum.ll/minnum.ll

    llvm-svn: 361415
    mcinally authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9da7303 View commit details
    Browse the repository at this point in the history
  124. [PGO][CHR] Speed up following long use-def chains.

    Summary: Avoid visiting an instruction more than once by using a map.
    
    Reviewers: davidxl
    
    Reviewed By: davidxl
    
    Subscribers: llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62262
    
    llvm-svn: 361416
    hjyamauchi authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    1827e09 View commit details
    Browse the repository at this point in the history
  125. [DebugInfo][AArch64] Recognise target specific instruction as mov instr

    This fix is for the problem from https://bugs.llvm.org/show_bug.cgi?id=38714.
    Specifically, Simple Register Coalescing creates following conversion :
    
     undef %0.sub_32:gpr64 = ORRWrs $wzr, %3:gpr32common, 0, debug-location !24;
    
    It copies 32-bit value from gpr32 into gpr64. But Live DEBUG_VALUE analysis
    is not able to create debug location record for that instruction. So the problem
    is in that debug info for argc variable is incorrect. The fix is
    to write custom isCopyInstrImpl() which would recognize the ORRWrs instr.
    
    llvm-svn: 361417
    avl-llvm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    2386333 View commit details
    Browse the repository at this point in the history
  126. [clang-tidy] Add support for writing a check as a Transformer rewrite…

    … rule.
    
    This revision introduces an adaptor from Transformer's rewrite rules
    (`clang::tooling::RewriteRule`) to `ClangTidyCheck`.  For example, given a
    RewriteRule `MyCheckAsRewriteRule`, it lets one define a tidy check as follows:
    
    ```
    class MyTidyCheck : public TransformerClangTidyCheck {
     public:
      MyTidyCheck(StringRef Name, ClangTidyContext *Context)
          : TransformerClangTidyCheck(MyCheckAsRewriteRule, Name, Context) {}
    };
    ```
    
    Reviewers: aaron.ballman
    
    Subscribers: mgorny, xazax.hun, cfe-commits, ilya-biryukov
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D61386
    
    llvm-svn: 361418
    ymand authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e1c225a View commit details
    Browse the repository at this point in the history
  127. gn build: Fix check-clangd target after r359825

    llvm-svn: 361419
    nico authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    964e550 View commit details
    Browse the repository at this point in the history
  128. Add DWARFTypeUnit to the Xcode project.

    llvm-svn: 361420
    jimingham authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    831d569 View commit details
    Browse the repository at this point in the history
  129. [OPENMP][NVPTX]Fix barriers and parallel level counters, NFC.

    Summary:
    Parallel level counter should be volatile to prevent some dangerous
    optimiations by the ptxas. Otherwise, ptxas optimizations lead to
    undefined behaviour in some cases.
    Also, use __threadfence() for #pragma omp flush and if the barrier
    should not be used (we have only one thread in the team), still perform
    flush operation since the standard requires implicit flush when
    executing barriers.
    
    Reviewers: gtbercea, kkwli0, grokos
    
    Subscribers: guansong, jfb, jdoerfert, openmp-commits, caomhin
    
    Tags: #openmp
    
    Differential Revision: https://reviews.llvm.org/D62199
    
    llvm-svn: 361421
    alexey-bataev authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    a9dbfdc View commit details
    Browse the repository at this point in the history
  130. [X86] Add more icelake model numbers to getHostCPUName.

    Using model numbers found in Table 2-1 of the May 2019 version
    of the Intel Software Developer's Manual Volume 4.
    
    llvm-svn: 361422
    topperc authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    dfbebd0 View commit details
    Browse the repository at this point in the history
  131. [X86] Add more icelake model numbers to compiler-rt implementation of…

    … __builtin_cpu_is.
    
    Using model numbers found in Table 2-1 of the May 2019 version
    of the Intel Software Developer's Manual Volume 4.
    
    llvm-svn: 361423
    topperc authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    a68ec21 View commit details
    Browse the repository at this point in the history
  132. Part of P1091R3: permit structured bindings to be declared 'static' and

    'thread_local' in C++20.
    
    llvm-svn: 361424
    zygoloid authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    7de97a8 View commit details
    Browse the repository at this point in the history
  133. [X86][InstCombine] Remove InstCombine code that turns X86 round intri…

    …nsics into llvm.ceil/floor. Remove some isel patterns that existed because that was happening.
    
    We were turning roundss/sd/ps/pd intrinsics with immediates of 1 or 2 into
    llvm.floor/ceil.  The llvm.ceil/floor intrinsics are supposed to correspond
    to the libm functions.  For the libm functions we need to disable the
    precision exception so the llvm.floor/ceil functions should always map to
    encodings 0x9 and 0xA.
    
    We had a mix of isel patterns where some used 0x9 and 0xA and others used
    0x1 and 0x2. We need to be consistent and always use 0x9 and 0xA.
    
    Since we have no way in isel of knowing where the llvm.ceil/floor came
    from, we can't map X86 specific intrinsics with encodings 1 or 2 to it.
    We could map 0x9 and 0xA to llvm.ceil/floor instead, but I'd really like
    to see a use case and optimization advantage first.
    
    I've left the backend test cases to show the blend we now emit without
    the extra isel patterns. But I've removed the InstCombine tests completely.
    
    llvm-svn: 361425
    topperc authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    b0c79d0 View commit details
    Browse the repository at this point in the history
  134. Re-land r361206 "[COFF] Store alignment in log2 form, NFC"

    The previous patch lost the call to PowerOf2Ceil, which causes LLD to
    crash when handling common symbols with a non-power-of-2 size. I tweaked
    the existing common.test to make the bsspad16 common symbol be 15 bytes
    to add coverage for this case.
    
    llvm-svn: 361426
    rnk authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f09d813 View commit details
    Browse the repository at this point in the history
  135. [asan] Fix debug asan build link error

    Reviewers: dmajor, vitalybuka, waltl
    
    Subscribers: kubamracek, #sanitizers, llvm-commits
    
    Tags: #sanitizers, #llvm
    
    Differential Revision: https://reviews.llvm.org/D61871
    
    llvm-svn: 361427
    rnk authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    695d85a View commit details
    Browse the repository at this point in the history
  136. Modules: Code generation of enum constants for merged enum definitions

    Found in a bootstrap of LLVM with implicit modules, resulting in a
    deadlock of some Orc unit tests with libstdc++ 8.1. An enum was used as
    part of the implementation of std::recursive_mutex and this bug resulted
    in the constant initialization of zero instead of the desired non-zero
    value. => Badness.
    
    Richard Smith tells me neither of these fields are necessarily canonical
    & so using declaresSamEntity is the right solution here (rather than
    changing both of these Fields to be canonical by construction/from their
    source)
    
    llvm-svn: 361428
    dwblaikie authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    ecf8b87 View commit details
    Browse the repository at this point in the history
  137. Add back --sysroot support for darwin header search.

    Before e97b5f5 ([clang][Darwin] Refactor header search path logic
    into the driver), both --sysroot and -isysroot worked to specify where
    to look for system and C++ headers on Darwin. However, that change
    caused clang to start ignoring --sysroot.
    
    This fixes the regression, and adds tests.
    
    (I also note that on all other platforms, clang seems to almost
    completely ignore -isysroot, but that's another issue...)
    
    Differential Revision: https://reviews.llvm.org/D62268
    
    llvm-svn: 361429
    jyknight authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    de1951d View commit details
    Browse the repository at this point in the history
  138. Configuration menu
    Copy the full SHA
    a653195 View commit details
    Browse the repository at this point in the history
  139. [X86] Explcitly disable VEXTRACT instruction matching for an immediat…

    …e of 0. Remove a bunch of isel patterns that become unnecessary.
    
    We effectively had a second set of isel patterns that tried to use a
    regular store instruction and an extract_subreg instruction. Or a masked move
    and an extract_subreg. These patterns were intended to override the
    matching of VEXTRACT instructions by taking advantage of the priority
    of the explicit immediate 0 for the index.
    
    This patch instaed just disables the immediate 0 matchin the VEXTRACT
    patterns. This each of the component pieces of the larger patterns will
    match by themselves.
    
    This found a bug of sorts were we didn't use 128-bit store for 512->128
    extract on KNL. Its unclear what the right thing here should be.
    Using the vextract avoids constraining the register allocator to use
    xmm0-15. But it always results in a longer encoding if the register
    allocator ends up choosing xmm0-15 anyway.
    
    llvm-svn: 361431
    topperc authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    34e727f View commit details
    Browse the repository at this point in the history
  140. [runtimes] Move libunwind, libc++abi and libc++ to lib/$target/c++ an…

    …d include/c++
    
    This change is a consequence of the discussion in "RFC: Place libs in
    Clang-dedicated directories", specifically the suggestion that
    libunwind, libc++abi and libc++ shouldn't be using Clang resource
    directory. Tools like clangd make this assumption, but this is
    currently not true for the LLVM_ENABLE_PER_TARGET_RUNTIME_DIR build.
    This change addresses that by moving the output of these libraries to
    lib/$target/c++ and include/c++ directories, leaving resource directory
    only for compiler-rt runtimes and Clang builtin headers.
    
    Differential Revision: https://reviews.llvm.org/D59168
    
    llvm-svn: 361432
    petrhosek authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    23b95ce View commit details
    Browse the repository at this point in the history
  141. Configuration menu
    Copy the full SHA
    52d0dbb View commit details
    Browse the repository at this point in the history
  142. TableGen: Handle nontrivial foreach range bounds

    This allows using anything that isn't a literal integer as the bounds
    for a foreach. Some of the diagnostics aren't perfect, but nobody ever
    accused tablegen of having good errors. For example, the existing
    wording suggests a bitrange is valid, but as far as I can tell this
    has never worked.
    
    Fixes bug 41958.
    
    llvm-svn: 361434
    arsenm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    49790fc View commit details
    Browse the repository at this point in the history
  143. Add a HowToUseLLJIT example project.

    A very minimal demo of how to use the LLJIT class, along the lines of the old
    HowToUseJIT example.
    
    llvm-svn: 361435
    lhames authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    6339314 View commit details
    Browse the repository at this point in the history
  144. [Runtimes] If LLVM_INCLUDE_TESTS=On depend on gtest

    Summary: If we are building the tests for the runtimes we should make them depend on gtest so that gtest is built and ready before we run any of the check-* targets.
    
    Reviewers: phosek, compnerd
    
    Reviewed By: compnerd
    
    Subscribers: mgorny, winksaville, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62269
    
    llvm-svn: 361436
    llvm-beanz authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    3ac4f40 View commit details
    Browse the repository at this point in the history
  145. [docs] Make a note of the HowToUseLLJIT example in the ORCv2 design doc.

    llvm-svn: 361437
    lhames authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    a318200 View commit details
    Browse the repository at this point in the history
  146. Fix new enum-codegen.cpp test

    llvm-svn: 361438
    rnk authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    57b53af View commit details
    Browse the repository at this point in the history
  147. Fix r361428 for Windows buildbots/mangling

    llvm-svn: 361439
    dwblaikie authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    67886c1 View commit details
    Browse the repository at this point in the history
  148. Actaully lock accesses to OptionValueFileSpecList objects

    The patch in r359029 missed a few accessors and mutators. This patch
    also changes the lock to a recursive one as OptionValueFileSpecList::Clear()
    can be invoked from some of the other methods.
    
    llvm-svn: 361440
    fredriss authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    24c2ec8 View commit details
    Browse the repository at this point in the history
  149. [ORC] Remove a stray decl that accidentally found its way in to r361322.

    llvm-svn: 361441
    lhames authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    e5cdc9a View commit details
    Browse the repository at this point in the history
  150. [Target] Protect Processes' language runtimes map with a mutex

    Summary:
    From what I understand, it's possible for multiple threads to request
    a specific language runtime (e.g. CPPLanguageRuntime). This leads to a data
    race.
    
    Reviewers: jingham, JDevlieghere, compnerd, clayborg
    
    Differential Revision: https://reviews.llvm.org/D62169
    
    llvm-svn: 361442
    bulbazord authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    0056847 View commit details
    Browse the repository at this point in the history
  151. Expression: correct relocation model for Windows

    The Windows Code Generation model cannot generation code with the PIC relocation
    model - all code is implicitly position independent due to the DLL load slide
    that occurs if it is not loaded at the preferred base address.  Invert the
    condition and inline the single use of the variable.  This should also aid the
    WASM target.  This significantly improves the state of the (swift) repl on
    Windows (and should aid in expression evaluation on Windows).
    
    llvm-svn: 361443
    compnerd authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9f87d9a View commit details
    Browse the repository at this point in the history
  152. [lldb] Fix use-of-uninitialized-value in Driver

    The driver passes by reference an uninitialized num_errors variable to
    RunCommandInterpreter. This should be fine, as it's supposed to be
    an output argument, but the reproducer instrumentation reads it in order
    to record the value of all the arguments to the function.
    
    This change fixes it by initializing num_errors to 0 before calling
    RunCommandInterpreter.
    
    llvm-svn: 361444
    slackito authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    4230f0b View commit details
    Browse the repository at this point in the history
  153. FileCheck: Improve FileCheck variable terminology

    Summary:
    Terminology introduced by [[#]] blocks is confusing and does not
    integrate well with existing terminology.
    
    First, variables referred by [[]] blocks are called "pattern variables"
    while the text a CHECK directive needs to match is called a "CHECK
    pattern". This is inconsistent with variables in [[#]] blocks since
    [[#]] blocks are also found in CHECK pattern yet those variables are
    called "numeric variable".
    
    Second, the replacing of both [[]] and [[#]] blocks by the value of the
    variable or expression they contain is represented by a
    FileCheckPatternSubstitution class. The naming refers to being a
    substitution in a CHECK pattern but could be wrongly understood as being
    a substitution of a pattern variable.
    
    Third and lastly, comments use "numeric expression" to refer both to the
    [[#]] blocks as well as to the numeric expressions these blocks contain
    which get evaluated at match time.
    
    This patch solves these confusions by
    - calling variables in [[]] and [[#]] blocks as string and numeric
      variables respectively;
    - referring to [[]] and [[#]] as substitution *blocks*, with the former
      being a string substitution block and the latter a numeric
      substitution block;
    - calling [[]] and [[#]] blocks to be replaced by the value of a
      variable or expression they contain a substitution (as opposed to
      definition when these blocks are used to defined a variable), with the
      former being a string substitution and the latter a numeric
      substitution;
    - renaming the FileCheckPatternSubstitution as a FileCheckSubstitution
      class with FileCheckStringSubstitution and
      FileCheckNumericSubstitution subclasses;
    - restricting the use of "numeric expression" to refer to the expression
      that is evaluated in a numeric substitution.
    
    While numeric substitution blocks only support numeric substitutions of
    numeric expressions at the moment there are plans to augment numeric
    substitution blocks to support numeric definitions as well as both a
    numeric definition and numeric substitution in the same numeric
    substitution block.
    
    Reviewers: jhenderson, jdenny, probinson, arichardson
    
    Subscribers: hiraditya, arichardson, probinson, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62146
    
    llvm-svn: 361445
    Thomas Preud'homme authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    c01e476 View commit details
    Browse the repository at this point in the history
  154. [FileCheck] Introduce substitution subclasses

    Summary:
    With now a clear distinction between string and numeric substitutions,
    this patch introduces separate classes to represent them with a parent
    class implementing the common interface. Diagnostics in
    printSubstitutions() are also adapted to not require knowing which
    substitution is being looked at since it does not hinder clarity and
    makes the implementation simpler.
    
    Reviewers: jhenderson, jdenny, probinson, arichardson
    
    Subscribers: llvm-commits, probinson, arichardson, hiraditya
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62241
    
    llvm-svn: 361446
    Thomas Preud'homme authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    94aa1e3 View commit details
    Browse the repository at this point in the history
  155. Ack, added DWARFTypeUnit to the wrong target...

    LLDB -> liblldbcore.a
    
    llvm-svn: 361447
    jimingham authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    fa2eca0 View commit details
    Browse the repository at this point in the history
  156. [libFuzzer] automatically collect the data flow trace (DFT) in the fo…

    …rk mode if -collect_data_flow= is given
    
    llvm-svn: 361448
    kcc authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    df93b83 View commit details
    Browse the repository at this point in the history
  157. gn build: Merge r361418.

    llvm-svn: 361449
    pcc authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    6004228 View commit details
    Browse the repository at this point in the history
  158. [llvm-objcopy] Add file names to error messages

    Summary:
    This patch adds the file names to llvm-objcopy error messages. It makes easy to identify which file causes an error.
    
    Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=41798
    
    Reviewers: espindola, alexshap, rupprecht, jhenderson, jakehehrlich
    
    Reviewed By: rupprecht, jhenderson, jakehehrlich
    
    Subscribers: emaste, arichardson, jakehehrlich, MaskRay, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D61993
    
    llvm-svn: 361450
    nuta authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    69c2739 View commit details
    Browse the repository at this point in the history
  159. [ARM64][AArch64] Update disassembler attributes to ARMv8.5 ISA with S…

    …VE extensions
    
    This patch updates assembler attributes for AArch64 targets so we can disassemble newer instructions supported in ISA version 8.5 and SVE extensions.
    
    Differential Revision: https://reviews.llvm.org/D62235
    
    llvm-svn: 361451
    omjavaid authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    7a124ba View commit details
    Browse the repository at this point in the history
  160. [libFuzzer] remove the data-flow-trace (DFT) python scripts; their fu…

    …nctionality is now part of libFuzzer proper; also write functions.txt to the disk only if this file doesn't exist yet
    
    llvm-svn: 361452
    kcc authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    42db9a1 View commit details
    Browse the repository at this point in the history
  161. [X86] Support -fno-plt __tls_get_addr calls

    In general dynamic/local dynamic TLS models, with -fno-plt,
    
    * x86: emit `calll *___tls_get_addr@GOT(%ebx)` instead of `calll ___tls_get_addr@PLT`
      Note, on x86, if we can get rid of %ebx as the PIC register,
      it may be better to use a register not preserved across function calls.
    * x86_64: emit `callq *__tls_get_addr@GOTPCREL(%rip)` instead of `callq __tls_get_addr@PLT`
    
    Reorganize the code by separating 32-bit and 64-bit.
    
    Reviewed By: rnk
    
    Differential Revision: https://reviews.llvm.org/D62106
    
    llvm-svn: 361453
    MaskRay authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    341175e View commit details
    Browse the repository at this point in the history
  162. [WebAssembly] Implement __builtin_return_address for emscripten

    Summary:
    In this patch, `ISD::RETURNADDR` is lowered on the emscripten target
    to the new Emscripten runtime function `emscripten_return_address`, which
    implements the functionality.
    
    Patch by Guanzhong Chen
    
    Reviewers: tlively, aheejin
    
    Reviewed By: tlively
    
    Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D62210
    
    llvm-svn: 361454
    tlively authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    515fd69 View commit details
    Browse the repository at this point in the history
  163. Remove unused const version of CommandInterpreter::GetCommandHistory.

    llvm-svn: 361455
    jimingham authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d0d9779 View commit details
    Browse the repository at this point in the history
  164. [CMake][Fuchsia] Use cannonical triples for runtimes

    This ensures that whether the user uses short or cannonical version
    of the triple, Clang will still find the runtimes under the cannonical
    triple name.
    
    Differential Revision: https://reviews.llvm.org/D52132
    
    llvm-svn: 361456
    petrhosek authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    d047a90 View commit details
    Browse the repository at this point in the history
  165. Remove unnecessary const&s; NFC

    It's uncommon to rely on temporary lifetime extension when having a
    regular, non-`const&` value behaves identically. Since `Twine::str`
    and `buildFixMsgForStringFlag` both return regular `std::string`s,
    there's seemingly no point in having `const&` here.
    
    llvm-svn: 361457
    gburgessiv authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    84682ba View commit details
    Browse the repository at this point in the history
  166. [Utility] Modernize C-style cats

    Replaces the remaining C-style casts with explicit casts in Utility. The
    motivation is that they are (1) easier to spot and (2) don't have
    multiple meanings.
    
    llvm-svn: 361458
    JDevlieghere authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    815eded View commit details
    Browse the repository at this point in the history
  167. [Reproducer] Pass FileSpec by const-ref. (NFC)

    Fix two functions where we were passing FileSpecs by value, while we
    could pass by const reference.
    
    llvm-svn: 361459
    JDevlieghere authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9d78e90 View commit details
    Browse the repository at this point in the history
  168. [GlobalOpt] recognize dead struct fields and propagate values

    Summary:
    Allow struct fields SRA and dead stores. This works by considering fields accesses from getElementPtr to be considered as a possible pointer root that can be cleaned up.
    We check that the variable can be SRA by recursively checking the sub expressions with the new isSafeSubSROAGEP function.
    
    basically this allows the array in following C code  to be optimized out 
    
    struct Expr {
      int a[2];
      int b;
    };
    
    static struct Expr e;
    
    int foo (int i)
    {
      e.b = 2;
      e.a[i] = 1;
      return e.b;
    }
    
    
    Reviewers: greened, bkramer, nicholas, jmolloy
    
    Reviewed By: jmolloy
    
    Subscribers: llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D61911
    
    llvm-svn: 361460
    Christian Bruel authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9ad1f8e View commit details
    Browse the repository at this point in the history
  169. [CodeComplete] Complete a lambda when preferred type is a function

    Summary: Uses a heuristic to detect std::function and friends.
    
    Reviewers: kadircet
    
    Reviewed By: kadircet
    
    Subscribers: cfe-commits
    
    Tags: #clang
    
    Differential Revision: https://reviews.llvm.org/D62238
    
    llvm-svn: 361461
    ilya-biryukov authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    511aeea View commit details
    Browse the repository at this point in the history
  170. [ARM][CGP] Clear SafeWrap before each search

    The previous patch added a member set to store instructions that we
    could allow to wrap. But this wasn't cleared between searches meaning
    that they could get promoted, incorrectly, during the promotion of a
    separate valid chain.
    
    Differential Revision: https://reviews.llvm.org/D62254
    
    llvm-svn: 361462
    sparker-arm authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    f15d712 View commit details
    Browse the repository at this point in the history
  171. Simplify GetName+AppendTypeName by DWARFDIE

    In D61502#1503247 @clayborg suggested that DWARFUnit *+dw_offset_t can be now
    replaced by DWARFDIE.
    
    It is moved from DWARFDebugInfoEntry to DWARFDIE as noted by @clayborg.
    
    I have also removed return type as (1) it was wrong in one case and (2) no
    existing caller used the return type. I also refactored the deep nesting noted
    by @JDevlieghere.
    
    Differential Revision: https://reviews.llvm.org/D62211
    
    llvm-svn: 361463
    jankratochvil authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    307ada6 View commit details
    Browse the repository at this point in the history
  172. [clangd-vscode] Bump versions dependencies. NFC

    Result of running 'npm audit fix', which tracks security vulnerabilities.
    
    llvm-svn: 361464
    ilya-biryukov authored and MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    9a81195 View commit details
    Browse the repository at this point in the history
  173. Fix for build and LIT failures after sync with LLVM eee5d42

    In details:
    1. Content in clang offload bundler changed type to Expected<StringRef>
    2. Unnecessary error check for unqualified-id was removed from
       SemaSYCL/address-space-parameter-conversions.cpp respecting the appropriate
       change from the community.
    
    Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
    MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    537f92a View commit details
    Browse the repository at this point in the history
  174. Sync to SPIRV-LLVM-Translator ed1a4f738d43

    Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
    MrSidims committed May 24, 2019
    Configuration menu
    Copy the full SHA
    8d4be77 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2019

  1. [SYCL] Fix several errors in accessor

    This patch fixes 2 constructors, fixes get_count() and get_size() methods,
    adds operator== and operator!=, fixes hash implementation,
    adds static_asssert to range and id classes to have early check for wrong
    dimension, fixes few other errors.
    
    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed May 26, 2019
    Configuration menu
    Copy the full SHA
    a91d722 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix conversions in multi_ptr class.

    Clang doesn't allow casting address spaces using reinterpret_cast.
    Replaced with C-style cast.
    
    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad committed May 26, 2019
    Configuration menu
    Copy the full SHA
    a287f9d View commit details
    Browse the repository at this point in the history

Commits on May 27, 2019

  1. [SYCL] Align get_profiling_info behavior with the specification

    Wait for event in get_profiling_info.
    
    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad authored and bader committed May 27, 2019
    Configuration menu
    Copy the full SHA
    40ce2a7 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Update scheduler API in event methods

    Updated event::get_wait_list, event::wait_and_throw and event::wait
    to use new scheduler.
    
    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad authored and bader committed May 27, 2019
    Configuration menu
    Copy the full SHA
    5334afc View commit details
    Browse the repository at this point in the history
  3. [SYCL][NFC] Capitalize SYCL specification references

    Signed-off-by: Alexey Bader <alexey.bader@intel.com>
    bader committed May 27, 2019
    Configuration menu
    Copy the full SHA
    ff4e08c View commit details
    Browse the repository at this point in the history
  4. [SYCL][NFC] Remove dead code

    Clean-up after 8a95712.
    
        [SYCL] Get sampler and accessor types without using named fields of kernel
        object
    
        Using the types of the parameter variables of __init method instead
    
    Signed-off-by: Alexey Bader <alexey.bader@intel.com>
    bader committed May 27, 2019
    Configuration menu
    Copy the full SHA
    5b4a89e View commit details
    Browse the repository at this point in the history

Commits on May 28, 2019

  1. [SYCL] Add support of reqd_sub_group_size attribute to SYCL FE

    Signed-off-by: Alexey Sachkov <alexey.sachkov@intel.com>
    AlexeySachkov authored and romanovvlad committed May 28, 2019
    Configuration menu
    Copy the full SHA
    97590a7 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Rename OpenCLIntelReqdSubGroupSize attribute

    Since this attribute can also be used in SYCL, it is better to remove
    'OpenCL' prefix. Also added LangOpt's to the attribute
    
    Signed-off-by: Alexey Sachkov <alexey.sachkov@intel.com>
    AlexeySachkov authored and romanovvlad committed May 28, 2019
    Configuration menu
    Copy the full SHA
    cf47697 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Use exclusive queues for blocked commands.

    This fixes an issue with hanging on several OpenCL devices in the
    cases when we firstly enqueue command which is blocked, then
    enqueue another command which is not and wait for the second.
    More details in code comment.
    
    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad committed May 28, 2019
    Configuration menu
    Copy the full SHA
    19e6105 View commit details
    Browse the repository at this point in the history
  4. [SYCL] Set timeout of SYCL LIT tests = 10 mins.

    Some tests may hang which can cause failing of overall check-all target
    without clear message.
    Timeout will be set only if psutil python module exists, no timeout
    otherwise.
    
    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad committed May 28, 2019
    Configuration menu
    Copy the full SHA
    537f6df View commit details
    Browse the repository at this point in the history
  5. [SYCL] Disable event_profiling_info.cpp on host device.

    Get profiling info is not supported on host device.
    
    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad authored and bader committed May 28, 2019
    Configuration menu
    Copy the full SHA
    109cdc5 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2019

  1. [SYCL] Remove re-flower pass from clang

    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed May 29, 2019
    Configuration menu
    Copy the full SHA
    cd9de48 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Add aliases to OpenCL event and sampler types for SYCL

    event_t and sampler_t type names are replaced with __ocl_event_t and
    __ocl_sampler_t to avoid potential collisions with user types.
    
    This change allows to re-use OpenCL event and sampler types for SYCL and replace
    OpTypeEvent and OpTypeSampler with __ocl_event_t and __ocl_sampler_t in SYCL
    headers.
    
    OpenCL diagnostics is not enabled.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed May 29, 2019
    Configuration menu
    Copy the full SHA
    7db9ce8 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Use SPIRV-friendly built-in naming scheme

    This change allows to avoid re-flower pass using.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed May 29, 2019
    Configuration menu
    Copy the full SHA
    a5f2fda View commit details
    Browse the repository at this point in the history
  4. [SYCL] Update SYCL clang tests

    Replace SPIR-V type names with built-in OpenCL type names.
    Use mangled class names in IR checking.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed May 29, 2019
    Configuration menu
    Copy the full SHA
    39c82eb View commit details
    Browse the repository at this point in the history

Commits on May 30, 2019

  1. [SYCL] Add support for info::device::sub_group_sizes

    Signed-off-by: Vladimir Lazarev <vladimir.lazarev@intel.com>
    vladimirlaz committed May 30, 2019
    Configuration menu
    Copy the full SHA
    7af8c96 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix issues on Windows: aligned alloc, prefetch, __builtin_expe…

    …ct, /EHsc
    
    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and romanovvlad committed May 30, 2019
    Configuration menu
    Copy the full SHA
    c13cb8d View commit details
    Browse the repository at this point in the history

Commits on May 31, 2019

  1. Merge remote-tracking branch 'intel' into 'sycl'

    Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
    MrSidims committed May 31, 2019
    Configuration menu
    Copy the full SHA
    d6c48c3 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Added a test for the removal of the const item operator[] over…

    …load, and removed the overload. This is no longer present in the SYCL 1.2.1 specification since revision 5.
    
    Signed-off-by: Paul Keir <paul.keir@uws.ac.uk>
    pkeir authored and bader committed May 31, 2019
    Configuration menu
    Copy the full SHA
    92b4a08 View commit details
    Browse the repository at this point in the history
  3. add pointer from README to extensions folder

    Signed-off-by: Jeff Hammond <jeff.r.hammond@intel.com>
    Jeff Hammond authored and bader committed May 31, 2019
    Configuration menu
    Copy the full SHA
    adb9912 View commit details
    Browse the repository at this point in the history
  4. [SYCL] Fix the definition of const_reference in accessor

    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed May 31, 2019
    Configuration menu
    Copy the full SHA
    0ae767f View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2019

  1. [Driver][Offloader] Add getOffloadingDeviceToolChain function

    getOffloadingDeviceToolChain is the equivalent of getToolChain for 
    device ToolChains. It may be possible to merge the two but as Offloading 
    Devices require some extra information (like host/device triple and 
    OffloadKind) it may get a little messy. The switch statement in 
    getToolChain also already seems a little complex. So it may not be worth 
    merging and over complicating them.
    
    In general using getOffloadingDeviceToolChain moves some of the shared 
    logic for device ToolChain selection for SYCL/CUDA/HIP/OpenMP into the 
    function call, so it refactors it a bit. But in a more specific 
    application to the SYCL implementation this call allows a ToolChain 
    implementer to add their own ToolChain in place of the SYCL ToolChain 
    when targeting a specific  host / device triple. However, if they did 
    not want to add their own ToolChain and simply wanted to add a new tool 
    to the existing SYCL ToolChain they'd still be able to do that via 
    overloading/adding to the GetTools method inside of the SYCLToolChain. 
    So the intent is just to add more flexibility, rather than replace some 
    functionality with some other functionality.
    
    Signed-off-by: Andrew Gozillon <andrew.gozillon@yahoo.com>
    agozillon authored and bader committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    25cd310 View commit details
    Browse the repository at this point in the history
  2. [SYCL][Driver][Offloader] Adding appropriate error out on incorrect S…

    …YCL target
    
    No longer will the switch statement assert with llvm_unreachable, 
    instead the appropriate Clang diagnostic warning for an invalid SYCL 
    output should be emitted. This occurs in the initialize() call for the 
    SYCL offloader/phase and action generator, similar to how CUDA emits 
    errors for incorrect GPU Arch targets.
    
    Doing it similarly to OpenMP (inside CompilerInvocation.cpp) doesn't 
    work in this case as if we pass an invalid target we won't accidentally 
    generate an invalid/incorrect ToolChain like GetToolChain's we will 
    instead return a nullptr which will ICE the compiler before it reaches 
    CompilerInvocation.cpp, so the warning interaction has to be slightly 
    different in this case.
    
    Also removing some unused variables I missed in the first commit.
    
    Signed-off-by: Andrew Gozillon <andrew.gozillon@yahoo.com>
    agozillon authored and bader committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    5361627 View commit details
    Browse the repository at this point in the history
  3. [SYCL][Driver][Offloader][NFC] Moving invalid SYCL target diagnostic

    This should be an NFC. Moved the diagnostic from the
    OffloadingActionBuilder's initialize method to the Driver's
    CreateOffloadingDeviceToolChains call. No need to track it in two
    places, invalid target caught as early as required. Should be no chance 
    of ICE'ng the compiler by accessing a non-existant ToolChain.
    
    Signed-off-by: Andrew Gozillon <andrew.gozillon@yahoo.com>
    agozillon authored and bader committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    23fd38b View commit details
    Browse the repository at this point in the history
  4. [SYCL][Driver]Offloader][Test] Add test case to sycl-offload.c

    New test case aims to showcase that existing architecture triples that 
    are not valid for SYCL offloading also get rejected. In this case, just 
    testing using x86_64.
    
    Signed-off-by: Andrew Gozillon <andrew.gozillon@yahoo.com>
    agozillon authored and bader committed Jun 1, 2019
    Configuration menu
    Copy the full SHA
    2dffc68 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2019

  1. [SYCL] Fix the kernel name received via get_info method.

    Made the names returned from the get_info method and from the integration
    header of the same kernel equal.
    
    clGetKernelInfo(used by get_info) function returns size of kernel name + 1
    and kernel name with additional symbol '\0'.
    
    So size of the string returned from get_info is one character longer
    and clGetKernelInfo writes the additional symbol into raw pointer of the string.
    But inegration header returns kernel name aka string("kernelname").
    
    Respectively:
    """
    std::string str(/*strlen("kernelname")*/10 + 1, ' ');
    strcpy((char*)str.c_str(), "kernelname");
    str != std::string("kernelname");
    """
    
    Signed-off-by: Alexey Voronov <alexey.voronov@intel.com>
    alexeyvoronov-intel authored and romanovvlad committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    f477bb8 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix set_arg(s) methods to work with constant variables

    Signed-off-by: Alexey Voronov <alexey.voronov@intel.com>
    alexeyvoronov-intel authored and romanovvlad committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    ef0a0c1 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Several fixes for handler methods.

    Removed set_arg method calls from accessor constructors.
    Fixed require method: now will make dependencies in the scheduler.
    Added support set_arg for non source SYCL kernels.
    
    Signed-off-by: Alexey Voronov <alexey.voronov@intel.com>
    alexeyvoronov-intel authored and romanovvlad committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    11b0baa View commit details
    Browse the repository at this point in the history
  4. [SYCL] Add support for local accessors in set_arg(s) handler method.

    Signed-off-by: Alexey Voronov <alexey.voronov@intel.com>
    alexeyvoronov-intel authored and romanovvlad committed Jun 2, 2019
    Configuration menu
    Copy the full SHA
    47727b2 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2019

  1. Merge pull request #182 from MrSidims/private/MrSidims/fake_merge

    Merge remote-tracking branch 'intel' into 'sycl'
    vladimirlaz committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    c6776ee View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix metadata for Intel FPGA loop attributes

    llvm.loop.[ii/max_concurrency] -> llvm.loop.[ii/max_concurrency].count
    
    Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
    MrSidims authored and vladimirlaz committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    b343f8f View commit details
    Browse the repository at this point in the history
  3. [SYCL][OpenMP] Update compilation behaviors with fat archives

    Allow for compilation using multiple objects and also enable compilation
    from source.  Initial support for compilation from fat archives only allowed
    the compile to be from a single object and the fat archive.  These changes
    expand on that to allow compilation direct from source files and multiple
    objects.
    
    Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
    mdtoguchi authored and vladimirlaz committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    eacc876 View commit details
    Browse the repository at this point in the history
  4. [SYCL] Fix handler set_arg(s) method.

    Fixed incorrect storing and extractiong of global/constant accessor
    in set_arg(s) logic.
    
    Signed-off-by: Alexey Voronov <alexey.voronov@intel.com>
    alexeyvoronov-intel authored and romanovvlad committed Jun 3, 2019
    Configuration menu
    Copy the full SHA
    d404d1c View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2019

  1. [SYCL] Fix errors caused by unsupported __builtin_expect() on Windows

    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    505e195 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Remove redundant code

    This code is redundant since we abandoned re-flower pass and OclCxx
    classes.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    4d847c0 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Remove _Float16 from integration header

    The main problem that half type is defined as _Float16 on the device and
    as manually implemented type on host so compiler could add _Float16
    to the integration header and it will produce errors in host
    compilation.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    8d186a3 View commit details
    Browse the repository at this point in the history
  4. [SYCL] Clean up in swizzle macros, prepare them for change of Indexer

    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    5adefa3 View commit details
    Browse the repository at this point in the history
  5. [SYCL][NFC] Add 2 private aux types to SwizzleOp class

    This change is preparing vec and SwizzleOp classes to replacement
    of getNumElements() constexpr method with sizeof...(Indices) and
    replacement of constexpr Indexer() method with template struct Indexer
    to workaround an error in MSVC compiler on Windows.
    
    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    637c69b View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2019

  1. [SYCL][FPGA] Add 'SYCL' lang prefix for loop attributes

    Rename SYCL specific loop attributes to avoid potential name conflicts.
    
    Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
    MrSidims authored and bader committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    5713c57 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix vec and SwizzleOp types on Windows

    The fix adds a workaround for MSVC bug that is fixed only in v19.20,
    and enables vec and SwizzleOp classes compilation for Windows.
    The versions of MSVC older than v19.20 do not recognize constexpr functions
    getNumElements() and Indexer() as const and thus do not let using them in
    template class parameters.
    The fix inlines getNumElements() and turns constexpr function Indexer(int I)
    into template struct Indexer<int I>.
    
    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    33fabc4 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Include <algorithm> for std::max, define M_PI macro in builtins

    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    9079001 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2019

  1. [SYCL] Add SYCL clang frontend doc

    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed Jun 9, 2019
    Configuration menu
    Copy the full SHA
    1614b8f View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2019

  1. [SYCL] Sync with SPIRV-LLVM-Translator 365675f2

    Signed-off-by: Alexey Sachkov <alexey.sachkov@intel.com>
    AlexeySachkov authored and bader committed Jun 10, 2019
    Configuration menu
    Copy the full SHA
    5a3a030 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Refactor SYCL clang kernel wrapper tests

    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed Jun 10, 2019
    Configuration menu
    Copy the full SHA
    a72d544 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Remove old scheduler

    Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
    againull authored and bader committed Jun 10, 2019
    Configuration menu
    Copy the full SHA
    76bb259 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2019

  1. [SYCL] Add /bigobj switch to SemaSYCL.cpp on Windows to enable DEBUG …

    …build
    
    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed Jun 12, 2019
    Configuration menu
    Copy the full SHA
    a718871 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Enable sampler support in set_arg(s) method.

    Signed-off-by: Alexey Voronov <alexey.voronov@intel.com>
    alexeyvoronov-intel authored and bader committed Jun 12, 2019
    Configuration menu
    Copy the full SHA
    2e48081 View commit details
    Browse the repository at this point in the history
  3. [SYCL][NFC] Remove code from comments.

    Removed comments are redundant and complicate maintenance.
    
    Signed-off-by: Alexey Bader <alexey.bader@intel.com>
    bader committed Jun 12, 2019
    Configuration menu
    Copy the full SHA
    da9bdd3 View commit details
    Browse the repository at this point in the history
  4. [SYCL] Update documentation with OpenCL types re-use proposal

    Signed-off-by: Alexey Bader <alexey.bader@intel.com>
    bader committed Jun 12, 2019
    Configuration menu
    Copy the full SHA
    208cd7c View commit details
    Browse the repository at this point in the history
  5. [SYCL] Enable OpenCL diagnostics for sampler in SYCL mode

    Selectively enabled a few OpenCL diagnostics for sampler type as some
    diagnostics trigger on SYCL use cases.
    
    For instance, OpenCL kernel in SYCL mode initializes lambda captures with
    the kernel argument values. This initialization code for sampler emits
    errors because OpenCL disallows sampler on the right hand side of the
    binary operators - these are supposed to be used only by built-in
    functions.
    
    Another potential issue is the lambda object itself -
    captured sampler is a member of the lambda object and OpenCL doesn't
    allow composite types with samplers. SPIR-V produced from SYCL should be
    okay as lambda object can be removed by standard LLVM transformation
    passes.
    
    Signed-off-by: Alexey Bader <alexey.bader@intel.com>
    bader committed Jun 12, 2019
    Configuration menu
    Copy the full SHA
    eb735ee View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2019

  1. [SYCL][clang-cc1] Add new cc1 option: -dependency-filter PREFIX

    to filter files with prefix match from dependency output.  In sycl compilation,
    clang invokes cc1 two times, once for the host compilation and once for the
    offload compilation. The offload compilation generates a .h file, the host
    compilation includes this generated .h file. Finally, the clang driver
    deletes the generated temporary .h file before terminating.  This new cc1
    option allows the clang driver to specify that the temporary .h files
    shouldn't be added into the dependency information.
    
    Signed-off-by: Melanie Blower <melanie.blower@intel.com>
    Melanie Blower authored and vladimirlaz committed Jun 13, 2019
    Configuration menu
    Copy the full SHA
    4508874 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix build after old scheduler removal

    Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
    againull authored and bader committed Jun 13, 2019
    Configuration menu
    Copy the full SHA
    76cd23d View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2019

  1. [SYCL] Release notes for June'19 release.

    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad authored and bader committed Jun 14, 2019
    Configuration menu
    Copy the full SHA
    f4a5a63 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2019

  1. [SYCL] Align global_mem_cache_type values with SYCL specification.

    Rename global_mem_cache_type::write_only to global_mem_cache_type::read_write.
    
    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad authored and bader committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    bc8c55c View commit details
    Browse the repository at this point in the history
  2. [SYCL] Stream class

    Stream class wraps an accessor to the underlying stream buffer. Offset
    in this buffer is updated atomically to allow streaming by multiple
    threads safely. Current implementation is not complete. It supports
    output of string, char and boolean types. Other operators are defined
    with todo in the body.
    
    Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
    againull authored and bader committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    6540810 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Check return of Expected<T> when reading section size content

    Community pull down introduced Expected<T> on the return of getContents.  Apply
    the needed check after return to satisfy.
    
    From the llvm manual: All Error instances, whether success or failure, must be
    either checked or moved from (via std::move or a return) before they are
    destructed
    
    Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
    mdtoguchi authored and bader committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    9ceb9e2 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2019

  1. [SYCL] Minor fixes after stream class implementation.

      * Warnings were fixed.
      * Bug in assertion was fixed.
    
    Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
    againull authored and bader committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    9ff0401 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Enable set_final_data for shared_ptr

    Signed-off-by: Vladimir Lazarev <vladimir.lazarev@intel.com>
    vladimirlaz authored and bader committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    dba5f18 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Fix warning in half implementation

    There was strict-aliasing rules violation. It could produce undefined
    behaviour.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    6b8be71 View commit details
    Browse the repository at this point in the history
  4. fix typo

    Signed-off-by: Jeff Hammond <jeff.r.hammond@intel.com>
    Jeff Hammond authored and bader committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    54e4ecb View commit details
    Browse the repository at this point in the history
  5. [SYCL] Retain OpenCL kernel in SYCL kernel constructor

    Also added check that passed SYCL context represents the same underlying
    OpenCL context associated with the OpenCL kernel object.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    2c9ab05 View commit details
    Browse the repository at this point in the history
  6. [SYCL] add support for -fsycl-link

    Generate a wrapped device binary that can be used independently with a host
    link step.  Takes the provided fat objects or source, extracts or creates the
    associated device binaries and wraps them to be used during a regular host
    link step
    
    Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
    mdtoguchi authored and romanovvlad committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    60978ef View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2019

  1. [SYCL] Add ND-range reduction extension docs (#211)

    Use 0-dim accessors for scalar reductions .
    For buffers, reduction variables inherit dimensionality from accessors.
    For USM, reduction variables are assumed scalar without use of span.
    
    Signed-off-by: John Pennycook <john.pennycook@intel.com>
    Pennycook authored and bader committed Jun 19, 2019
    Configuration menu
    Copy the full SHA
    b2248cc View commit details
    Browse the repository at this point in the history
  2. [SYCL] Remove wrapper headers

    Even when compiling for the device, code meant only for host execution
    must be semantically analyzable. Existing wrapper headers were initially
    created to resolve this problem. But now -aux-triple is used to pass
    target triple of opposite side of compilation. Clang knows target triple
    for both sides of compilation so that preprocessor macros and target
    builtins from both sides are available. That is why there is no need in
    existing wrapper headers with stub definitions since they break
    compilation for cases when standard headers are included.
    
    Approach with -aux-triple is not complete solution. Host headers might
    provide definitions relying on host inline asm, intrinsics, using types
    not lowerable in device code. So we will need to provide a solution to
    overload some definitions for the device or to define only some macro
    for host headers. This will be resolved in other commits.
    
    Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
    againull authored and bader committed Jun 19, 2019
    Configuration menu
    Copy the full SHA
    57ee6e1 View commit details
    Browse the repository at this point in the history
  3. [SYCL][NFC] Remove dead code (#230)

    Remove OpenCL cl_mem_fence_flags type/values definitions as the device compiler uses SPIR-V type/values now instead of OpenCL ones.
    
    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and bader committed Jun 19, 2019
    Configuration menu
    Copy the full SHA
    e844b0c View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2019

  1. [SYCL] Refactor OpenCL kernel generation (#227)

    This change unifies handling of sampler and accessor types during OpenCL kernel generation.
    
    Signed-off-by: Mariya Podchishchaeva <mariya.podchishchaeva@intel.com>
    Fznamznon authored and bader committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    fa4ba4c View commit details
    Browse the repository at this point in the history
  2. [SYCL] Temporary disable stream LIT test.

    Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
    romanovvlad authored and bader committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    c191009 View commit details
    Browse the repository at this point in the history
  3. [SYCL] Fix two build time errors reported by MSVC 2019

    1) Fix error: "'detail::getSyclObjImpl': not a function".
    2) Fix error: "subscript requires array or pointer type" for std::array use.
    3) Fix few warnings caused by inconsistent usage of class-vs-struct keyword.
    
    Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
    v-klochkov authored and romanovvlad committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    8d719f7 View commit details
    Browse the repository at this point in the history
  4. [SYCL] Image Class Initial Implementation.

    Patch 1: Implementation of Constructors for image class.
    Files Added:
    image.hpp - Includes the interface for image class.
    detail/image_impl.hpp - Includes the implementation of image_impl class.
    detail/image_impl.cpp - For now includes the utility functions. Will be
    	expanded later as accessor and other APIs are implemented.
    test/basic_tests/image_constructors.cpp - test to check the image
    constructors.
    Next To Do:
    SPIRV Code generation and accessors implementations.
    
    Signed-off-by: Garima Gupta <garima.gupta@intel.com>
    garimagu authored and romanovvlad committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    55e9753 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2019

  1. [Buildbot] migrate build script from shell to python

    Signed-off-by: Kurt Chen <kurt.chen@intel.com>
    Signed-off-by: Vladimir Lazarev <vladimir.lazarev@intel.com>
    ikurtchen authored and bader committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    3f6c353 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Update documents with recent project changes

     - Add development process description to contributing guide
     - Add info about skipping LIT tests targetting OpenCL device
       if corresponding RT is missed.
    
    Signed-off-by: Vladimir Lazarev <vladimir.lazarev@intel.com>
    vladimirlaz authored and bader committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    07358ac View commit details
    Browse the repository at this point in the history
  3. [SYCL] Avoid declaring unscoped enums in global namespace

    According to C++ spec:
    
    Each enumerator becomes a named constant of the enumeration's type
    (that is, name), visible in the enclosing scope, and can be used
    whenever constants are required.
    
    Having unscoped enumerations defined in global namespace reserve some
    names and prohibits it's using in user's applications. For example,
    'Device' might be used as user's class name and it might cause
    ambiguity.
    
    This patch aligns declaration of enums in spirv_types.hpp with ones from
    SPIRV-Headers project to avoid declaring identifiers in global namespace
    and simplify transition in the future. There are few exceptions:
    * uint32_t is used as base type for enum instead of unsigned.
    * '__spv' namespace is used instead of 'spv'.
    
    Signed-off-by: Alexey Sachkov <alexey.sachkov@intel.com>
    AlexeySachkov authored and bader committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    4c58035 View commit details
    Browse the repository at this point in the history
  4. [SYCL][NFC] Refactor common code into a helper function

    Signed-off-by: Alexey Sachkov <alexey.sachkov@intel.com>
    AlexeySachkov authored and bader committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    dc51240 View commit details
    Browse the repository at this point in the history
  5. [SYCL] Remove outdated CMake configuration.

    Remove CMake configuration expecting llvm-spirv and SYCL projects to be
    located in LLVM source tree.
    Location of external projects should be set via CMake variables.
    
    Signed-off-by: Alexey Bader <alexey.bader@intel.com>
    bader committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    c05692e View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2019

  1. [SYCL] Fix cl::sycl::group get_linear_id API name.

    Current API spelling is get_linear, which is wrong - should be
    get_linear_id according to spec.
    Fix the unit test as well.
    
    Signed-off-by: Konstantin Bobrovsky konstantin.s.bobrovsky@intel.com
    kbobrovs authored and bader committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    4390733 View commit details
    Browse the repository at this point in the history
  2. First attempt at __unique_stable_name

    This implementation uses the keyword __unique_stable_name as an operator
    that can take a type or expression, and will result in a constexpr
    constant character array that (hopefully) uniquely represents the type
    or type-of-expression being passed to it.
    
    The unique representation is the normal mangled name of the type, except
    in the cases of a lambda, where the ordinal "number" is just replaced
    with LINE->COL.  Macro expansions are also appended with '~' followed by
    the LINE->COL that it appears in.
    
    For example, a lambda declared in
    'main' would look like _ZTSZ4mainEUlvE25->12 (line 25, column 12).
    
    A Lambda that comes from a macro looks like:
    _ZTSZ4mainEUlvE45->3~18->32 (macro invoked on 45/3, lambda defined
    inside the macro on line 18, column 32).
    
    Template instantiations based on the lambda would result in a name that
    contains the lambda mangling, for example:
    _ZTSZ3bazIZ4mainEUlvE25->12EvvEUlvE14->12
    
    A function template named 'baz' that is instantiated with a lambda
    declared in 'main' on line 25/col 12 has another macro in it, declared
    on line 14, column 12.
    
    WIP
    
    Signed-off-by: Erich Keane <erich.keane@intel.com>
    Erich Keane committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    c6d0281 View commit details
    Browse the repository at this point in the history