Started 2 yr 2 mo ago
Took 1 hr 32 min on green-dragon-02

Success Build #309 (Aug 10, 2017 10:01:54 AM)

Revisions
  • http://llvm.org/svn/llvm-project/llvm/trunk : 310623
  • http://llvm.org/svn/llvm-project/cfe/trunk : 310625
  • http://llvm.org/svn/llvm-project/compiler-rt/trunk : 310596
  • http://llvm.org/svn/llvm-project/debuginfo-tests/trunk : 303903
  • http://llvm.org/svn/llvm-project/zorg/trunk : 310557
  • http://llvm.org/svn/llvm-project/libcxx/trunk : 310487
  • http://llvm.org/svn/llvm-project/clang-tools-extra/trunk : 310589
Changes
  1. [OpenMP] Delete tests in openmp-offload.c which cuase failures
    until a better way to perform these tests is figured out.

    Change connected to diff: D29654 (detail)
    by gbercea
  2. Fixup for r310621: Hint the compilers about unreachable code. (detail)
    by mnbvmar
  3. Add a getName accessor for ModuleMacros.

    Swift would like to be able to access the name of a ModuleMacro.
    There was some discussion of this in
    https://github.com/apple/swift-clang/pull/93, suggesting that it makes
    sense to have this accessor in Clang. (detail)
    by Bob Wilson
  4. Add .rc scripts tokenizer.

    This extends the shell of llvm-rc tool with the ability of tokenization
    of the input files. Currently, ASCII and ASCII-compatible UTF-8 files
    are supported.

    Thanks to Nico Weber (thakis) for his original work in this area.

    Differential Revision: https://reviews.llvm.org/D35957 (detail)
    by mnbvmar
  5. Add "Restored" flag to CalleeSavedInfo

    The liveness-tracking code assumes that the registers that were saved
    in the function's prolog are live outside of the function. Specifically,
    that registers that were saved are also live-on-exit from the function.
    This isn't always the case as illustrated by the LR register on ARM.

    Differential Revision: https://reviews.llvm.org/D36160 (detail)
    by kparzysz
  6. Fixed a race condition in PrecompiledPreamble.

    Summary:
    Two PrecompiledPreambles, used in parallel on separate threads,
    could be writing preamble to the same temporary file.

    Reviewers: bkramer, krasimir, klimek

    Reviewed By: klimek

    Subscribers: cfe-commits

    Differential Revision: https://reviews.llvm.org/D36529 (detail)
    by ibiryukov
  7. Place implictly declared functions at block scope

    Such implicitly declared functions behave as if the enclosing block
    contained the declaration extern int name() (C90, 6.3.3.2 Function calls),
    thus their names should have block scope (C90, 6.1.2.1 Scope of identifiers).

    This patch fixes https://bugs.llvm.org/show_bug.cgi?id=33224

    Differential Revision: https://reviews.llvm.org/D33676 (detail)
    by chill
  8. [mips] Group all `-mabicalls` related checks in the single place. NFC (detail)
    by atanasyan
  9. [mips] Show warning in case of mixing -mlong-calls and -mabicalls options

    While we do not support `-mshared / -mno-shared` properly, show warning
    and ignore `-mlong-calls` option in case of implicitly or explicitly
    provided `-mabicalls` option.

    Differential revision: https://reviews.llvm.org/D36551 (detail)
    by atanasyan
  10. [mips] Notify user that `-mabicalls` is ignored on non-PIC N64 ABI

    The -mabicalls option does not make sense in the case of non position
    independent code for the N64 ABI. After this change the driver shows a
    warning that -mabicalls is ignored in that case.

    Differential revision: https://reviews.llvm.org/D36550 (detail)
    by atanasyan
  11. [InstCombine] add memcpy expansion tests with potential DL dependency; NFC

    Current behavior is to transform these independently of the datalayout.

    There's a proposal to change this in D35035:
    https://reviews.llvm.org/D35035 (detail)
    by spatel
  12. [unittests] Adding a unittest for ChangeTaTargetIndex. NFC

    Differential Revision: https://reviews.llvm.org/D36565 (detail)
    by mggm
  13. [Parse] Document PrintStats, SkipFunctionBodies

    Summary:
    Add documentation for `clang::ParseAST` parameters `PrintStats` and
    `SkipFunctionBodies`. Also, remove a tiny bit of trailing whitespace.

    Reviewers: craig.topper, doug.gregor, erikjv

    Subscribers: cfe-commits

    Differential Revision: https://reviews.llvm.org/D36530 (detail)
    by modocache
  14. [DAG] Rewrite expression. NFC. (detail)
    by niravd
  15. [CostModel][X86] Added v2f64/v2i64 single src shuffle model tests

    Fixed label checks for all prefixes (detail)
    by rksimon
  16. [Modules] Prevent #import to reenter header if not building a module.

    When non-modular headers are imported while not building a module but
    in -fmodules mode, be conservative and preserve the default #import
    semantic: do not reenter headers.

    rdar://problem/33745031 (detail)
    by Bruno Lopes
  17. [X86] Keep dependencies when constructing loads in combineStore

    Summary:
    Preserve chain dependecies between old and new loads constructed to
    prevent loads from reordering below later stores.

    Fixes PR34088.

    Reviewers: craig.topper, spatel, RKSimon, efriedma

    Subscribers: llvm-commits

    Differential Revision: https://reviews.llvm.org/D36528 (detail)
    by niravd
  18. [InstCombine] regenerate test checks; NFC (detail)
    by spatel
  19. [Hexagon] Use isMetaInstruction instead of isDebugValue (detail)
    by kparzysz
  20. [sanitizer-coverage] Change cmp instrumentation to distinguish const operands

    This implementation of SanitizerCoverage instrumentation inserts different
    callbacks depending on constantness of operands:

      1. If both operands are non-const, then a usual
         __sanitizer_cov_trace_cmp[1248] call is inserted.
      2. If exactly one operand is const, then a
         __sanitizer_cov_trace_const_cmp[1248] call is inserted. The first
         argument of the call is always the constant one.
      3. If both operands are const, then no callback is inserted.

    This separation comes useful in fuzzing when tasks like "find one operand
    of the comparison in input arguments and replace it with the other one"
    have to be done. The new instrumentation allows us to not waste time on
    searching the constant operands in the input.

    Patch by Victor Chibotaru. (detail)
    by glider
  21. [InstCombine] regenerate test checks, add comments; NFC (detail)
    by spatel
  22. [sanitizer_common] Update sanitizers w.r.t. the new comparisons instrumentation API

    Added declarations of __sanitizer_cov_trace_const_cmp[1248] callbacks.
    For more details, please see https://reviews.llvm.org/D36465.

    Patch by Victor Chibotaru. (detail)
    by glider
  23. [NewGVN] Add CL option to control the generation of phi-of-ops (disable by default).

    Differential Revision: https://reviews.llvm.org/D36478539 (detail)
    by mcrosier
  24. [SelectionDAG] Allow constant folding for implicitly truncating BUILD_VECTOR nodes.

    In FoldConstantArithmetic, handle BUILD_VECTOR nodes that do implicit truncation on the elements.

    This is similar to what is done in FoldConstantVectorArithmetic.

    Differential Revision:
    https://reviews.llvm.org/D36506 (detail)
    by guyblank
  25. [libFuzzer] Update LibFuzzer w.r.t. the new comparisons instrumentation API

    Added the _sanitizer_cov_trace_const_cmp[1248] callbacks.
    For now they are implemented the same way as _sanitizer_cov_trace_cmp[1248].
    For more details, please see https://reviews.llvm.org/D36465.

    Patch by Victor Chibotaru. (detail)
    by glider
  26. [CMake][LLVM] Remove duplicated library mask. Broken clang linking against clangShared

    Summary:
    The `LLVM${c}Info` mask is listed twice in LLVM-Config.cmake. This results in the libraries such as LLVMARMInfo, LLVMAArch4Info, etc appearing twice in `extract_symbols.py` command line while building `clangShared`. `Extract_symbols.py` does not work well in such a case and completely ignores the symbols from the duplicated libraries. Thus, the LLVM(...)Info symbols do not get exported from `clangShared` and linking clang against it fails with unresolved dependencies.

    Seems to be a mere copy-paste mistake.

    Reviewers: beanz, chapuni

    Reviewed By: chapuni

    Subscribers: chapuni, aemerson, mgorny, kristof.beyls, llvm-commits, asl

    Differential Revision: https://reviews.llvm.org/D36119 (detail)
    by oleg
  27. [clang-tidy] Add integer division check

    Patch by: Reka Nikolett Kovacs

    Differential Revision: https://reviews.llvm.org/D35932 (detail)
    by xazax
  28. [compiler-rt][ARM] Fix filtering of ARM targets

    Summary:
    Similarly to i686, the ARM build target has multiple names, such as armhf, armv7 and so on. Currently we get duplicated symbol definitions for these targets while compiling the library. Each duplicated definition has its generic version from `lib/builtins` and an ARM-specialized version from `lib/builtins/arm`.

    This patch fixes filtering for ARM to ignore the generic definitions if they have their ARM specializations.

    Reviewers: compnerd

    Reviewed By: compnerd

    Subscribers: aemerson, dberris, llvm-commits, mgorny, asl, kristof.beyls

    Differential Revision: https://reviews.llvm.org/D35336 (detail)
    by oleg
  29. [clang-tidy] Updated docs and release notes for r310584 (detail)
    by alexfh
  30. [clang-tidy] Add a test. (detail)
    by alexfh
  31. [clang-tidy] Enable test for http://llvm.org/PR26228 (detail)
    by alexfh
  32. [clang-tidy] Add modernize-use-emplace.IgnoreImplicitConstructors option (detail)
    by alexfh
  33. [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 2.

    The original patch was an improvement to IR ValueTracking on non-negative
    integers. It has been checked in to trunk (D18777, r284022). But was disabled by
    default due to performance regressions.
    Perf impact has improved. The patch would be enabled by default.

    Reviewers: reames, hfinkel

    Differential Revision: https://reviews.llvm.org/D34101

    Patch by: Olga Chupina <olga.chupina@intel.com> (detail)
    by n.bozhenov
  34. [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 1.

    The original patch was an improvement to IR ValueTracking on non-negative
    integers. It has been checked in to trunk (D18777, r284022). But was disabled by
    default due to performance regressions.
    Perf impact has improved. The patch would be enabled by default.

    Reviewers: reames, hfinkel

    Differential Revision: https://reviews.llvm.org/D34101

    Patch by: Olga Chupina <olga.chupina@intel.com> (detail)
    by n.bozhenov
  35. Revert r310489 and follow-up commits r310505, r310519, r310537 and r310549

    Commit r310489 caused 'openmp-offload.c' test failures on Darwin and other
    platforms:
    http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/39230/testReport/junit/Clang/Driver/openmp_offload_c/

    The follow-up commits tried to fix the test, but the test is still failing. (detail)
    by arphaman
  36. [mips][microMIPS] Extending size reduction pass with XOR16
    Author: milena.vujosevic.janicic
    Reviewers: sdardis
    The patch extends size reduction pass for MicroMIPS.
    XOR instruction is transformed into 16-bit instruction XOR16, if possible.
    Differential Revision: https://reviews.llvm.org/D34239 (detail)
    by zjovanovic
  37. [clang-tidy] Fix an error in the doc. (detail)
    by hokein
  38. [clang-tidy] add forwarders in the aliased checks from hicpp module

    Summary: Adds redirections notes and the actual redirections in the documentation for hicpp

    Patch by: Jonas Toth

    Reviewers: aaron.ballman, hokein, alexfh

    Reviewed By: aaron.ballman, hokein

    Subscribers: JDevlieghere, xazax.hun

    Differential Revision: https://reviews.llvm.org/D36355 (detail)
    by hokein
  39. [Lexer] Finding beginning of token with escaped new line

    Summary:
    Lexer::GetBeginningOfToken produced invalid location when
    backtracking across escaped new lines.

    This fixes PR26228

    Reviewers: akyrtzi, alexfh, rsmith, doug.gregor

    Reviewed By: alexfh

    Subscribers: alexfh, cfe-commits

    Patch by Paweł Żukowski!

    Differential Revision: https://reviews.llvm.org/D30748 (detail)
    by alexfh
  40. [AArch64] Assembler support for v8.3 RCpc

    Added assembler and disassembler support for the new Release
    Consistent processor consistent instructions, introduced with ARM
    v8.3-A for AArch64.

    Differential Revision: https://reviews.llvm.org/D36522 (detail)
    by sam_parker
  41. [ARM][AArch64] ARMv8.3-A enablement

    The beta ARMv8.3 ISA specifications have been released for AArch64
    and AArch32, these can be found at:
    https://developer.arm.com/products/architecture/a-profile/exploration-tools

    An introduction to this architecture update can be found at:
    https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

    This patch is the first in a series which will add ARM v8.3-A support
    in LLVM and Clang. It adds the necessary changes that create targets
    for both the ARM and AArch64 backends.

    Differential Revision: https://reviews.llvm.org/D36514 (detail)
    by sam_parker
  42. [clang-tidy] Fix a check-fixes line (detail)
    by xazax
  43. [clang-tidy] Minor documentation improvement

    Patch by: Lilla Barancsuk (detail)
    by xazax
  44. [clang-tidy] Add missing doc in cppcoreguidelines-c-copy-assignment-signature check. (detail)
    by hokein
  45. Enable running 'lnt runtest test-suite' instead of 'lnt runtest nt'.

    A typical configuration for a builder using this to track performance
    of code generated by LLVM could be:

    {
        'name': "builder-name",
        'slavenames': ["slave-name"],
        'builddir': "builder-builddir",
        'factory': ClangBuilder.getClangCMakeBuildFactory(
                      jobs=8,
                      clean=False,
                      checkout_compiler_rt=False,
                      checkout_lld=False,
                      test=False,
                      useTwoStage=False,
                      runTestSuite=True,
                      env={'PATH':'/usr/lib/ccache:/usr/local/sbin:'+
                                  '/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
                      testsuite_flags=['--cppflags', '-O3',
                                       '--threads=1',
                                       '--build-threads=8',
                                       '--use-perf=all',
                                       '--run-under', 'taskset -c 1',
                                       '--benchmarking-only',
                                       '--exec-multisample=3',
                                       '--exclude-stat-from-submission=compile'],
                      extra_cmake_args=["-DLLVM_TARGETS_TO_BUILD='AArch64'",
                                        "-DLLVM_PARALLEL_LINK_JOBS=4"],
                      submitURL='http://lnt.llvm.org/submitRun',
                      testerName='LNT-AArch64-O3'),
        'category': 'clang'
    }

    The only difference to using the somewhat deprecated 'lnt runtest nt'
    is that a "testsuite_flags" parameter is defined instead of an
    "nt_flags" parameter.

    Differential Revision: https://reviews.llvm.org/D35402 (detail)
    by kbeyls
  46. [SelectionDAG] When scalarizing vselect, don't assert on
    a legal cond operand.

    When scalarizing the result of a vselect, the legalizer currently expects
    to already have scalarized the operands. While this is true for the true/false
    operands (which have the same type as the result), it is not case for the
    condition operand. On X86 AVX512, v1i1 is legal - this leads to operations such
    as '< N x type> vselect < N x i1> < N x type> < N x type>' where < N x type > is
    illegal to hit an assertion during the scalarization.

    The handling is similar to r205625.
    This also exposes the fact that (v1i1 extract_subvector) should be legal
    and selectable on AVX512 - We do this by custom lowering to vector_extract_elt.
    This still leaves us in some cases with redundant dag nodes which will be
    combined in a separate soon to come patch.

    This fixes pr33349.

    Differential revision: https://reviews.llvm.org/D36511 (detail)
    by eladcohen
  47. Revert part of r310296 to make it really NFC for instrumentation PGO.

    Summary: Part of r310296 will disable PGOIndirectCallPromotion in ThinLTO backend if PGOOpt is None. However, as PGOOpt is not passed down to ThinLTO backend for instrumentation based PGO, that change would actually disable ICP entirely in ThinLTO backend, making it behave differently in instrumentation PGO mode. This change reverts that change, and only disable ICP there when it is SamplePGO.

    Reviewers: davidxl

    Reviewed By: davidxl

    Subscribers: sanjoy, mehdi_amini, eraman, llvm-commits

    Differential Revision: https://reviews.llvm.org/D36566 (detail)
    by dehao
  48. [OpenMP] Provide a default GPU arch that is supported by
    the underlying hardware.

    This fixes a bug triggered by diff: D29660 (detail)
    by gbercea
  49. [Driver] Search compiler-rt paths in -print-file-name=

    This makes it possible to print the name of compiler-rt libraries
    by using simply clang -print-file-name=libclang_rt.${runtime}-${arch}.so
    same as other libraries, without having to know the details of the
    resource directory organization.

    Differential Revision: https://reviews.llvm.org/D35820 (detail)
    by phosek
  50. [LCG] Fix an assert in a on-scope-exit lambda that checked the contents
    of the returned value.

    Checking the returned value from inside of a scoped exit isn't actually
    valid. It happens to work when NRVO fires and the stars align, which
    they reliably do with Clang but don't, for example, on MSVC builds. (detail)
    by chandlerc
  51. [LVI] Fix LVI compile time regression around constantFoldUser()

    Summary:
    Avoid checking each operand and calling getValueFromCondition() before calling
    constantFoldUser() when the instruction type isn't supported by
    constantFoldUser().

    This fixes a large compile time regression in an internal build.

    Reviewers: sanjoy

    Reviewed By: sanjoy

    Subscribers: llvm-commits

    Differential Revision: https://reviews.llvm.org/D36552 (detail)
    by yamauchi
  52. [clang-format] let PointerAlignment dictate spacing of function ref qualifiers

    Summary: The original changes for ref qualifiers in rL272537 and rL272548 allowed function const+ref qualifier spacing to diverge from the spacing used for variables. It seems more consistent for `T const& x;` to match `void foo() const&;`.

    Reviewers: djasper

    Reviewed By: djasper

    Subscribers: klimek, cfe-commits

    Differential Revision: https://reviews.llvm.org/D34324 (detail)
    by jtbandes
  53. Linker: Create a function declaration when moving a non-prevailing alias of function type.

    We were previously creating a global variable of function type,
    which is invalid IR. This issue was exposed by r304690, in which we
    started asserting that global variables were of a valid type.

    Fixes PR33462.

    Differential Revision: https://reviews.llvm.org/D36438 (detail)
    by pcc
  54. [InstSimplify] Add test cases that show that simplifySelectWithICmpCond doesn't work with non-canonical comparisons. (detail)
    by ctopper
  55. [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). (detail)
    by eugenezelenko
  56. Remove unused function (detail)
    by arsenm
  57. clang-format: Fix bug with ENAS_DontAlign and empty lines

    This fixes a bug in `ENAS_DontAlign` (introduced in D32733) where blank lines had an EscapedNewlineColumn of 0, causing a subtraction to overflow when converted back to unsigned and leading to runaway memory allocation.

    Differential Revision: https://reviews.llvm.org/D36019 (detail)
    by jtbandes
  58. [OpenMP] Remove offending test.

    Diff: D29660 (detail)
    by gbercea
  59. Fix thinlto cache key computation for cfi-icall.

    Summary:
    Fixed PR33966.

    CFI code generation for users (not just callers) of a function depends
    on whether this function has a jumptable entry or not. This
    information needs to be encoded in of thinlto cache key.

    We filter the jumptable list against functions that are actually
    referenced in the current module.

    Subscribers: mehdi_amini, inglorion, eraman, hiraditya

    Differential Revision: https://reviews.llvm.org/D36346 (detail)
    by eugenis
  60. ARM: Fix CMP_SWAP expansion

    Clean up after my misguided attempt in r304267 to "fix" CMP_SWAP
    returning an uninitialized status value.

    - I was always using tMOVi8 to zero the status register which cannot
      encode higher register numbers and llvm would silently miscompile)

    - Nobody was ever looking at that status value outside the expansion.
      ARMDAGToDAGISel::SelectCMP_SWAP() the only place creating CMP_SWAP
      instructions was not mapping anything to it. (The cmpxchg status value
      from llvm IR is lowered to a manual comparison after the CMP_SWAP)

    So this:
    - Renames the register from "status" to "temp" it make it obvious that
      it isn't used outside the expansion.
    - Remove the zeroing status/temp register.
    - Keep the live-in list improvements from r304267

    Fixes http://llvm.org/PR34056 (detail)
    by matze
  61. LangRef: Fix/improve cmpxchg wording (detail)
    by matze

Started by timer (18 times)

This run spent:

  • 17 hr waiting;
  • 1 hr 32 min build duration;
  • 19 hr total from scheduled to completion.
Test Result (no failures)